本文將分享我如何利用空閒時間學習Java程式語言的經驗。
以下是一些學習要點:
目錄
- 語言學習
- 個人項目
- 生態系
語言學習
首先,我要說明Java並非我的第一個程式語言,因此我的學習速度可能與你的有所不同,這取決於你的經驗。
目前,我透過參與Advent of Code挑戰來學習Java,這有助於我熟悉Java的通用語法、套件導入、檔案讀取、異常處理、資料類型等等。
這個方法讓我在學習過程中幾乎每天都有收穫。當然,我也會進行一些專案實踐來加深理解,讓我們來看看這部分內容。
個人項目
就個人專案而言,我目前正在建立一個類似Linux命令列的簡單CLI,我將其命名為junix。我正在重現的一些命令包括ls、mv和ifconfig。
遇到問題時,我會向ChatGPT尋求協助,但我盡量避免直接索取解決方案。我會先驗證自己的假設是否正確,並結合我在其他程式語言(如JavaScript)中的經驗來思考Java的實作方式。
例如,我不會直接問“我想用Java編寫一個ifconfig命令”,而是會問類似這樣的問題:“我想知道Java中是否存在一組類別可以實現類似於Linux ifconfig的功能(我不想使用外部包,只使用STL)」。
當然,在某些情況下,ChatGPT會直接提供程式碼,但我不會直接複製貼上。我會仔細研究它使用的類,尋找相關的Oracle文檔,並比較ChatGPT的建議與文檔中的內容。
生態系
在Java生態系統方面,我開始學習一些工具,例如Maven或Gradle建置系統,以及JUnit等測試程式庫。
總結
目前,我仍在學習Java的過程中。我希望在本月底完成junix(我的第一個Java個人專案)。我還計劃再完成2-3個不依賴框架的項目,以真正理解Java建置系統及其通用流程。我希望在二月底開始學習Spring Boot等框架。
以上是我是如何學習java的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

本文使用lambda表達式,流API,方法參考和可選探索將功能編程集成到Java中。 它突出顯示了通過簡潔性和不變性改善代碼可讀性和可維護性等好處

本文討論了使用JPA進行對象相關映射,並具有高級功能,例如緩存和懶惰加載。它涵蓋了設置,實體映射和優化性能的最佳實踐,同時突出潛在的陷阱。[159個字符]

本文討論了使用Maven和Gradle進行Java項目管理,構建自動化和依賴性解決方案,以比較其方法和優化策略。

本文使用選擇器和頻道使用單個線程有效地處理多個連接的Java的NIO API,用於非阻滯I/O。 它詳細介紹了過程,好處(可伸縮性,性能)和潛在的陷阱(複雜性,

本文使用Maven和Gradle之類的工具討論了具有適當的版本控制和依賴關係管理的自定義Java庫(JAR文件)的創建和使用。

本文詳細介紹了用於網絡通信的Java的套接字API,涵蓋了客戶服務器設置,數據處理和關鍵考慮因素,例如資源管理,錯誤處理和安全性。 它還探索了性能優化技術,我


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

記事本++7.3.1
好用且免費的程式碼編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境