原创 Java線程實現原理

要了解Java線程的實現,首先需要了解下操作系統的線程模型。隨着操作系統的發展,操作系統的調度由原來的進程轉移到了線程,而進程則越來越成爲了一個資源的集合,自保護了程序所需要的網絡端口,磁盤文件句柄等;線程在作爲程序執行和調度的最小單位,

原创 高級Java工程師面試資料收集

【Java面試必備】最近5年133個Java面試問題列表 https://www.nowcoder.com/discuss/21112 面試 https://www.interviewzen.com leetcode https:/

原创 git reset的三種模式

新學git,對git的reset操作總是怕狼怕虎的,這樣是不對的,對於任何新鮮事物都要大膽去嘗試。看幾篇博客,看幾頁圖書然後死記概念,永遠也不能完全理解其中的道理。廢話不多說,直接上貨。 先看實例 mkdir git-reset cd g

原创 mac中配置ice3.3.1環境

主要是配置Ice3.3.1環境,最新的3.5.1支持dmg安裝方式,比較容易 1.下載針對mac的安裝包:     https://www.zeroc.com/download_3_3_1.html 2.解壓到一個目錄 tar -xvf

原创 Java實現各種類型的單例模式

單例算是最簡單的設計模式了,用途自不用多說,但是寫好單例也是比較考驗一個程序猿功底的,這就是爲什麼很多面試官樂於讓面試者寫一寫單例的原因,正所謂簡約而不簡單。廢話不多說,下面就用java來實現各種各樣的單例吧。 1.餓漢模式 publi

原创 vim自動格式化代碼

1.在vim中可以用‘=’來格式化代碼具體操作如下: == 格式化當前行 gg=G 格式化整個文檔 #= 格式當前行及接下來的#行代碼,例如“2=” 格式化當前行及接下來的2行 2.用vim格式化的時候可能會遇到縮進太大的問題, 可以通

原创 Mysql 事務ACID特性及事務隔離級別

Mysql 事務ACID特性及事務隔離級別 From High Performance Mysql ACID 特性 原子性 Atomicity 一個事務必須視爲一個不可分割的最小工作單元,整個事務中的所有操作要麼全部提交成功,要麼全部

原创 git diff 四種比較方式

工作場景 在用git進行版本控制的時候,通常會有這樣的需求: 1.我想知道我的工作目錄中都發生了那些變化,以輔助我的commit操作。 2.當要真正進行提交時,我需要清楚將要提交的內容和版本庫的內容有哪些不同,這樣的提交是正確的嗎。

原创 vim高效操作摘錄

1. 來自IBM的一篇文檔:https://www.ibm.com/developerworks/cn/linux/l-cn-tip-vim/ 掌握並熟練這些基本命令是使用 Vi/Vim 的基本要求。只有這樣,才能在實際使用過程中做到

原创 1 2 5組合100,有多少種方法

問題描述:用隨意多個1 2 5三個數字的組合,使其值爲100,有多少種組合方法? 基礎解法:窮舉法,1窮舉100次,2窮舉50次,5窮舉20次,這種方法總共窮舉的次數爲100*50*20=100 000,性能太差,但是爲了以後描述問題,先

原创 在cygwin中安裝軟件

對於cygwin初學者來說,在cygwin中安裝軟件是一個重要的需求,對於這種需求,有一種比較簡單的方式可以實現,就是利用cygwin的安裝文件setup.ext。如果安裝cygwin之後突然想起還有軟件沒有安裝,就可以重新運行安裝文件s

原创 利用svn檢出hadoop源文件

由於hadoop項目非常的複雜,版本也較多,因此在學習hadoop源碼的時候可能會遇到困難,尤其是如何得到hadoop源碼,我們利用svn來獲取hadoop源碼。 首先記住hadoop源碼的svn檢出地址:http://svn.apach

原创 爲vim增加目錄瀏覽插件

NERDTree 是vim的目錄瀏覽插件,使用該插件,可以在vim窗口的一側瀏覽目錄,使用hjkl瀏覽目錄,用Enter鍵打開或關閉目錄,打開文件。下面來講述安裝方法。 使用該網頁進入NERDTree的github主頁:https://g

原创 修改JAVA_HOME無效,java版本保持不變的問題解決

問題現象:   在現公司,遇到一個問題,就是配置JAVA_HOME無效,不管怎麼改,運行java -version始終是最初的那個java版本。直接在PATH環境變量裏追加寫死的java路徑也沒用。     解決過程:  

原创 cygwin中文亂碼問題的解決

在cygwin界面上邊欄右鍵,選擇options 在右邊選擇text 在下面的Locale中選擇zh_CN,Character set 選擇GBK OK問題解決