読書会(The Java Module System)第2回議事録
[ 戻る ]
==========================================================================================
Java読書会BOF 「The Java Module System」を読む会 第2回
==========================================================================================
"日時","2019年12月14日 10:00 - 17:00"
"場所","てくのかわさき 第4研修室"
"出席者(敬称略)","高橋(徹)、高橋(智)、今井、遠藤、吉本、岩室、根元、平山、大部(記)"
p23から
1.4.3 The module system in action
----------------------------------------------
- 誤植: P.21 1.5.1 -> 1.4.3
P.30 1.7.2まで全て番号がずれている。
LAUNCHING THE INITIAL MODULE
----------------------------------------------
- アプリ実行時、JARのマニフェストにmainクラスのファイルを指定していた。
- モジュールでは(P.22 左の図 3)my.xml.appに記載している。
GUARDING MODULE INTERNALS
----------------------------------------------
- P.22 図の4の話
- exportのときアクセスできる。
A MORE COMPLEX EXAMPLE
----------------------------------------------
- 図1.6は有向非巡回グラフ(Directed acyclic graph, DAG)
- spark: libraryが多くてjar hellの例に使い易い?
1.4.4 Your non-modular project will be fine-mostly
----------------------------------------------
- 互換性について
- 昔の振る舞いをするとともに、並行してmodular passにモジュール定義がなくてもモジュールとして扱う。
- モジュール化はメリットがあるが強制ではない。
- Effective Java 第3版では
P.79「やむを得ない必要がない限りモジュールを避けるのが再現なようです」
と記載されている。
1.5 Goals of the module system
----------------------------------------------
1.5.1 Reliable configuration: Leaving no JAR behind
----------------------------------------------
1.5.2 Strong encapsulation: Making module-internal code inaccessible
----------------------------------------------
1.5.3 Automated security and improved maintainability
----------------------------------------------
1.5.4 Improved startup performance
----------------------------------------------
- 最適化とは:コンパイル時のJVMレベルの最適化。
1.5.5 Scalable Java platform
----------------------------------------------
- 単独で実行できるイメージを作成できるようになる。
1.5.6 Non-goals
----------------------------------------------
1.6 Skills, old and new
----------------------------------------------
1.6.1 What you'll learn
----------------------------------------------
1.6.2 What you should know
----------------------------------------------
Summary
----------------------------------------------
2 Anatomy of a modular application
======================================================================
- dog-ear: 本のページの隅を折る
2.1 Introducing ServiceMonitor
----------------------------------------------
2.2 Modularizing serviceMonitor
----------------------------------------------
2.3 Cutting ServiceMonitor into modules
----------------------------------------------
- 誤植: P.37 下から3行目: *monitor(Monitor)は改行されて下に並ぶ。
2.4 Laying out files in a directory structure
----------------------------------------------
2.5 Declaring and describing modules
----------------------------------------------
2.5.1 Declaring dependencies on other modules
----------------------------------------------
2.5.2 Defining a module's public API
----------------------------------------------
2.5.3 Visualizing ServiceMonitor with the module graph
----------------------------------------------
2.6 Compiling and packaging modules
----------------------------------------------
- P.44 libsフォルダにも依存する場合の以下の記述は、Windowsの場合は:を;にする。
javac --module-path mods:libs
2.7 Running ServiceMonitor
----------------------------------------------
2.8 Extending a modular code base
----------------------------------------------
2.9 Post mortem: Effects the module system
----------------------------------------------
2.9.1 What the module system does for you
----------------------------------------------
2.9.2 What else the module system can do for you
----------------------------------------------
2.9.3 Allowing optional dependencies
----------------------------------------------
Summary
----------------------------------------------
3 Defining modules and their properties
======================================================================
3.1 Modules: The building blocks of modular applications
----------------------------------------------
3.1.1 Java modules(JMODs), shipped with the JDK
----------------------------------------------
3.1.2 Modular JARs: Home-grown modules
----------------------------------------------
3.1.3 Module declarations: Defining a module's properties
----------------------------------------------
- 誤植: P.56 Figure 3.2の説明、上から2行目: extension -> jupiter
3.1.4 The many types of modules
----------------------------------------------
.. note:: 次回は p.59 から。
(以上)
[ 戻る ]