在書店的角落發現一本剛出版(2012/1月)的「直達Java虚擬機器-JVM進階與應用」,難得有進階的 Java 中文書,作者還是華人(很可惜不是台灣人),手癢就帶了一本回家。
這本書是譯自簡體版「深入理解Java虚拟机:JVM高级特性与最佳实践」,對於需要調校 Java EE 系統效能的開發者,算是一本實用的參考書。有些內容像是自己編譯 Open JDK 也許用不上,但是在更深入認識 JVM 與透過工具監視、調校 Java 程式的部份,應該可以幫助讀者節省不少研究的時間。
讀到第五章「調校優化案例分析與實戰」,作者蠻有趣地用了 Eclipse 的啟動時間最佳化當範例,剛好我最近手邊的專案開始用 Gradle + Eclipse 開發,又開始面臨肥大 Eclipse 效能不彰問題;記得每一次筆電砸重金升級記憶體,都是為了讓 Eclipse 跑快點。
書中作者詳細說明從一開始啟動 Eclipse 需要15秒,接著一步步分析、調整設定,改善到只需要7秒的時間。而其中最關鍵的就是記憶體與垃圾回收(GC,Garbage Collection)配置;GC 相當耗時,但是在記憶體充足的情況下, 根本用不到那麼多次 GC 動作。如何分析哪些動作消耗多少時間,是這一章主要在講的內容。
這本書的範例程式及設定無法從網路取得,要自己打字挺麻煩,因此我將參考書本最終範例修改的 eclipse.ini 提供給大家參考。
https://gist.github.com/1868507
(和書本範例有些差異,可自行依照不同電腦給予最佳化配置)
訂閱:
張貼留言 (Atom)
-
▼
2012
(181)
-
▼
2月
(15)
- DocPad - static web sites generator using Node.js
- 便宜容易上手的迷你遙控直升機
- Node.js on Windows 建議安裝 Cygwin 以相容 unix-like 開發環境
- Eclipse 3.7.2 + Android SDK 4.0.x 開發環境設定小筆記
- 使用 Groovy 的 MarkupBuilder 輸出 XML/HTML/XHTML 原始碼
- 選購嬰兒推車心得筆記 Aprica Karoon 629
- 直達 Java 虛擬機器之 Eclipse 調校優化篇
- 淺談私有 CDN(內容傳遞網路)佈署
- 解決 Gradle Fat Jar 簽章(jarsigner)的問題
- 使用 Gradle 開啟 Jetty 的 AJP 協定 (Ajp13SocketConnector)
- 使用 CharacterEncodingFilter 解決 Java Web 的編碼問題
- mongoskin - a better MongoDB driver for Node.js
- 使用 Jekyll 與 GitHub Pages 架站
- PragPub 適合軟體開發者的免費電子雜誌
- DIY 茂谷柑果汁模型
-
▼
2月
(15)
"對Java程式師來說,Java虛擬機器是既熟悉又神秘,很難抑制自己探究它的衝動。"
回覆刪除但開發專案已夠累人了....
lyhcode 多分享就好了
用我本機測試從原本的62秒變成13秒,真的好快。
回覆刪除做法:
1-eclipse.ini 的內容可以直接複製lyhcode 的範例貼上
2-startup/launcher.library保留來原本的設定
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
希望大家可以多藉由參與技術研究分享補充熱血 : )
回覆刪除記憶體上16G、硬碟上SSD...還可以更快 : )
回覆刪除