原创 大話性能優化

2011年1月,新加坡飛往杭州的航班。飛行持續時間很長,大約6個小時,坐在四周的人很快熟悉了,互相攀談起來。有一位小姑娘,十六七歲的模樣,長得很漂亮,默默地坐在座位上。熱心的阿姨和她攀談,問起她的情況,她帶着疲倦自我介紹起來,“我在新加坡

原创 邏輯思維能力觀察

其實這個考察內容可以包含在面試技巧裏。我一般會採用口述或者讓面試者對我描述的場景和需要做的事情進行快速的歸納總結,從他開始閱讀或者傾聽我的話開始計時,直到他用最簡潔的語句描述出事情的背景及我希望他做的事情。我們看下面這個例子:“我們今天想

原创 FIFO算法

FIFO(First in First out),即先進先出算法,比如在超市購物之後會提着我們滿滿的購物車來到收銀臺排在結賬隊伍的最後,眼睜睜地看着前面的客戶一個個離開,這就是一種先進先出機制,先排隊的客戶先行結賬離開。其實在操作系統的設

原创 JVM之虛擬機棧

虛擬機棧是一種可以被用來快速訪問的存儲區域,該區域位於通用RAM[1]裏面,通過使用它的所謂的“棧指針”可以讓我們訪問處理器。棧是一種快速有效的分配存儲方法,存取速度僅次於寄存器,堆棧指針若向下移動,則分配新的內存,若向上移動,則釋放那些

原创 技術面試技巧

我比較喜歡自己出面試題,不喜歡網上千篇一律的題目,當然公司出的筆試題我會認真批改,並將它作爲挑選面試者的依據。我們以Java程序員面試題爲例:1. 請使用兩種設計模式編寫代碼。(考察基礎編程能力)。2. 請描述面向對象的三個特性及使用場景

原创 JVM之本地棧

本地方法棧(Native Method Stacks)和Java虛擬機棧的功能很相似,Java虛擬機棧用於管理Java函數的調用,而本地方法棧用於管理本地方法的調用。本地方法並不是用Java實現的,而是使用C實現的。當某個線程調用一個本地

原创 第一個ZooKeeper客戶端程序

我們可以採用新建一個工程,然後導入ZooKeeper.3.4.7.jar包,接着編寫獨立的JAVA程序的方式來實現演示工作,如果採用這種方式,需要javac –cp命令編譯java文件,並使用java –cp命令運行編譯後的文件。這裏不採

原创 技術團隊領導者定位

前段時間看一個明星家庭獨自帶孩子的直播節目。一位知名女星的老公,在女星眼睛腫成燈泡一樣的時候,沒有任何照顧行動,反而在女星準備去看病的時候對她說:“你早點回來,我一個人搞不定!”,這是一個爸爸、一個老公應該說的話嗎?工作中做好工作,賺錢養

原创 論工程師的職業素養養成

7歲那年,當我合上《上下五千年》一套三冊書籍時,我對自己說,我想當個作家。這一晃27年了,等待了27年,我的第一本書《大話Java性能優化》即將面世了。我是多麼的忐忑、驚喜,就像第一次面對我的女兒“小頑子”,給她取這個小名,希望她頑強到底

原创 JVM之程序計數器

馮·諾伊曼計算機體系結構的主要內容之一就是“程序預存儲,計算機自動執行”,處理器要執行的程序(指令序列)都是以二進制代碼序列方式預存儲在計算機的存儲器中,處理器將這些代碼逐條地取到處理器中再譯碼、執行,以完成整個程序的執行。爲了保證程序能