0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Java17変更点メモ

Posted at

前提

Java17は2021/9にLongTermSupportバージョンでリリース。
Java8のEOLがJava11より後ろ、身の回りはJava11よりJava8利用が多いため、Java8から変更有無に特化。

モジュール管理

パッケージをまとめて管理⇛モジュール管理の導入。
とあるパッケージに含まれるライブラリが、とあるライブラリに依存して、更にそのライブラリが他のライブラリに依存するといった依存関係の解決が難しい。
そこでモジュール(module-info.java)を使用して、依存関係の定義を行えるようになった。

module-info.java

例: aはcは利用不可、aはdを利用可

module module.a {
  requires module.b;
}
module module.b {
  requires module.c;
  retuires transitive moduke.d;
}

module module.c {}
module module.d {}

HttpClient導入

HttpURLConnectionハマること多い?
HttpClientによって楽になる?
http2サポート、非同期通信サポート。

Sealedクラス

Sealedを指定することで指定されたタイプにだけ継承ができる仕組み。

Recordクラス

決まったデータ構造を持つ値の集合。
https://programming-tips.jp/archives/202106/6/index.html
setter()はない。

JVM変更

よくわからない。勉強します。

jshell

javaコードの確認。(インタプリタ言語のように)

他にも機能追加はあるのですが、アプリ開発を行う際のメインどころとしては抑えれたのかなと。
追って情報アップデートしてきます。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?