読書会(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 から。

(以上)


[ 戻る ]