標籤:
Java語言與JVM中的Lambda運算式全解
Lambda運算式是自Java SE 5引入泛型以來最重大的Java語言新特性,本文是2012年度最後一期Java Magazine中的一篇文章,它介紹了Lamdba的設計初衷,應用情境與基本文法。
http://www.codeceo.com/article/java-jvm-lambda.html
最佳化JVM 縮短Eclipse的啟動時間
首先要聲明一下,這個案例在<深入理解JVM虛擬機器>這本書中也提到過. 這本書是我曾經學習JVM的第一本書.裡面關於Heap的最佳化思想,來源於此.建議大家想學JVM原理的,可以找來此書看看. 寫這篇文章,是因為最近在給一個社交網站伺服器做調優,突然覺得我機器上的eclipse跑的比較多,所以順便最佳化下eclipse.至於基於 WebSphere伺服器的效能調優,這回涉及到更多的工具和方法,會在以後的文章中看到.
http://www.codeceo.com/article/jvm-improve-eclipse-start-time.html
JVM 線程堆棧分析過程詳解
在這篇文章裡我將教會你如何分析JVM的線程堆棧以及如何從堆棧資訊中找出問題的根因。在我看來線程堆棧分析技術是Java EE產品支援工程師所必須掌握的一門技術。線上程堆棧中儲存的資訊,通常遠超出你的想象,我們可以在工作中善加利用這些資訊。
http://www.codeceo.com/article/jvm-thread-stack.html
淺析JVM記憶體結構和6大地區
其實對於我們一般理解的電腦記憶體,它算是CPU與電腦打交道最頻繁的地區,所有資料都是先經過硬碟至記憶體,然後由CPU再從記憶體中擷取資料進行處理,又將資料儲存到記憶體,通過分頁或分區技術將記憶體中的資料再flush至硬碟。那JVM的記憶體結構到底是如何呢?JVM做為一個運行在作業系統上,但又獨立於os啟動並執行平台,它的記憶體至少應該包括象寄存器、堆棧等地區。
http://www.codeceo.com/article/jvm-memory-6-areas.html
JVM並發機制探討—記憶體模型、記憶體可見度和指令重排序
並發本來就是個有意思的問題,尤其是現在又流行這麼一句話:“高帥富加機器,窮矮搓搞最佳化”。從這句話可以看到,無論是高帥富還是窮矮搓都需要深入理解並發編程,高帥富加多了機器,需要協調多台機器或者多個CPU對共用資源的訪問,因此需要瞭解並發,窮矮搓搞最佳化需要編寫各種多線程的代碼來壓榨 CPU的計算資源,讓它在同一時刻做更多的事情,這個更需要瞭解並發。
http://www.codeceo.com/article/jvm-memory-model-visual.html
如何通過編程發現Java死結
死結是指,兩個或多個動作一直在等待其他動作完成而使得所有動作都始終處在阻塞的狀態。想要在開發階段檢測到死結是非常困難的,而想要解除死結往往需要重新啟動程式。更糟的是,死結通常發生在負載最重的生產過程中,而想要在測試中發現它,十分不易。之所以這麼說,是因為測試線程之間所有可能的交叉是不現實的。儘管出現了一些靜態分析庫可以協助我們發現可能出現的死結,我們還是有必要在運行時檢測到死結,並且得到有用的資訊,以便我們解決這個問題或者重啟程式,或者做些其他的事情。
http://www.codeceo.com/article/java-dead-lock.html
JVM效能最佳化,提高Java的伸縮性
很多程式員在解決JVM效能問題的時候,花開了很多時間去調優應用程式層級的效能瓶頸,當你讀完這本系列文章之後你會發現我可能更加系統地看待這類的問題。我說過JVM的自身技術限制了Java企業級應用的伸縮性。首先我們先列舉一些主導因素。
http://www.codeceo.com/article/jvm-java-performance.html
每個Java程式員必須知道的5個JVM命令列標誌
本文是Neward & Associates的總裁Ted Neward為developerworks獨家撰稿“你不知道5個……”系列中的一篇,JVM是多數開發人員視為理所當然的Java功能和效能背後的重負荷機器。然而,我們很少有人能理解JVM是如何進行工作的—像任務分配和垃圾收集、轉動線程、開啟和關閉檔案、中斷和/或JIT編譯Java位元組碼,等等。
http://www.codeceo.com/article/5-jvm-command.html
最常用的 Eclipse 快速鍵總結
本文是一些最實用、最齊全、最省時間的 Eclipse 快速鍵總結,這些快速鍵可以讓協助你完成工作中的任何一個操作。歡迎參考。
http://www.codeceo.com/article/eclipse-shortcuts.html
Java 8中的default方法使用詳解
Java 8發布以後,可以給介面添加新方法,但是,介面仍然可以和它的實作類別保持相容。這非常重要,因為你開發的類庫可能正在被多個開發人員廣泛的使用著。而Java 8之前,在類庫中發布了一個介面以後,如果在介面中添加一個新方法,那些實現了這個介面的應用使用新版本的介面就會有崩潰的危險。
http://www.codeceo.com/article/java-8-default-method.html
待續....
Java 10大精華文章收集001