官术网_书友最值得收藏!

第1章 導論

這是一本關于Java性能調優科學和藝術的書。

說性能調優是門科學,這并不令人意外;性能調優涉及大量數字、檢測和分析工作。性能調優工程師大多具有科學背景,只有基于嚴謹的科學理論才能將性能發揮到極致。

那它的藝術性呢?其實性能調優是科學與藝術的結合體這一說法并不新鮮,但我們探討性能時卻很少能清楚地意識到這一點。從某種程度上說,這可能是因為我們所受的教育訓練并不容易產生“藝術”的思想火花。

說它是藝術的部分原因是,對一些人來說,藝術從根本上就是建立在知識和經驗的基礎上的。據說,足夠先進的技術與魔術無異,例如對于圓桌騎士而言,使用手機毫無疑問就是一種魔法。與此類似,優秀性能調優工程師的工作就像是藝術,而這藝術正是源于深厚的知識、豐富的經驗和敏銳的直覺。

本書的側重點不在于三者中的經驗和直覺,而是在拓展知識的深度。日積月累,這些知識將有助于提升你的技能,有助于你成為一名優秀的Java性能調優工程師。本書還有助于你深入理解Java平臺性能的各個方面。

本書涉及的知識主要分兩大類。首先是如何對Java虛擬機(Java Virtual Machine, JVM)自身的性能進行調優,即如何通過JVM的配置來影響程序的各種性能指標。JVM性能調優的過程實際上與C++程序員在編譯時通過測試選擇編譯參數,以及PHP碼農在php.ini文件中選擇適當變量等過程非常類似,但對于那些即便有其他語言經驗的Java開發者來說,調優過程仍然不那么令人愉快。

其次是理解Java平臺的特性對性能的影響。注意,此處的平臺既指Java語言(例如線程和同步),也指Java標準API(例如XML解析性能)。雖然Java語言和Java API完全不是一回事,但本書并不作嚴格區分,這兩方面的內容都會涵蓋。

JVM自身的性能很大程度上取決于調優標志,而Java平臺的性能則更多由在應用代碼中采用最佳實踐決定。在一個開發團隊中,開發人員編寫代碼,性能組負責性能測試。編碼和調優常常被認為是兩個不同的專業領域:性能調優工程師只是竭力將JVM的性能發揮到極致,而開發人員只關心他們的代碼邏輯是否正確。這種區分沒有什么意義。任何從事Java相關工作的人都應該熟諳代碼在JVM中的行為,以及如何調優才能提升性能。對專業知識的全面掌握能讓你的工作更具藝術氣息。

主站蜘蛛池模板: 中阳县| 西昌市| 霍州市| 衡南县| 潼南县| 绥阳县| 望江县| 嘉兴市| 安泽县| 永寿县| 绥中县| 固原市| 手游| 深圳市| 响水县| 馆陶县| 左贡县| 上虞市| 永善县| 成安县| 淮南市| 元江| 东兰县| 米脂县| 开原市| 板桥市| 伊宁县| 阳曲县| 湖口县| 余庆县| 伊宁市| 凤山市| 财经| 五家渠市| 夏河县| 留坝县| 会宁县| 平乡县| 安西县| 什邡市| 昌宁县|