原创 Windows下LLVM環境配置

Windows下LLVM環境配置 目錄Windows下LLVM環境配置1. 命令行下載並構建VS 2017項目2. 項目構建過程中出現的細節3. 心得體會4. 參考文獻 1. 命令行下載並構建VS 2017項目 git clone

原创 讀書筆記——漫畫算法(2) 有環鏈表

漫畫算法:小灰的算法之旅,還算是一本挺有意思的書,值得一讀 有環鏈表是一個很有意思的問題,這裏討論了三個問題: 判斷一個鏈表有環 求環的長度 求環的入口點,這個是最有意思,並且有點難度的問題 由於CSDN的編輯器對代碼註釋的排

原创 讀書筆記——漫畫算法(9) A*尋路算法

A* 尋路算法的講解,這裏有介紹比較清晰的文章: A* Pathfinding for Beginners 首先引入兩個集合,一個公式: OpenList:可到達的格子 CloseList:已經走過的格子 F = G + H

原创 讀書筆記——漫畫算法(5) 判斷一個整數是否爲2的整數次冪

判斷一個整數是否爲2的整數次冪: 很容易想到的暴力破解方式,就是 從1開始乘2,不斷乘,如果恰好能夠等於這個要判斷的數,那麼就找到解,否則無解 /** * 暴力枚舉 * @param num * @return */ public

原创 讀書筆記——漫畫算法(3) 最小棧

現在我們要求實現一種特殊的棧結構:最小棧;它滿足如下要求: 1. 能夠在O(1)時間複雜度實現入棧/出棧操作 2. 能夠在O(1)時間複雜度取出棧中最小的元素 /** * 最小棧的實現,此數據結構的實現必須滿足: * 1.

原创 讀書筆記——漫畫算法(7) 異或運算

異或運算的基本性質: 0 ^ x == x x ^ x == 0 作爲一個因子,思考下列問題: 一個無序數組裏由99個不重複的正整數,範圍從1~100;唯獨缺少一個1~100中的整數,如何找到缺失的這個整數? 可以思考累加再相

原创 IDEA + maven打包程序成爲jar包

IDEA下打包程序成爲jar包

原创 System.getenv(String)獲取不到環境變量

如題,我在Windows上設置了環境變量,在Java中獲取,總是獲取不到。 解決方法:簡單粗暴 - 重啓。

原创 靜態語義分析構建

文章目錄靜態語義分析構建1. JDT(Java開發工具, Java development tools)1.1 JDT插件的組件內容1.2 參考文獻2. AST(抽象語法樹, Abstract Syntax Tree)2.1 Ec

原创 ConcurrentHashMap源碼解讀

說明 JDK版本jdk1.8.0_191 1 建議先理解HashMap的源碼,再來理解ConcurrentHashMap源碼 HashMap源碼解讀: HashMap源碼解讀 1. 核心數據結構 首先了解一下繼承體系: publi

原创 HashMap源碼解讀

說明 JDK版本jdk1.8.0_191 1. 核心數據結構 首先了解一下繼承體系: public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,

原创 LinkedHashMap

JDK版本jdk1.8.0_191 1 從繼承體系的角度,LinkedHashMap是HashMap的子類 public class LinkedHashMap<K,V> extends HashMap<K,V> implemen

原创 仿Hex-Editor,實現簡單地二進制文件查看器JHexer

0. 前言 當對Java語言的理解逐漸加深時,我們會有必要對.class文件有一定的瞭解,那麼就少不了查看二進制文件。互聯網上有很多的工具,能夠幫助我們有效地查看,分析.class文件字節碼。 那麼我們何不自己寫一個小工具來查看二

原创 複雜鏈表的複製

題目描述 輸入一個複雜鏈表(每個節點中有節點值,以及兩個指針,一個指向下一個節點,另一個特殊指針指向任意一個節點),返回結果爲複製後複雜鏈表的head。(注意,輸出結果中請不要返回參數中的節點引用,否則判題程序會直接返回空)

原创 二叉樹的序列化與反序列化

二叉樹 序列化,反序列化的意義 :簡單的來說,二叉樹這種數據結構一般我們都是將其抽象,且存儲在內存中的,但是爲了便於傳輸或者存儲在文件中,我們必須要去除其樹形結構的抽象特點,而轉化爲可在網絡中/文件中可以串行傳輸/存儲的字節碼(字