免費學習編程語言:面向Java開發人員的GitHub使用指南
譯文【51CTO.com快譯】如果你想學習一種吃香的編程語言,那么Java是多年來很穩當的選擇。
作為企業界和Web界的一種主力編程語言,Java可能在未來很長一段時間內仍然備受雇主們的歡迎。
雖然最近Java可能在移動端受到重創,谷歌宣布為安卓開發人員開發工具和編寫指南時優先考慮Kotlin而不是Java,Java仍然廣泛用于安卓開發。
如此看來,Java仍被TIOBE索引評為最受歡迎的編程語言,是最受雇主追捧的編程語言之一,可能也就不足為奇了。
Java方面的變化速度也從未這么快,這種語言的新版本現在每六個月發布一次,許多值得關注的變化也即將推出,比如改進該語言處理并發性的方式、優化經常調用的代碼。
有很多免費的指南用于學習Java,但如果你在尋找一個起點,沒有比GitHub更適合的了,GitHub有大批的教程、入門和代碼示例。
以下是GitHub上排名最高的10個英文代碼存儲庫,旨在幫助那些學習Java的人。
1. Java設計模式
基于多年的優秀實踐,設計模式提供了如何為常見軟件開發任務構建代碼的模板。
該存儲庫提供了表明如何用Java實現眾多軟件設計模式的圖表,其中模式分為初級、中級和專家級等難度。
注意,作者建議在深入研究設計模式之前,閱讀KISS(力求簡單)和YAGNI(你不會需要它)等軟件設計原則。
鏈接:https://github.com/iluwatar/java-design-patterns
2. 面試指南
這個常見技術主題的概述被稱為“你完成任務需要知道的大全”,已累計收到了36000多顆GitHub星。
該存儲庫圖文并茂,解釋了典型的數據結構和算法等,還附有指向實用書籍和教程視頻的鏈接。盡管它被標記為與Java有關,但其解釋對于任何了解計算機科學的人來說都有用。
鏈接:https://github.com/kdn251/interviews
3. 算法
用Java實現常見的排序、合并及其他算法,以及一個段落的解釋、圖表以及演示實際使用的算法。
鏈接:https://github.com/TheAlgorithms/Java
4. 安卓干凈架構
對于那些在使用Java構建安卓應用程序方面尋求指導的人來說,這提供了一個使用干凈代碼方法構建的示例應用程序,該方法受到備受尊崇的編程大師Robert C. Martin的支持,Martin被人稱為“鮑勃大叔”。
該存儲庫有一個鏈接指向附帶的演練,更詳細地介紹了采用的方法以及顯示應用程序實際運行的視頻。
鏈接:https://github.com/android10/Android-CleanArchitecture
5. Java 8指南
Java 8可能不再是該語言的最新版本,但由于許多開發人員和組織仍在使用它,因此介紹基本內容的該指南應該很有用。
鏈接:https://github.com/winterbe/java8-tutorial
6. 更好的Java
這個自成一體的列表列出了作者認為最有用的那些庫、實踐和工具。
鏈接:https://github.com/cxxr/better-java
7. 安卓提示和技巧
這份速查表為使用Java構建安卓應用程序的開發人員列出了一系列建議,借鑒了同行們的多年經驗。
鏈接:https://github.com/nisrulz/android-tips-tricks
8. 出色的測試自動化
對于那些對測試自動化感興趣的人,這個列表匯總了框架、工具、庫和軟件,它們都派得上用場。
鏈接:https://github.com/atinfo/awesome-test-automation
9. 算法和數據結構
概述了如何用Java來實現常見的算法和數據結構,并附有如何回答面試問題的示例。
鏈接:https://github.com/sherxon/AlgoDS
10. Leetcode答案
Leetcode為開發人員提供了一個平臺,用于磨練他們的技能,并為面試中的編程測試做準備。這份全面的列表收集了解答使用Java方面的許多不同Leetcode難題的答案。
鏈接:https://github.com/gouthampradhan/leetcode
原文標題:Learning programming languages for free: GitHub's best guides for Java developers,作者:Nick Heath
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】