終於拿到阿里架構師分享的557頁深入理解Java模塊系統文檔 前言 目錄 本文主要內容 本書讀者

前言

Java 9通過模塊系統將零散的拼圖拼湊到了一起,模塊系統成了Java平臺的核心而不是擴展功能。Java的模塊系統必須有所妥協。它不僅要保持對大量現有代碼的支持,使其不至於破壞現有的生態系統,還要爲不斷變化的世界中尚待編寫的代碼提供一些有意義的幫助。

從技術層面來說,你需要理解模塊和依賴的本質,以及語法和組件化的細節;從設計角度來說,你需要了解使用模塊所帶來的好處與壞處。像任何概念或觀點一樣,模塊化不可以隨便地加入到項目之中,採用模塊化需要更多的技術和思考。現有代碼在更加模塊化的世界中會有什麼樣的改變?模塊化會如何影響部署和開發?你需要知道這些問題以及你所探索問題的答案。

Java 9將Java平臺模塊系統(JPMS)引入到Java語言及其生態系統中,從此所有Java開發者都可以使用模塊化原語。對於包括我自己在內的大多數人而言,這些是全新的概念,所以本文會從頭講起——從設計動機和基本概念一直講到高級特性,以幫助大家瞭解Java模塊系統。

目錄

本文主要內容

本文的結構有幾個層次。所有章節劃分爲3個部分,但你不必按順序閱讀。我會按照你的需求來建議不同的閱讀範圍和閱讀順序。

本文共15章,分爲3個部分。

第一部分展示了模塊系統要改善的Java的不足之處,並解釋了模塊系統的基本機制,以及如何創建、構建和運行模塊化應用程序。

第1章指出了Java在JAR層面缺乏對模塊化的支持,討論了該缺陷的負面影響以及模塊系統如何處理這些缺陷。

第2章展示瞭如何構建和運行一個模塊化應用程序,並且介紹了貫穿本文的應用程序示例。這一章展示的是模塊系統的全景,不會探尋細節——這是後面3章要做的事情。

第3章介紹了作爲基本構建單元的模塊聲明,以及模塊系統如何處理模塊聲明以實現它最重要的目標:讓項目更加可靠、更容易維護。

第4章展示瞭如何利用javac和jar命令編譯和打包一個模塊化項目。

第5章講述了java命令的一些新選項。啓動一個模塊化應用程序很簡單,因此這一章主要展示發現並解決問題所需要的工具。

第二部分拋開了完全模塊化的理想項目,演示瞭如何將現有項目遷移到Java 9及以上版本,並且逐步將之模塊化。

第6章探尋了將現有代碼遷移到Java 9時人們普遍會遇到的障礙(尚未涉及任何模塊創建)。

第7章討論了兩個額外的難題。單獨討論是因爲它們不侷限於遷移,在對項目完成遷移和模塊化後,你很可能依然會遇到它們。

第8章展示瞭如何對運行於Java 9上的大型項目進行模塊化改造。好消息是,你沒必要一次性完成這個工作。

第9章總結了前面3章的內容,幫助人們制定遷移和模塊化現有代碼的策略。

第三部分展示了構建於第一部分所介紹的基本概念之上的高級特性。

第10章講述了模塊系統如何對API的提供者和使用者進行隔離。

第11章擴展了第3章介紹的基本依賴和訪問機制,爲實現現實世界中的複雜場景提供了靈活性。

第12章討論了反射是如何被拉下神壇的,開發者需要什麼樣的應用程序、庫和框架以使反射代碼工作,以及一些新的擴展反射API的強力特性。

第13章解釋了爲什麼模塊系統通常會忽略版本信息、它對版本的有限支持,以及運行同一個模塊的多個版本的可行性——儘管這很複雜,但的確可行。

第14章利用所需的模塊創建自己的運行時鏡像,展示瞭如何從模塊化JDK中受益,也通過將模塊化應用程序打包到鏡像中並製作單一的部署單元,展示瞭如何從模塊化應用程序中受益。

第15章利用第三部分的所有花哨功能,展示了第2章所介紹的應用程序的全貌,並且爲如何更好地利用模塊系統提供了建議。

[圖片上傳中...(image-f9c497-1615365289008-0)]

需要這份557頁【深入理解Java模塊系統】文檔的小夥伴,,可以轉發此文關注小編!

**需要的朋友麻煩幫忙點贊一下文章,+小助理V X: bjmashibing001  免費領取!**

本書讀者

模塊系統是一個非常有意思的話題。它的基本原理和概念都很簡單,但是對整個Java生態系統的影響很深遠。模塊系統不像lambda表達式那樣可以讓人立即興奮起來,但是可以像它那樣徹底改變整個Java生態系統。到目前爲止,模塊系統已經像編譯器、private訪問修飾符、if條件語句一樣成了Java的一部分。每個開發者都需要了解這些Java概念,同樣,他們也需要了解模塊系統。

值得慶幸的是,模塊系統的入門很簡單。模塊系統的核心只有幾個簡單的概念,任何具備Java基礎知識的開發者都可以理解。如果你知道訪問修飾符的工作原理,粗略地瞭解如何使用javac、jar和java,並且知道JVM怎樣從JAR文件中加載類,那麼基本上就滿足入門條件了。

如果你就是這樣一位開發者,並且喜歡接受挑戰,那麼我鼓勵你閱讀本文。你不一定能馬上融會貫通,但能夠深入理解模塊系統,並進一步理解Java生態系統。

另一方面,對模塊系統的融會貫通,需要有兩三年的Java項目開發經驗。一般而言,你做過的項目越大,在架構演進、依賴選擇,以及解決錯誤依賴帶來的問題等方面參與得越深,你就越會感激模塊系統帶來的好處。同時,這也有助於你廣泛地審視模塊系統對已有項目以及Java生態系統的影響。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章