超簡單介紹
Java 是一個以安定嚴謹為目標的的物件導向靜態型別程式語言。因為語法的相似度,所以常常被拿來與 C++ 做比較。在初期,常常被詬病的是它的效能:由於 Java 寫成的程式成品必須在 Java 虛擬機器(JVM, Java Virtual Machine)上面執行,而初期的 JVM 設計並不如現在的好。所幸此問題現在已經獲得了不小的改善。現在,比較新的 JVM 裡面會包含 JIT 編譯功能(即時編譯, just-in-time compilation),以及非常強大的垃圾回收模組 (garbage collector, GC)開發工具
開發 Java 軟體的人,絕大多數都會使用整合開發環境。目前比較知名的整合開發環境有:- NetBeans IDE
- Ellicpse
- IntelliJ IDEA
若講到建置 Java 程式的工具,除了整合開發環境可能內建的以外,還有如下三者:
- Ant
- Maven
- Gradle
學習資源
Java 因其歷史悠久,學習資源不勝枚舉在學習 Java 時,要注意 Java 6 ~ 8 之間的語法以及標準程式庫之間有些的差異。
相關程式庫
不要忘了也去 https://github.com/akullpp/awesome-java 找找看!- 基礎
- Vavr
Functional programming library for Java8+ - 框架
- Vert.x
提供事件驅動,non-blocking 程式設計模型的框架。附帶可以用來設計網路程式的客戶端以及伺服器端。 - 網路程式設計
- Apache HTTP client
提供撰寫 HTTP(s) 客戶端所需要的工具 - Apache net
提供許多通訊協定的處理功能 - 檔案格式
- Apache compress
提供諸多壓縮格式的處理功能 - 單元測試
- JUnit
自成標準的單元測試程式庫 - AssertJ
Fluent assertion library - 紀錄 (Logging)
- slf4j
整合並抽象化了多種 logging 方式的程式庫