行為引起的問題很「簡單」,困難的是由狀態引起的問題 —Edson Yanaga
學習Java慣用寫法並且儲存在大腦的快取記憶體裡 —Jeanne Boyarsky
從JVM績效的觀點看Java程式設計 —Monica Beckwith
垃圾回收機制是你的好朋友 —Holly Cummins
Java之中難以說明的匿名型態 —Ben Evans
浴火重生的Java —Sander Mak
你知道現在幾點嗎? —Christin Gorman
如果你希望精進Java技術能力,這本教戰手冊提供了來自Java生態系統裡多位頂尖高手根據自身實務經驗淬鍊而出的專家建議。本書鼓勵你學習新技巧、以新方法審視問題、負起工作責任以及努力精通程式設計工藝,藉此精益求精。
《Java程式設計師應該知道的97件事》由資深程式人Kevlin Henney、Trisha Gee彙編,反映出程式人撰寫Java軟體以及他們與軟體開發流程共處時累積的人生經驗。本書邀請多位優秀程式設計師分享他們的集體智慧,不論你的工作是處理舊有系統或是在Java 8釋出之後,穩定整併資料流的變化,本書都期盼他們的智慧能幫助你思考、重新省思Java實務。
Java程式設計師應該知道的97件事:來自專家的集體智慧
內容描述
目錄大綱
前言
- 你只需要Java -- Anders Norås
- 認定測試 -- Emily Bache
- 利用AsciiDoc 強化Javadoc -- James Elliott
- 請特別注意容器周遭的環境 -- David Delabassee
- 行為引起的問題很「簡單」,困難的是由狀態引起的問題 -- Edson Yanaga
- 基準測試很難,但JMH 能幫助你完成 -- Michael Hunger
- 程式碼結構品質程式化與驗證的優點 -- Daniel Bryant
- 將問題和任務拆解成小的工作區塊 -- Jeanne Boyarsky
- 建立多元化的團隊 -- Ixchel Ruiz
- 編譯過程不需要漫長等待和不可靠性 -- Jenn Strater
- 「但是,它可以在我的機器上執行!」 -- Benjamin Muschko
- 反對過大的JAR 的檔案 -- Daniel Bryant
- 程式碼修復師 -- Abraham Marin-Perez
- Java 虛擬機器上的並行性 -- Mario Fusco
- CountDownLatch 物件是朋友還是敵人? -- Alexey Soshin
- 宣告式表達是通往平行計算的道路 -- Russel Winder
- 提高軟體交付的速度與品質 -- Burk Hufnagel
- 你知道現在幾點嗎?-- Christin Gorman
- 別讓整合開發環境掩蓋必備的開發工具 -- Gail Ollis
- 不要更改你的變數 -- Steve Freeman
- 擁抱SQL 思維 -- Dean Wampler
- 處理Java 元件之間的事件關係 -- A.Mahdy AbdelAziz
- 回饋循環 -- Liz Keogh
- 在所有引擎上燃起火焰 -- Michael Hunger
- 遵循乏味無趣的標準-- Adam Bien
- 提高發布的頻率可以降低風險-- Chris O’Dell
- 從解決難題到開發產品 --Jessica Kerr
- 「全端開發人員」是一種心態 -- Maciej Walkowiak
- 垃圾回收機制是你的好朋友 -- Holly Cummins
- 使用更好的命名規則 -- Peter Hilton
- 嘿,Fred。你能把HashMap 遞給我嗎? -- Kirk Pepperdine
- 避免使用null -- Carlos Obregón
- 如何擊潰Java 虛擬機器 -- Thomas Ronzon
- 利用持續交付提升部署流程的重複性與稽核性-- Billy Korando
- Java 為何能在程式語言戰爭中佔有一席之地-- Jennifer Reif
- 認識Java 的內聯概念 -- Patricia Aas
- Kotlin 與Java 之間的互通性-- Sebastiano Poggi
- 我完成了,可是⋯⋯ -- Jeanne Boyarsky
- Java 認證:技術試金石 -- Mala Gupta
- Java 是90 年代的孩子 -- Ben Evans
- 從JVM 效能的觀點看Java 程式設計 -- Monica Beckwith
- Java 應該讓每個人都覺得有趣- - Holly Cummins
- Java 之中難以說明的匿名型態 -- Ben Evans
- JVM 為多重典範平台:請利用這項特性提升你的程式設計技巧 -- Russel Winder
- 掌握脈動,跟緊潮流 -- Trisha Gee
- 註解的種類 -- Nicolai Parlog
- 認識flatMap 方法 -- Daniel Hinojosa
- 認識Java 集合框架 -- Nikhil Nanivadekar
- 請來試試時下最夯的Kotlin -- Mike Dunn
- 學習Java 慣用寫法並且儲存在大腦的快取記憶體裡 -- Jeanne Boyarsky
- 學習建立程式套路,教學相長 -- Donald Raab
- 請學著愛上傳統系統裡的程式碼 -- Uberto Barbini
- 學習使用Java 新特性 -- Gail C. Anderson
- 學習使用IDE 來減輕認知負荷 -- Trisha Gee
- 讓我們立下約定:Java API 的設計藝術 -- Mario Fusco
- 讓程式碼簡潔又好懂 -- Emily Jiang
- 讓你的Java 程式Groovy 化 -- Ken Kousen
- 建立最低限度的建構函式 -- Steve Freeman
- 請為時間函式作適當的命名 -- Kevlin Henney
- 產業級技術之必要性 -- Paul W. Homer
- 只要編譯有改變的部分,其餘不變的部分則重複利用 -- Jenn Strater
- 開放原始碼專案沒那麼神 -- Jenn Strater
- Monad 設計模式──Optional 雖然違反定律,卻是一個好用的型態 -- Nicolai Parlog
- 按照功能所設定的預設存取修飾字來封裝類別 -- Marco Beelen
- 生產環境是地球上最快樂的地方 -- Josh Long
- 寫出有效的單元測試程式 -- Kevlin Henney
- 建議你每日研讀OpenJDK 的原始碼 -- Heinz M. Kabutz
- 知其然,更要知其所以然 -- Rafael Benevides
- 浴火重生的Java -- Sander Mak
- 透過Clojure 語言重新認識JVM -- James Elliott
- 將布林值重構為列舉型態 -- Peter Hilton
- 重構有助於提高閱讀程式碼的速度 -- Benjamin Muskalla
- 簡化Value 物件 -- Steve Freeman
- 請細心呵護你的模組宣告 -- Nicolai Parlog
- 妥善管理相依性 -- Brian Vermeer
- 請認真推行「關注點分離」原則 -- Dave Farley
- 技術面試是一項值得培養的技能 -- Trisha Gee
- 測試驅動開發 -- Dave Farley
- JDK 在bin 目錄下提供了很棒的工具 -- Rod Hilton
- 多方學習不同於Java 的思維 -- Ian F. Darwin
- 談協同程序的運用思維 -- Dawn Griffiths、David Griffiths
- 請將執行緒視為基礎設施的一環 -- Russel Winder
- 真正優秀的開發人員會具備三項特質 -- Jannah Patchay
- 權衡微服務之利弊 -- Kenny Bastani
- 非受檢例外 -- Kevlin Henney
- 開啟容器化整合測試潛藏的力量 -- Kevin Wittek
- 模糊測試超乎常理地有效 -- Nat Pryce
- 利用覆蓋率改善單元測試 -- Emily Bache
- 廣泛利用自定義的@ID 註解型別 -- Mark Richards
- 利用測試提高交付軟體的品質與速度 -- Marit van Dijk
- 在測試程式碼中使用物件導向原則 -- Angie Jones
- 利用社群的力量來提升你的職涯 -- Sam Hepburn
- 何謂Java 社群參與流程計畫及其參與方式 -- Heather VanCura
- 為什麼我認為Java 認證沒有價值 -- Colin Vipurs
- 請以一句話表達註解內容 -- Peter Hilton
- 請寫出「淺顯易懂的程式碼」-- Dave Farley
- 新生代與古生代資料的垃圾回收機制 -- María Arias de Reyna
作者群
索引
作者介紹
作者簡介
Kevlin Henney
Kevlin Henney 同時身兼獨立顧問和訓練師,他的專長為設計模式、架構、程式設計技巧、程式語言以及開發流程與實務。
Trisha Gee
Trisha Gee 為Java Champion成員之一,她的工作經歷遍及多種產業,包含金融業、製造業、教育界和科技產業,而且熱衷於幫助開發人員提高生產力。