はじめに
Javaの歴史も20年。
脈々と後方互換が守られてバージョンが上がってるわけですが、
ライブラリも豊富になっていき、覚えることも増えてきている気がします。
だけど、逆に今さら覚えなくても良いものもたくさんあるんじゃないか。
という疑問が浮かんできました。
それに加えて、個人的なことだけど、
Javaの色々を調べるうちにだんだんJavaが分からなくなった。
ので、全体図を俯瞰してみたくなりました。
ということで、Java SE のパッケージを眺めるのが良いかと思い、
それぞれ見ていくことにします。
とりあえず、JDKの中身をあさってみます。
対象
Oracleのjdk 1.8.0_40
それぞれの構成
javadocで提供されているのは
・orgパッケージ
・javaパッケージ
・javaxパッケージ
src.zipに含まれているのは
・comパッケージ
・javaパッケージ
・javaxパッケージ
・launcherパッケージ
・orgパッケージ
rt.jarに含まれているのは
・comパッケージ
・javaパッケージ
・javaxパッケージ
・jdkパッケージ
・orgパッケージ
・sunパッケージ
(あとMETA-INF)
どこ見るか
基本的にはjavadocで提供されているものを使えって感じで良いと思います。
src.zipとrt.jarで中身違う?
src.zipとrt.jarでsunパッケージがあったり無かったりするのは
ソースコード(.javaや.h)ファイルをどこまで提供するかって話だと思います。
runtimeではinternalに使ってるのかな。
と思ったけど、Oracleのサイトにsrc.zipについて説明があった
src.zipはJavaプログラミング言語のソースのJavaコアAPIを構成するすべてのクラス用のファイル (つまり、 Java用のソース。java.*、javax。およびいくつかのorg.*。com.sun.*を除いた) 。 このソースコードは、開発者がJavaを学ぶのとJavaを利用するのを補助する目的のみです。 これらのファイルは、プラットフォーム固有の実装コードは含まれていませんし、 クラスライブラリを再構築するために使用することはできません。http://www.oracle.com/technetwork/java/javase/jdk-7-readme-429198.html
ただ、com.sunもsrc.zipにちょっと含まれているので謎だ。。
ちなみにsrc.zipに含まれているlaunchにはjavaの実行時に使われているC言語っぽいものがあった。
.hファイルとかだし、多分。
javadocから絞る
ということで、
・orgパッケージ
・javaパッケージ
・javaxパッケージ
を知ってればまぁ良い気がします。
各パッケージを眺めた結果も書いておきます。
※長いので、最下部に掲載。
最小セット
最終的に必須と判断したのは
・java.io
・java.lang
・java.lang.reflect
・java.math
・java.nio
・java.nio.charset
・java.nio.charset.spi
・java.nio.file
・java.nio.file.attribute
・java.nio.file.spi
・java.text
・java.time
・java.time.format
・java.util
・java.util.function
・java.util.regex
・java.util.stream
・javax.annotation
それ以外も、もちろん捨てがたいというか知っておくべきものもたくさんあるけど、
JavaのAPIを最小限必要なものに絞ってみるとこんな感じな気がする。
あと、単純にパッケージで区切れるものでもないし、OSSライブラリ使ったり
することに確実になるので、微妙なところではあります。
また、パッケージ単位でしか見てないので、
パッケージの中にはdeperecatedなクラスも混ざってたり…、
とかそこら辺は全然ノーチェックです。。。
必要に応じて学ぶ
思い切って削ったのはアプレット、awt、swing、RMI、CORBA。
アプレットはJava登場した初期こそもてはやされたけど、
現在だと脆弱性見つかったりとか、そもそも使わないと思います。
デスクトップアプリケーションは
2015/05/31追記その1
ご意見いただきました。
java.awtを「アプレットは今後使わない」って理由で捨ててるのは、ちょっと浅はかというかjava.awtを誤解してるような「Java SEのパッケージを独断と偏見だけで断捨離する - Javaプログラマーのはしくれダイアリー」 http://t.co/NT6RySQ6mr
— きしだﬗ (@kis) 2015, 5月 31
@yy_yank コメントに書いたけど、たとえばグラフを描画するとか、画像をリサイズするとか
— きしだﬗ (@kis) 2015, 5月 31
AWT+Java2Dはまだ捨てられないです。JavaFXはまだこれらの全てをカバーしていないし、ヘッドレスで動かないので。サーバサイドでの画像生成とかにもAWTは使われているんですよ:Java SEのパッケージを独断と偏見だけで断捨離 http://t.co/byNvi7F4hc
— AOE Takashi (@aoetk) 2015, 5月 31
java.awtをアプレットを使わないからという理由で
バッサリ切るのは違うみたいですね。
awtパッケージにはアプレット関連以外でも色々なライブラリがあります。
そこらへんJavaFXで全部網羅されてないかなぁとか
テキトーなことを思ってたんですが、そういうわけでもなく。
そもそも「アプレットはもう使わない」から「java.awtパッケージは使わない」ってのは
論理的ではないですね_(:3」∠)_
JavaFXがヘッドレスで動かない。ヘッドレスというのはキーボードとかマウスとかを
接続しないでマウス操作、キーボード操作をするってことですね、おそらく。
確かに、java.awtパッケージにはマウス操作とかキーボード操作用のAPIがあります。
(追記その1ここまで)
・・・・・・・・・・・・・・
ヘッドレス環境について(2015/06/02追記)
またまた、きしださんにコメントいただきました。
ヘッドレスはグラフィックカードが無い状態をイメージすると良いと。
なるほど、なんとなく分かってきました笑
グラフィックとかがJavaFXでは生成出来ないってかんじですかね。。
java.awtではヘッドレスモードみたいなものがあって設定で選択出来るようです。
櫻庭さんが以前に書いていたみたいですね。
Features of Java2 SDK, Standard Edition, v1.4 - Java in the Box
RMI、CORBAとかその他に関して
RMI、CORBAに関してもJavaのサーバーサイドだとEJBがその代りをするのではないでしょうか。
古いシステムとかで言語関係なくシステム連携するという縛りがあれば使うかもしれないけど。
CORBA関連のJava技術について - 達人プログラマーを目指して
Concurrency Utilities、XML操作(DOM、SAX、StAX)、JAX-WS、SOAP、JAXB、
セキュリティ関連、暗号化、ImageI/Oなどなどは要件によっては使う必要が出てくるので、
必要に応じて。
JDBC部分もあまり触らないとは思うけど、解析したり
するとき当然根幹になるから知っとくべきだと思います。
MIDIとかSound系とかはなかなか使わんだろうなぁ。
2015/05/31追記その2
しんさんがこの辺りに対してコメントくれてるんですけど、
面白いなぁと思います。
俺だと勉強するならユーザーのわかりやすいもの楽しいもの優先するし、使うものという意味で
コア以外は
awt/swing/Java2D系
印刷系
javasound系
を優先するかな。awt系は入力系があるし
File系やJDBCなども必要に応じて。仕事ならこのへんも必須知識
— しんさん (@shinsan68k) 2015, 5月 29
動くアプリケーションとかゲームとか目線でお話されてるんだと思います。
僕はエンプラっていうかサーバーサイドのJavaとかなんかところを起点に
優先順位を考えてるので、取捨選択も違うなぁと。
こんな記事書いてますが、そんな簡単に捨てられるものでもないしなぁ…笑
(追記その2ここまで)
・・・・・・・・・・・・・・
その他参考
Java技術最前線
Reader/Writer/InputStream/OutputStream - 裏紙
JJUGのエキスパートが語るエンタープライズ・アーキテクチャの過去、現在、未来──SOAP・RESTからIoT・ウェアラブルまで
Javaメモ目次(Hishidama's Java Memo)
雑な一覧
ホントに個人的に分類してみました。
今後、ツッコミがあったりとか必要性を感じたら修正していきます。多分。
2015/05/31にツッコミを受けて、java.awtのところを修正してます。
かなりざっくりな修正。知識なくてスミマセン…。
個人的な指標値
1.必須
2.知っておくべき
3.必要に応じて
4.古い技術だが必要に応じて
5.特殊な機能
6.今後使わないだろうもの
javaパッケージ
番号 | javaパッケージ | 備考 | since | 優先度 |
---|---|---|---|---|
1 | java.io | IO操作の基本 | 1.0 | 1 |
2 | java.lang | javaの基本 | 1.0 | 1 |
3 | java.lang.reflect | リフレクション | 1.1 | 1 |
4 | java.math | 算術計算 | 1.1 | 1 |
5 | java.nio | Buffer処理 | 1.4 | 1 |
6 | java.nio.charset | charset関連 | 1.4 | 1 |
7 | java.nio.charset.spi | charset関連 | 1.4 | 1 |
8 | java.nio.file | New I/O 2 | 1.7 | 1 |
9 | java.nio.file.attribute | New I/O 2 | 1.7 | 1 |
10 | java.nio.file.spi | New I/O 2 | 1.7 | 1 |
11 | java.text | テキスト操作 | 1.1 | 1 |
12 | java.time | Date and Time | 1.8 | 1 |
13 | java.time.format | Date and Time | 1.8 | 1 |
14 | java.util | ユーティリティ | 1.0 | 1 |
15 | java.util.function | 関数インターフェース | 1.8 | 1 |
16 | java.util.regex | 正規表現 | 1.4 | 1 |
17 | java.util.stream | Stream API | 1.8 | 1 |
18 | java.nio.channels | チャネル操作 | 1.4 | 2 |
19 | java.nio.channels.spi | NIO | 1.4 | 2 |
20 | java.text.spi | テキスト操作 | 1.6 | 2 |
21 | java.time.chrono | Date and Time | 1.8 | 2 |
22 | java.time.temporal | Date and Time | 1.8 | 2 |
23 | java.time.zone | Date and Time | 1.8 | 2 |
24 | java.util.concurrent | Concurrency Utilities | 1.5 | 2 |
25 | java.util.concurrent.atomic | Concurrency Utilities | 1.5 | 2 |
26 | java.util.concurrent.locks | Concurrency Utilities | 1.5 | 2 |
27 | java.util.logging | ロギング | 1.4 | 2 |
28 | java.util.spi | ユーティリティのサービスプロバイダ | 1.6 | 2 |
29 | java.net | ネットワーク関連 | 1.0 | 3 |
30 | java.security | セキュリティ関連 | 1.1 | 3 |
31 | java.security.acl | セキュリティ関連 | 1.1 | 3 |
32 | java.security.cert | セキュリティ関連 | 1.2 | 3 |
33 | java.security.interfaces | RSA | 1.1 | 3 |
34 | java.security.spec | セキュリティ関連 | 1.2 | 3 |
35 | java.util.zip | zip | 1.1 | 3 |
36 | java.lang.annotation | アノテーション関連の定義 | 1.5 | 4 |
37 | java.lang.instrument | JVMの計測 | 1.5 | 4 |
38 | java.lang.management | JMXとか | 1.5 | 4 |
39 | java.sql | SQL | 1.1 | 4 |
40 | java.util.prefs | KVS(キーバリューストア) | 1.4 | 4 |
41 | java.lang.invoke | invoke dynamic関連 | 1.7 | 5 |
42 | java.lang.ref | GCと対話するとき。 | 1.2 | 5 |
43 | java.util.jar | JAR操作 | 1.2 | 5 |
44 | java.applet | アプレットは今後使わない | 1.0 | 6 |
45 | java.awt | ヘッドレス環境での操作などJavaFXで賄えないものは使う | 1.0 | 4 |
46 | java.awt.color | JavaFXで賄えないものは使う | 1.2 | 4 |
47 | java.awt.datatransfer | JavaFXで賄えないものは使う | 1.1 | 4 |
48 | java.awt.dnd | JavaFXで賄えないものは使う | 1.2 | 4 |
49 | java.awt.event | JavaFXで賄えないものは使う | 1.1 | 4 |
50 | java.awt.font | JavaFXで賄えないものは使う | 1.2 | 4 |
51 | java.awt.geom | JavaFXではJava2Dは大体出来ないので使う | 1.2 | 4 |
52 | java.awt.im | JavaFXで賄えないものは使う | 1.2 | 4 |
53 | java.awt.im.spi | JavaFXで賄えないものは使う | 1.3 | 4 |
54 | java.awt.image | JavaFXで賄えないものは使う | 1.2 | 4 |
55 | java.awt.image.renderable | JavaFXで賄えないものは使う | 1.2 | |
56 | java.awt.print | JavaFXで賄えないものは使う | 1.2 | 4 |
57 | java.beans | JavaBeansの死活管理?でもあんまり使わないと思う | 1.2 | 5 |
58 | java.beans.beancontext | JavaBeansの死活管理?でもあんまり使わないと思う | 1.2 | 5 |
59 | java.rmi | RMI | 1.1 | 6 |
60 | java.rmi.activation | RMI起動 | 1.2 | 6 |
61 | java.rmi.dgc | RMIのGC | 1.1 | 6 |
62 | java.rmi.registry | RMIレジストリ | 1.1 | 6 |
63 | java.rmi.server | RMIのサーバ側 | 1.1 | 6 |
javaxパッケージ
番号 | javaxパッケージ | 備考 | since | 優先度 |
---|---|---|---|---|
64 | javax.imageio | ImageI/O | 1.4 | 2 |
65 | javax.imageio.event | ImageI/O | 1.4 | 2 |
66 | javax.imageio.metadata | ImageI/O | 1.4 | 2 |
67 | javax.imageio.plugins.bmp | ImageI/O | 1.5 | 2 |
68 | javax.imageio.plugins.jpeg | ImageI/O | 1.4 | 2 |
69 | javax.imageio.spi | ImageI/O | 1.4 | 2 |
70 | javax.imageio.stream | ImageI/O | 1.4 | 2 |
71 | javax.crypto | 暗号化関連 | 1.4 | 3 |
72 | javax.crypto.interfaces | 暗号化関連 | 1.4 | 3 |
73 | javax.crypto.spec | 暗号化関連 | 1.4 | 3 |
74 | javax.naming | JNDI関連 | 1.3 | 3 |
75 | javax.naming.directory | JNDI関連 | 1.3 | 3 |
76 | javax.naming.event | JNDI関連 | 1.3 | 3 |
77 | javax.naming.ldap | JNDI関連 | 1.3 | 3 |
78 | javax.naming.spi | JNDI関連 | 1.3 | 3 |
79 | javax.net | ネットワーク(ソケット通信) | 1.4 | 3 |
80 | javax.net.ssl | ネットワーク(ソケット通信) | 1.4 | 3 |
81 | javax.security.auth | セキュリティ関連 | 1.4 | 3 |
82 | javax.security.auth.callback | 認証コールバック | 1.4 | 3 |
83 | javax.security.auth.kerberos | ケルベロス認証 | 1.4 | 3 |
84 | javax.security.auth.login | ログイン認証 | 1.4 | 3 |
85 | javax.security.auth.spi | サービスインターフェース | 1.4 | 3 |
86 | javax.security.auth.x500 | x500プリンシパル | 1.4 | 3 |
87 | javax.security.cert | 公開鍵 | 1.4 | 3 |
88 | javax.security.sasl | SASL | 1.5 | 3 |
89 | javax.transaction.xa | JTAトランザクション | 1.4 | 3 |
90 | javax.xml.namespace | XML関連 | 不明 | 3 |
91 | javax.xml.parsers | DOMとSAX | 不明 | 3 |
92 | javax.xml.stream | XML関連 | 不明 | 3 |
93 | javax.xml.stream.events | XML関連 | 不明 | 3 |
94 | javax.xml.stream.util | XML関連 | 不明 | 3 |
95 | javax.xml.transform | XML関連 | 不明 | 3 |
96 | javax.xml.transform.dom | XML関連 | 不明 | 3 |
97 | javax.xml.transform.sax | XML関連 | 不明 | 3 |
98 | javax.xml.transform.stax | StAX | 1.6 | 3 |
99 | javax.xml.transform.stream | XML関連 | 不明 | 3 |
100 | javax.xml.validation | XML関連 | 不明 | 3 |
101 | javax.accessibility | アクセスルール | 1.2 | 4 |
102 | javax.activation | SOAP | 不明 | 4 |
103 | javax.jws | SOAP | 1.6 | 4 |
104 | javax.jws.soap | SOAP | 1.6 | 4 |
105 | javax.lang.model | SOAP | 1.6 | 4 |
106 | javax.lang.model.element | SOAP | 不明 | 4 |
107 | javax.lang.model.type | SOAP | 1.6 | 4 |
108 | javax.lang.model.util | JMX | 1.5 | 4 |
109 | javax.management | JMX | 1.5 | 4 |
110 | javax.management.loading | JMX | 1.5 | 4 |
111 | javax.management.modelmbean | JMX | 1.5 | 4 |
112 | javax.management.monitor | JMX | 1.5 | 4 |
113 | javax.management.openmbean | JMX | 1.5 | 4 |
114 | javax.management.relation | JMX | 1.5 | 4 |
115 | javax.management.remote | JMX | 1.5 | 4 |
116 | javax.management.remote.rmi | JMX | 1.5 | 4 |
117 | javax.management.timer | JMX | 1.5 | 4 |
118 | javax.print | 印刷API | 1.4 | 4 |
119 | javax.print.attribute | 印刷API | 1.4 | 4 |
120 | javax.print.attribute.standard | 印刷API | 1.4 | 4 |
121 | javax.print.event | 印刷API | 1.4 | 4 |
122 | javax.sql | SQL | 1.4 | 4 |
123 | javax.sql.rowset | SQL | 不明 | 4 |
124 | javax.sql.rowset.serial | SQL | 不明 | 4 |
125 | javax.sql.rowset.spi | SQL | 不明 | 4 |
126 | javax.xml | JAXB | 不明 | 4 |
127 | javax.xml.bind | JAXB | 不明 | 4 |
128 | javax.xml.bind.annotation | JAXB | 不明 | 4 |
129 | javax.xml.bind.annotation.adapters | JAXB | 不明 | 4 |
130 | javax.xml.bind.attachment | JAXB | 不明 | 4 |
131 | javax.xml.bind.helpers | JAXB | 不明 | 4 |
132 | javax.xml.bind.util | JAXB | 不明 | 4 |
133 | javax.xml.crypto | XML暗号化 | 1.6 | 4 |
134 | javax.xml.crypto.dom | XML暗号化 | 1.6 | 4 |
135 | javax.xml.crypto.dsig | XML暗号化 | 1.6 | 4 |
136 | javax.xml.crypto.dsig.dom | XML暗号化 | 1.6 | 4 |
137 | javax.xml.crypto.dsig.keyinfo | XML暗号化 | 1.6 | 4 |
138 | javax.xml.crypto.dsig.spec | XML暗号化 | 1.6 | 4 |
139 | javax.xml.datatype | XML関連 | 不明 | 4 |
140 | javax.xml.soap | SOAP | 不明 | 4 |
141 | javax.xml.ws | JAX-WS | 不明 | 4 |
142 | javax.xml.ws.handler | JAX-WS | 不明 | 4 |
143 | javax.xml.ws.handler.soap | JAX-WS | 不明 | 4 |
144 | javax.xml.ws.http | JAX-WS | 不明 | 4 |
145 | javax.xml.ws.soap | JAX-WS | 不明 | 4 |
146 | javax.xml.ws.spi | JAX-WS | 不明 | 4 |
147 | javax.xml.ws.spi.http | JAX-WS | 不明 | 4 |
148 | javax.xml.ws.wsaddressing | JAX-WS | 不明 | 4 |
149 | javax.xml.xpath | JAX-WS | 1.5 | 4 |
150 | javax.annotation | PostConstructとか | 不明 | 5 |
151 | javax.annotation.processing | Pluggable Annotation Processing API | 1.6 | 5 |
152 | javax.script | スクリプトエンジン | 1.6 | 5 |
153 | javax.sound.midi | MIDI | 1.3 | 5 |
154 | javax.sound.midi.spi | MIDI | 1.3 | 5 |
155 | javax.sound.sampled | サウンド | 1.3 | 5 |
156 | javax.sound.sampled.spi | サウンド | 1.3 | 5 |
157 | javax.tools | Compiler操作など | 1.6 | 5 |
158 | javax.activity | ORBの例外 | 1.5 | 6 |
159 | javax.rmi | RMI IIOP | 不明 | 6 |
160 | javax.rmi.CORBA | RMI CORBA | 不明 | 6 |
161 | javax.rmi.ssl | SSL | 1.5 | 6 |
162 | javax.swing | Swingは今後使わない | 1.2 | 6 |
163 | javax.swing.border | 同上 | 1.2 | 6 |
164 | javax.swing.colorchooser | 同上 | 1.2 | 6 |
165 | javax.swing.event | 同上 | 1.2 | 6 |
166 | javax.swing.filechooser | 同上 | 1.2 | 6 |
167 | javax.swing.plaf | 同上 | 1.2 | 6 |
168 | javax.swing.plaf.basic | 同上 | 1.2 | 6 |
169 | javax.swing.plaf.metal | 同上 | 1.2 | 6 |
170 | javax.swing.plaf.multi | 同上 | 1.2 | 6 |
171 | javax.swing.plaf.nimbus | 同上 | 1.7 | 6 |
172 | javax.swing.plaf.synth | 同上 | 1.2 | 6 |
173 | javax.swing.table | 同上 | 1.2 | 6 |
174 | javax.swing.text | 同上 | 1.2 | 6 |
175 | javax.swing.text.html | 同上 | 1.2 | 6 |
176 | javax.swing.text.html.parser | 同上 | 1.2 | 6 |
177 | javax.swing.text.rtf | 同上 | 1.2 | 6 |
178 | javax.swing.tree | 同上 | 1.2 | 6 |
179 | javax.swing.undo | 同上 | 1.2 | 6 |
180 | javax.transaction | ORBトランザクション | 1,3 | 6 |
orgパッケージ
番号 | orgパッケージ | 備考 | since | 優先度 |
---|---|---|---|---|
181 | org.w3c.dom | DOM | 不明 | 3 |
182 | org.w3c.dom.bootstrap | DOM | 不明 | 3 |
183 | org.w3c.dom.events | DOM | 不明 | 3 |
184 | org.w3c.dom.ls | DOM | 不明 | 3 |
185 | org.w3c.dom.views | DOM | 不明 | 3 |
186 | org.xml.sax | SAX | 不明 | 3 |
187 | org.xml.sax.ext | SAX | 不明 | 3 |
188 | org.xml.sax.helpers | SAX | 不明 | 3 |
189 | org.ietf.jgss | セキュリティ関連 | 1.4 | 5 |
190 | org.omg.CORBA | 古いシステムでもない限りは不要。 | 1.2 | 6 |
191 | org.omg.CORBA.DynAnyPackage | 同上 | 1.2 | 6 |
192 | org.omg.CORBA.ORBPackage | 同上 | 1.2 | 6 |
193 | org.omg.CORBA.portable | 同上 | 1.2 | 6 |
194 | org.omg.CORBA.TypeCodePackage | 同上 | 1.2 | 6 |
195 | org.omg.CORBA_2_3 | 同上 | 1.3 | 6 |
196 | org.omg.CORBA_2_3.portable | 同上 | 1.3 | 6 |
197 | org.omg.CosNaming | 同上 | 1.3 | 6 |
198 | org.omg.CosNaming.NamingContextExtPackage | 同上 | 1.4 | 6 |
199 | org.omg.CosNaming.NamingContextPackage | 同上 | 1.4 | 6 |
200 | org.omg.Dynamic | 同上 | 1.4 | 6 |
201 | org.omg.DynamicAny | 同上 | 1.4 | 6 |
202 | org.omg.DynamicAny.DynAnyFactoryPackage | 同上 | 1.4 | 6 |
203 | org.omg.DynamicAny.DynAnyPackage | 同上 | 1.4 | 6 |
204 | org.omg.IOP | 同上 | 1.4 | 6 |
205 | org.omg.IOP.CodecFactoryPackage | 同上 | 1.4 | 6 |
206 | org.omg.IOP.CodecPackage | 同上 | 1.4 | 6 |
207 | org.omg.Messaging | 同上 | 1.4 | 6 |
208 | org.omg.PortableInterceptor | 同上 | 1.4 | 6 |
209 | org.omg.PortableInterceptor.ORBInitInfoPackage | 同上 | 1.4 | 6 |
210 | org.omg.PortableServer | 同上 | 1.4 | 6 |
211 | org.omg.PortableServer.CurrentPackage | 同上 | 1.4 | 6 |
212 | org.omg.PortableServer.POAManagerPackage | 同上 | 1.4 | 6 |
213 | org.omg.PortableServer.POAPackage | 同上 | 1.4 | 6 |
214 | org.omg.PortableServer.portable | 同上 | 1.4 | 6 |
215 | org.omg.PortableServer.ServantLocatorPackage | 同上 | 1.4 | 6 |
216 | org.omg.SendingContext | 同上 | 1.3 | 6 |
217 | org.omg.stub.java.rmi | 同上 | 1.3 | 6 |
まとめ
今回はJavaのパッケージの中で必要なもの、必要でないものを考えてみました。
また、必要なものに関しても優先度の指標値を個人的につけてみました。
なにか具体的に根拠のあるものでもなく、完全に主観です。
なので、ツッコミしてもらえれば考え直すこともいっぱい出てくるだろうなぁ。。
こういう、暇人な作業してたおかげで、ちょっとだけどこに何があるかとか
こんなクラスがあるんだ〜とか勉強になりました!
4 件のコメント:
headlessな描画やるのに、JavaFXでは無理で、java.awtが必要になるのよねー
>きしださん
コメント有難うございます!普通に嬉しいです笑
そうですね、色々考えなおして仰るとおりだと思います。
今日記事の見直しをさせていただきました。
内容がまだ雑ですが。。
ヘッドレス、簡単にいうと、グラフィックカードがささってない状態をいいます。
>きしださん
うっ…(^^;
また、追記しました。多分認識は正しくなってきたはず!です!
コメントを投稿