√ 直麵學院教學與産業實踐的嚴重脫節,針砭缺乏係統性認識、技能點不足的工程師弱項,認真解答如何學習Java後端技術。
√ 結閤當前主流前沿技術,串聯實踐必不可少的高頻技能,幫助初學者遠離彎路,為專業人群查漏補缺,提高解決問題能力。
√ 隨翻隨用,常讀常新,一舉點亮Java技能樹,深層理解Java語言特性,拓展Java框架|生態,以及後端工程思想|全局觀念。
√ 強化實踐|重視産齣,麵嚮技術創造|産品輸齣|業務升級;持久記憶|內化技能,從學生|小工一路修煉,成長為骨乾|專傢。
本書可以看作一本Java工程師的入職指南,也可以看作一本串聯Java後端技能點的參考手冊。通過精心編排的內容,剛入門的Java工程師能夠體係化地學習相關開發技能,有經驗的Java工程師能夠查漏補缺,鞏固自己的相關開發技能,進一步完善自身的Java技術體係。
Java開發一直是當前互聯網領域*火熱的開發技能之一,Java工程師也一直是需求量非常大的開發職位。本書主要針對一名閤格的Java工程師的必備技能做瞭大綱性的總結和闡述。本書內容包括瞭工程化、常用開發框架、數據存儲、數據傳輸、Java編程高級知識、性能優化、安全技術等內容,基本涵蓋瞭Java工程師需要掌握的絕大部分技能點。
杭建,重度Java使用者,具有近10年的Java後端開發經驗,一直專注於Java EE、係統架構、大數據等後端技術。現任隨身雲(中華萬年曆)技術總監,負責公司的技術培訓、係統架構、研發管理等工作,帶領研發團隊完成瞭大數據平颱、推薦係統、廣告平颱、傳媒平颱等係統,以及分ORM、分布式調度、應用性能監測等基礎框架的開發,支撐起瞭中華萬年曆、微曆、牛嗶的對話等高達三億多用戶訪問量的應用。作者之前曾就職於網易杭州研究院從事基礎平颱、雲計算相關技術的開發工作,參與瞭易信公眾平颱、網易雲計算動態負載均衡等項目的研發。
紮實的基礎理論知識是內功底子,豐富的實踐經驗是招式。如本書作者所說,精妙的招式決定瞭你的武功下限,而深厚的內功底蘊會承載你所能企及的高度。那麼,在後端技術棧中,內功與招式之間如何關聯起來,本書作者以其多年的鑽研與實踐結閤心得,通過本書為你一一梳理。
——闕杭寜,網易雲信CTO
作者是一位技術人,有多年的Java技術積纍,是極少數真正熱愛技術的人。在隨身雲的架構師工作讓他有機會站在更高的層次進行係統架構相關工作,這些實踐經驗和平時感悟都沉澱在作者的著作和博客中,相信每位Java工程師都能從中獲取幫助。
——秦緒震,十露盤科技聯閤創始人,技術負責人
本書作者根據自身多年的Java後颱開發經驗,提綱挈領地總結瞭Java後颱開發的各個關鍵技術點,這些知識點都是一名閤格的Java工程師必須掌握的技能。它既可以作為新人的技術學習指南,也可以幫助老手對於自己的知識麵進行查漏補缺,是一本非常好的技術圖書。
——饒洵(蜚天),阿裏巴巴技術專傢
作為一名在後端摸爬多年的Java開發工程師,這本書讓我溫故而知新。書中介紹的Java相關知識技能樹,不僅涵蓋瞭我個人多年的Java開發技術知識點,也對我感到陌生的一些知識點進行瞭詳解,讓我突然有一種繼續學習的衝動。
一名Java開發工程師,不僅要對Java語言及其特性有深層次的理解,而且需要掌握與Java相關的框架、生態及後端開發知識。這本書正是總結瞭後端開發工程師需要掌握的技能,對於提高開發能力很有幫助。
這本書,對於具有一定Java基礎和後端開發知識的讀者來說,不僅具有仔細學習的價值,同時也是一本可以經常翻閱的工具書,對於Java開發工程師的成長和進階都有很好的指導作用。
一本好的技術書籍,不僅要仔細閱讀、學習理解,還需要進行實踐,從而加深知識點印象,形成*久的記憶和技能。希望各位讀者能夠通過學習和掌握書中的知識和技能,逐步成長為技術骨乾和專傢,從而創造更多的技術輸齣、産品輸齣,創造更多的財富。
——張小川,網易考拉海購架構師,供應鏈技術主管
第1章 後端技術導言
1.1 後端基礎設施
1.1.1 請求統一入口——API網關
1.1.2 業務應用和後端基礎框架
1.1.3 緩存、數據庫、搜索引擎、消息隊列
1.1.4 文件存儲
1.1.5 統一認證中心
1.1.6 單點登錄係統
1.1.7 統一配置中心
1.1.8 服務治理框架
1.1.9 統一調度中心
1.1.10 統一日誌服務
1.1.11 數據基礎設施
1.1.12 故障監控
1.2 Java後端技術概覽
1.2.1 軟件開發的核心原則
1.2.2 軟件開發的軟件過程
1.2.3 日常開發常用工具
1.2.4 應用的運行環境
1.2.5 常用第三方服務
1.2.6 計算機基礎科學知識
1.2.7 數據處理相關技能
1.2.8 Java編程知識
1.2.9 係統架構演化
1.2.10 典型的部署架構
1.3 如何學習後端技術
1.3.1 紮實的計算機基礎知識
1.3.2 知其然更要知其所以然
1.3.3 動手實踐
1.3.4 頻繁練習
1.3.5 持續學習
1.3.6 自我總結
1.3.7 如何學習一門新技術
1.3.8 總結
第2章 Java項目與工程化
2.1 項目構建
2.1.1 傳統構建工具——Ant
2.1.2 主流構建工具——Maven
2.1.3 新興構建工具——Gradle
2.2 代碼版本控製
2.2.1 集中式代碼版本管理——SVN
2.2.2 分布式代碼版本管理——Git
2.2.3 提交日誌的規範
2.3 代碼質量保證
2.3.1 使用單元測試保證代碼質量
2.3.2 衡量單元測試的標準
2.3.3 開發規範與建議
第3章 開發框架
3.1 依賴注入
3.1.1 JSR-330依賴注入規範
3.1.2 Guice
3.1.3 PicoContainer
3.1.4 Dagger
3.1.5 SpringFramework
3.1.6 循環依賴問題
3.2 對象關係映射
3.2.1 錶元數據的映射
3.2.2 CRUD以及屬性的查詢
3.2.3 查詢緩存的使用
3.2.4 結果的映射
3.2.5 規範SQL書寫的語句構建器
3.2.6 使用提示
3.3 日誌
3.3.1 JDKLogging
3.3.2 Log4j
3.3.3 Log4j2
3.3.4 Logback
3.3.5 統一日誌API的門麵框架
3.3.6 統一日誌框架的使用
3.4 WebMVC
3.4.1 為什麼是SpringMVC
3.4.2 SpringMVC的請求處理流程
3.4.3 典型的配置方式
3.4.4 無XML的配置方式
3.4.5 對MVC應用做單元測試
3.4.6 驗證Web請求的參數
3.4.7 使用異步Servlet
3.4.8 使用提示
第4章 Spring
4.1 Spring核心組件
4.1.1 Spring的雙親上下文機製
4.1.2 Spring中的事件機製
4.1.3 Bean的初始化和銷毀
4.1.4 Bean的動態構造
4.1.5 注入集閤、枚舉、類的靜態字段
4.1.6 麵嚮方麵編程——AOP
4.1.7 進階XML的配置
4.1.8 無XML的配置方式
4.2 Spring數據操作框架
4.2.1 SpringJDBC
4.2.2 SpringDataRedis
4.2.3 SpringDataMongoDB
4.3 SpringBoot
4.3.1 SpringBoot使用示例
4.3.2 SpringBoot的運行原理
4.3.3 SpringBoot的組成模塊
4.3.4 小結
4.4 Spring常用組件
4.4.1 錶達式引擎——SpringExpressionLanguage
4.4.2 遠程過程訪問的支持——SpringRemoting
4.4.3 Spring與JMX的集成
4.4.4 定時任務的支持——SpringQuartz
4.4.5 跨域請求的支持——SpringCORS
4.5 總結
第5章 數據存儲
5.1 關係型數據庫——MySQL
5.1.1 存儲引擎
5.1.2 字符集和校對規則
5.1.3 索引的使用
5.1.4 查詢緩存的使用
5.1.5 數據同步中的Binlog
5.1.6 事務機製
5.1.7 大錶優化
5.1.8 高可用支持
5.1.9 使用提示
5.2 非關係型數據庫
5.2.1 KV數據庫
5.2.2 文檔數據庫——MongoDB
5.2.3 列數據庫——HBase
5.3 緩存
5.3.1 本地緩存
5.3.2 分布式緩存——Redis
5.3.3 緩存設計的典型方案
5.4 搜索引擎——Elasticsearch
5.4.1 開源全文檢索庫——ApacheLucene
5.4.2 關鍵概念
5.4.3 查詢的優化
5.4.4 內存的使用優化
5.4.5 開源日誌管理方案——ELK
第6章 數據通信
6.1 RESTful架構風格
6.1.1 支持的操作
6.1.2 返迴碼
6.1.3 資源概念
6.1.4 數據的安全保障
6.1.5 請求的限流
6.1.6 超文本API
6.1.7 編寫文檔
6.1.8 RESTfulAPI實現
6.2 遠程過程調用——RPC
6.2.1 JDK自帶的RPC——RMI
6.2.2 Hessian
6.2.3 Thrift
6.2.4 Dubbo
6.2.5 數據的序列化機製
6.2.6 使用提示
6.3 消息中間件
6.3.1 簡單消息中間件——ActiveMQ
6.3.2 通用消息中間件——RabbitMQ
6.3.3 日誌消息中間件——Kafka
6.3.4 本地消息隊列
第7章 Java編程進階
7.1 Java內存管理
7.1.1 JVM虛擬機內存
7.1.2 垃圾迴收理論
7.1.3 常用垃圾迴收器
7.2 Java網絡編程
7.2.1 常見網絡I/O模型
7.2.2 Java網絡編程模型
7.3 Java並發編程
7.3.1 並發原理
7.3.2 並發思路
7.3.3 並發工具
7.3.4 並發編程建議
7.4 Java開發利器
7.4.1 Apache工具庫——ApacheCommons
7.4.2 Google工具庫——Guava
7.4.3 最好用的時間庫——JodaTime
7.4.4 高效JSON處理庫——FastJson
7.4.5 高效Bean映射框架——Orika
7.5 Java新版本的特性
7.5.1 Java7
7.5.2 Java8
7.5.3 Java9
7.6 總結
第8章 性能調優
8.1 調優準備
8.1.1 HotSpot虛擬機體係結構
8.1.2 操作係統的性能調優
8.1.3 係統常用診斷工具
8.1.4 JDK常用診斷工具
8.2 性能分析
8.2.1 CPU分析
8.2.2 內存分析
8.2.3 I/O分析
8.2.4 其他分析工具
8.3 性能調優
8.3.1 CPU調優
8.3.2 內存調優
8.3.3 I/O調優
8.3.4 其他優化建議
8.3.5 JVM參數配置
8.3.6 JVM性能增強
第9章 安全技術
9.1 Java加密
9.1.1 單嚮加密算法
9.1.2 對稱加密算法
9.1.3 非對稱加密算法
9.2 安全HTTP——HTTPS
9.2.1 安全協議——SSL/TLS
9.2.2 證書中心——CA
9.2.3 請求交互過程
9.2.4 性能優化
9.3 Web安全
9.3.1 跨站點腳本攻擊
9.3.2 跨站點請求僞造
9.3.3 SQL注入攻擊
9.3.4 基於約束條件的SQL攻擊
9.3.5 分布式拒絕服務攻擊——DDOS
9.3.6 會話固定攻擊——Sessionfixation
附錄A 代碼構建常用命令
附錄B Git常用命令
附錄C MySQL常用命令
附錄D MongoDB常用命令
附錄E Java調優常用命令
推薦序一
Hey!新來的讀者,為瞭吸引你的注意力我真是煞費苦心,但最終還是沒能寫齣一句特彆吸引眼球的話來,畢竟寫序的我不是標題黨齣身。此刻我真的非常能理解你拿到新書之後那渴望知識的心情,所以你恨不得一個字的“序”也不要看到,直接到達“最有價值”的知識點。但作為一名資深轉業碼農(對!你沒看錯,是“轉業”,不是“專業”)還是想說一句,你先看完序,5分鍾後到達知識的戰場,會更穩!
相信你已經在看“序”瞭,那麼我們來說點正經事。
你的知識體係的養成有3個關鍵階段:看山是山,看山不是山,看山還是山。本書的適用人群是“看山不是山”的那些人,如果你恰好處於這個階段,恭喜你!書錢沒白花。
Java是一門非常容易入門的語言,初學者經過初期的學習之後基本能掌握DEMO級彆的編程應用。相信讀者你已經度過瞭這個階段,但是Java龐大的體係可能會把你繞暈,又或者你還沒看到Java的生態係統有多麼復雜。此時,你需要本書。從事程序員這個工作,到比較高階的時候,其實是不挑語言的,語言隻是工具,而你可以在紛繁復雜中遊刃有餘。但幾乎每一位高手都是先深入一個領域,再橫嚮發展的。你可以不用著急後續的橫嚮發展,先堅定自己學習Java的信心!因為,從廣泛的應用場景、頂級的開源生態、未來可期的薪水和職位來說,Java都是非常不錯的選擇。
敲黑闆,畫重點!下麵來解釋一下,為什麼本書麵嚮的是“看山不是山”的人群。在度過Java的入門期之後,會有一個煩惱,那就是麵對Java這麼龐大的體係,我們究竟應該學習什麼?選擇方嚮,往往比努力更重要!是使用J2SE編寫桌麵程序?是使用J2ME編寫嵌入式應用?還是使用J2EE編寫企業級應用?這些是我們那個泛黃的年代特有的煩惱。而現在的煩惱可能是學Android?還是學Java後端?即便大方嚮你已經十分堅定,而且選擇瞭Java後端編程,但因為復雜的知識體係和Google發布的各種教程文檔,眼前看到的已經不再是清晰的山脈,而是一片迷霧。此時,你需要本書,因為它給你指明瞭努力的方嚮。
本書的結構、闡述的方式和大部分的“指南”書籍有較大的區彆,本書是以筆記和要點的形式進行呈現的,用現在的話說就是撈乾貨。本書涵蓋的知識,是以現代工程實踐中的實際案例齣發來組織的,所以知識點範圍非常廣泛,每一個點都對最關鍵的“Best Practice”簡明扼要地進行瞭說明。你在閱讀本書的時候需要一些相關經驗,不然無法跟上作者的節奏,建議在有一定的知識準備後再閱讀本書,這樣你會受益匪淺。從另外一個角度看,在你有瞭一定的基礎積纍之後,本書可以幫助你全麵地瞭解一個現代化的最先進的工程實踐是怎樣的。本書講述瞭目前行業中最常用的,經過瞭實踐的工程方案,這將是你快速進階的最佳指引。
——孫建,隨身雲(中華萬年曆)聯閤創始人& CEO
推薦序二
2013年,我和本書作者的接觸是從基於網易的一個大型互聯網應用閤作開始的,我見證瞭從第一行代碼到整個係統服務於億級用戶的過程,並且相信這種經曆對開發者來說是一筆巨大的財富,其中大量的開發和實戰經驗都會在本書中得到充分的體現,相信讀者能從書中直接領略到豐富的實戰知識。在與本書作者的閤作過程中,其對Java技術的熱愛與追求,對問題刨根問底,直到理解透徹、靈活應用,這些都令我印象深刻。這些年,我與本書作者一直保持溝通交流、相互學習,他將近十年的實戰經驗沉澱於本書以實現對後端技術的探索、布道,非常值得開發者與近高窗臥聽鞦。
後端技術涉及內容非常廣泛,Java語言也是互聯網開發行業使用的主流語言,相信後續也將繼續流行很長一段時間,而本書作者也一直從事Java後端開發工作。在本書中作者比較係統地從總體上描述瞭後端技術相關的理論知識,包括基礎設施、網關服務及框架選型等基本原則,然後以實際經驗進行示例說明,接著詳細梳理瞭Java的後端技術,相信讀者讀完本書後會更全麵地理解後端技術。互聯網的業務建設需要不同角色的開發者共同協作完成,因此,係統工程化是開發者首先要共同遵守的規範或約定,包括代碼規範、版本管理和代碼質量檢查等。
開發框架的選型進一步地為工程化提供瞭基礎,也能加速推進互聯網開發,盡管是否重復造輪子是一個恒久的話題,但是沒有永遠的銀彈,隻要在閤適的時間裏根據團隊的能力選擇閤適的技術框架就好。一般來講,目前常用的框架包括基本的依賴注入、AOP、事務管理、連接池管理、數據操作、日誌服務等,在眾多的框架中,本書作者選用目前在Java領域使用最廣泛的Spring做深入的分析,詳細地說明各組件的基礎知識、基本原理和實際使用案例,最難得的是把較多開發者遇到的坑都用真實的示例進行瞭說明,可以幫助開發者快速地跳過這些傷心地帶,同時也把最佳實踐畫龍點睛地帶給開發者。
數據存儲無疑是所有係統應用中非常重要的一環,應用的場景用例也和數據庫的選型有著極其重要的關係,開發者選擇關係型數據庫還是非關係型數據庫是需要根據軟件成本與人力成本來進行權衡的,比如選擇MySQL、Oracle等開源或商業的數據庫。本書重點從數據庫的基礎知識、索引和錶優化等方麵以詳盡的示例為更好地選擇數據庫的存儲類型提供瞭更多的知識。
早期的關係型數據庫一般能滿足數據達到一定規模的企業的需求,而在互聯網業務領域,特彆是移動互聯網領域內的元數據或者日誌數據等,達到億數量級彆是很常見的,這時通常使用非關係型數據庫,在非關係型數據庫裏使用非常多的有MongoDB、HBase等分布式數據庫係統。作者在自身的企業開發實踐中,得到瞭大量的使用經驗和最佳實踐。為瞭加速後端應用,緩存熱數據是加速業務、提高業務性能、提升用戶體驗的重要手段,通過使用本地緩存、遠程緩存進行數據加速、數據預熱或提高數據的命中率,是開發者在應用開發的過程中常會遇到的場景。
“路漫漫其修遠兮,吾將上下而求索”,後端技術每年都在不斷發展,所用技術也有變化,近些年Java語言的發展速度不那麼快瞭,但是總體是在不斷前進發展的,本書作者帶領的團隊一直深耕此領域並希望通過本書為技術開發人員帶來更多幫助。
——堯飄海,網易雲基礎服務(蜂巢)首席架構師
前言
目前互聯網行業如火如荼,進入這個行業的技術人員也越來越多。對於研發來說,從工程角度其主要分為前端工程師、客戶端工程師(又分為iOS和Android工程師)、後端工程師、算法工程師等職位。本書所說的Java工程師指的是以Java作為主要開發語言的後端工程師。
筆者從2008年還未畢業時做一些小的項目至今,做後端開發已經有差不多10年時間。經曆過剛學Java時的迷茫,第一次寫齣Java程序時的激動,第一次寫齣一個Web係統的醍醐灌頂,一直到接觸Java更底層的東西,總的來說對Java有瞭係統性的認識,對後端技術體係有瞭宏觀的感受。這期間,筆者用過各種各樣的編程語言,嘗試過各種開源軟件,挖過各種坑,也填過各種坑。針對後端技術來說,筆者認為自己的這些知識體係,還是有一定價值的。
此外,還記得當筆者畢業後進入第一傢公司時,入職培訓的課程雖然不難,但確實有種恍然大悟的感覺。業界的最佳實踐和自己在學校裏學到的、使用到的知識,差彆還是非常大的。直到後來加入現在的這傢公司,給新老員工做過一係列後端技術的培訓課程,在校招的筆試和麵試過程中深刻體會到學校與業界脫節之嚴重,在平時的社招中遇到很多對後端技術缺乏係統性認識、技能點不足的工程師,並且也經常被人問起如何學習Java後端技術,於是就打算將目前後端工程師一些比較主流、前沿的技術以及實際工作中會用到的技能串聯起來,給剛上大學以後打算以Java後端為職業的學生、剛畢業入職的應屆生以及初學者們一些入門的指引,使其少走彎路。另外也希望給一些有經驗的工程師提供一個參考手冊,將零散的知識點串起來,減少在解決某些實際問題時無頭緒搜索帶來的時間成本,同時也是對自己的一個階段性總結和查漏補缺。需要注意的一點是,像數據結構、計算機網絡等計算機科學基礎知識以及Java SE的基本用法,筆者認為是從事程序開發工作的Java工程師應該必備的知識,因此並不包括在內。
本書會針對Java後端開發工作中經常用到的關鍵技能點做闡述,會盡量覆蓋實際工作中需要的所有技能。但由於很多技能並非一兩個章節就能完整講述,因此本書僅做一些實踐性的經驗總結和闡述,更加詳細和深入的學習則需要參考專門的書籍或者官方文檔。
本書的大部分內容都來自筆者的博客以及平時工作、學習中的一些自我總結和筆記,記錄瞭筆者進入這個行業以來的一些經驗教訓和思考。
麵嚮讀者
未入門或者剛入門的Java工程師
包括未來以Java後端開發為職業方嚮的在校學生、剛畢業入職的Java工程師以及未形成知識體係的Java工程師。這類讀者通過閱讀本書能夠對Java工程師的必備技能有一個全局認識,逐步形成自己的Java技術體係。
有經驗的Java工程師
有經驗的Java工程師可以通過本書查漏補缺,鞏固自己的開發技能,進一步完善自身的Java技術體係。
對Java後端開發感興趣的非Java工程師
非Java工程師可以通過本書瞭解Java工程師的技能體係,尤其對於其他語言的後端工程師來說,本書的很多內容也是通用的,並不局限於Java開發。
內容概覽
第1章 後端技術導言
本章主要從總體上描述後端技術的概念、組成、作用、需要的知識點,並給齣瞭學習後端技術的建議。
第2章 Java項目與工程化
本章主要講述Java項目與工程化需要掌握的軟件、技能等。
第3章 開發框架
本章主要講述Java後端開發中的一些主流框架的使用方法。
第4章 Spring
本章主要講述Spring核心、數據操作以及一些常用組件的使用。
第5章 數據存儲
本章主要講述Java應用中數據存儲上使用的一些軟件、服務等。
第6章 數據通信
本章主要講述Java應用中數據傳輸、通信上使用的一些軟件、服務等。
第7章 Java編程進階
本章主要介紹一些Java開發中的高級特性以及在Java開發中非常流行的類庫。
第8章 性能調優
本章主要講述如何對Java應用的性能進行分析和調優,並給齣瞭開發建議。
第9章 安全技術
本章主要對Java開發中常用的加密技術、HTTPS以及防範各種攻擊的方案做瞭闡述。
參考資料
在寫作本書的過程以及平時的工作中,筆者閱讀、參考過很多書籍,以下是其中具有代錶性的一些書籍。對於本書講述不夠深入的地方,可以參考這些書籍進一步學習。
《Effective Java(第2版)》:此書講解瞭Java的一些高級特性和技巧。
《Java並發編程實戰》:此書是並發編程經典書籍,涵蓋瞭並發編程的各種知識點以及相關理論知識。
《七周七並發模型》:此書講述瞭主流的7種並發編程模式。
《深入理解Java虛擬機:JVM高級特性與最佳實踐(第2版)》:此書講解瞭JVM的內存、GC、字節碼、編譯器等高級特性和優化實踐。
《高性能MySQL(第3版)》:此書講述瞭MySQL各種優化技巧,並結閤原理給予講解。
《Redis開發與運維》:此書在原理層麵對於Redis的使用、優化做瞭詳盡的描述。
《深入理解Elasticsearch(原書第2版)》:此書講述瞭對Elasticsearch的使用、原理和優化技巧。
《Java性能權威指南》:此書是Java性能調優的權威書籍,幾乎涵蓋瞭Java調優的方方麵麵。
《構建高性能Web站點(修訂版)》:此書從各種案例齣發,講解瞭高性能Web站點需要的各種優化技巧、實踐經驗等。
《白帽子講Web安全》:此書基本涵蓋瞭Web安全技術的方方麵麵,包括客戶端安全、服務器端安全等。
雖然以上書籍都是非常實用的參考資料,但就筆者自己來看,更為推崇的則是直接通過相關技術的官方文檔來學習,這樣既能夠鍛煉自己的英文閱讀能力,又能夠直麵相關技術的第一手文檔,避免瞭在看相關書籍時被一些偶然的紕漏所誤導。
此外,上麵的《Effective Java(第2版)》和《Java並發編程實戰》這兩本書都是基於Java的舊版本來寫作的,但是裏麵介紹的很多內容並不過時,尤其是JDK底層源碼、設計理論、優化思想等仍然適用於現在的Java開發。
勘誤和支持
在本書的寫作過程中,筆者一直是戰戰兢兢的,一直害怕寫成那種侃侃而談卻沒有實質內容的東西或者傳遞給讀者一些誤導信息,因此對於每一個知識點,都是在查閱官方文檔以及其他權威資料並經過自己深入思考之後纔敢落筆的。但由於筆者知識能力有限,難免有錯誤和疏漏,希望得到各位讀者的理解和指正。
如果在閱讀本書的過程中發現錯誤,請提交到網址https://github.com/superhj1987/pragmatic-java-engineer/issues或博文視點官網本書頁麵。
同時,請隨時注意勘誤信息的發布:https://github.com/superhj1987/pragmatic-java-engineer/wiki/Mistakes。
緻謝
由於工作以及個人身體等方麵的原因,中間數次延期,曆時一年多纔完成本書。因此首先要特彆感謝筆者的父母和妻子,在筆者寫作本書的過程中給予瞭非常大的後勤支持和鼓勵,讓筆者能夠專心地完成寫作。
同時要感謝中華萬年曆的同事們在平時的工作中給瞭筆者很多啓發和思路,感謝公司的設計總監張喜亮抽齣時間幫助修飾瞭一些圖片,尤其要感謝CEO孫建在本書寫作過程中給予筆者瞭充分的信任和支持。
還要感謝筆者的前同事,也是筆者剛畢業時的工作導師堯飄海,他在百忙之中審閱瞭本書並給本書寫序;也要感謝前同事張小川、闕杭寜和好友秦緒震、饒洵,他們抽齣瞭寶貴的業餘時間校對瞭本書並給齣瞭很有價值的建議。
最後,感謝電子工業齣版社永恒的俠少,他找到我齣版本書,並允許我一次次延期。也感謝付睿編輯的辛苦校對和修改,讓本書得以順利齣版。
也把本書獻給我剛齣生的女兒——依依。
聯係方式
郵箱:superhj1987@126.com
博客:http://rowkey.me
微博:http://weibo.com/superhj1987
内容非常不错,写的很全面,纸张也非常好。是正版,好评!
评分一直在京东买,不错的,送货速度很快,态度也好,东西也OK。分分钟收货的感觉
评分概述类书籍,可以读一读
评分哥古古怪怪古古怪怪嘎嘎嘎
评分希望能从中学到东西,学以致用
评分实现微服务必备 了解新技术为解决特地问题
评分回电话生生世世我还是时候生生世世说
评分概述类书籍,可以读一读
评分看内容介绍还不错,努力学习中
本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有