S-JIS[2008-07-07/2021-03-21]
変更履歴
Java新機能(Javaの変更点)
Java
のバージョンによる変更点。
JDK1.4
[/2013-12-20]
JDK1.5
[/2019-12-08]
JDK1.6
[/2017-06-10]
JDK1.7
[/2017-09-30]
JDK1.8
[/2020-06-24]
JDK9
[/2021-03-21]
JDK10
[/2018-06-02]
JDK11
[2018-10-01]
JDK12
[/2020-09-29]
JDK13
[2019-09-22]
JDK14
[/2021-03-16]
JDK15
[/2020-11-08]
JDK16
[2021-03-21]
インストール方法
バージョン番号
プレビューとは
バージョン間の実行速度比較
[/2009-03-25]
欲しい機能
JDK1.4
(J2SE 1.4)
アサート(assert)
[2007-11-08]
デフォルトパッケージのimport
[2010-01-10]
新I/O(nio)
[2007-05-31]
Sunの
アサーションを使用したプログラミング
Buffer
[2009-01-16]
CharsetDecoder
[2009-01-16]
FileChannel
[2007-05-31]
FileLock
[2013-12-20]
Pattern(正規表現)
[2009-02-02]
SpringLayout
[2009-03-31]
TransferHandler
[2009-03-26]
URI
[2010-01-22]
javac -ea
[2007-11-08]
Boolean#valueOf()
[2009-12-31]
String#split()
[2009-02-02]
Javadocタグの追加
[2008-12-26]
JDBC3.0
[/2009-04-13]
JDK1.5
(J2SE 5.0・Java5.0)
総称型(generics<T>)
[/2010-01-30]
拡張for(for each)
[2007-03-26]
オートボクシング(boxing)
[/2008-07-21]
列挙型(enum)
[/2009-09-23]
可変長引数(varargs)
[/2008-07-03]
staticインポート(import)
[/2008-05-02]
アノテーション
(
@interface
)
[/2008-12-08]
共変戻り値(covariant)
[/2009-02-25]
十六進浮動小数点リテラル
[2019-12-08]
Sunの
新機能と拡張 J2SE 5.0
櫻庭 祐一さんの
J2SE 5.0 虎の穴
ITアーキテクトの
J2SE 5.0の新機能
TECHSCOREの
JDK5.0(Tiger)新機能
javac -cp
[2009-02-02]
javac -Xlint
[2007-06-11]
jconsole
[2009-12-12]
jps
[/2010-03-25]
@Deprecated
[2006-07-26]
@Override
[2006-07-26]
@SuppressWarnings
[2006-07-26]
AtomicInteger
[/2008-04-18]
Closeable
[2007-12-27]
ExecutorService
[2013-12-20]
Flushable
[2008-05-17]
Future
[2013-12-20]
ImageIO(ビットマップ)
[2007-02-10]
MemoryUsage
[2008-08-10]
package-info
[2008-08-20]
ProcessBuilder
[2008-07-30]
Queue
[2007-12-07]
StringBuilder
[/2007-02-22]
TimeUnit
[2008-07-30]
UUID
[2008-08-23]
Javadocタグの追加
[2008-12-26]
EJB3.0
[2008-08-03]
排他(ロック)クラス
[2007-03-26]
MTセーフなList・Map
[/2008-05-17]
RMIの改善(rmic不要)
[2008-12-11]
非推奨の作り方
[2008-02-22]
プリミティブ型のサイズ
[2010-03-23]
JUnit4
[2007-09-11]
clone()
[2008-02-08]
main()
[2008-09-13]
premain()
[2007-11-12]
Arrays#deepEquals()
[2007-12-27]
BigDecimal#色々()
[2015-09-23]
Boolean#parseBoolean()
[2009-12-31]
Cipher#getMaxAllowedKeyLength()
[2008-08-15]
Class#getSimpleName()
[2007-03-02]
Clipboard#getData()
[2007-09-11]
Collections
Collections#checkedList()
[2008-12-08]
Collections#emptyList()・emptyMap()
[2008-07-09]
Integer#valueOf()
[2007-05-02]
Pattern#quote()
[2014-04-15]
String#format()
[2008-05-20]
System
System.clearProperty()
[2009-12-23]
System.getenv()
[2008-07-30]
System.nanoTime()
[2008-07-05]
System.out.printf()
[/2008-07-29]
Thread#getId()
[2008-08-23]
Timer()
[2008-07-29]
URL#toURI()
[2010-01-22]
Swing関連
System.exit()の必要性
[2007-10-24]
Component#getMousePosition()
[2009-04-11]
JComponent#setComponentPopupMenu()
[2009-04-19]
JEditorPane.HONOR_DISPLAY_PROPERTIES
[2009-04-19]
KeyEvent.VK_CONTEXT_MENU
[2009-04-11]
Window#setLocationByPlatform()
[2009-04-19]
JDK1.6
(JavaSE6)
ArrayDeque
[2008-07-24]
Desktop
[2008-04-26]
Deque(双方向キュー)
[2008-07-24]
Fileの権限設定
[2012-05-18]
FileNameExtensionFilter
[2009-09-19]
JapaneseImperialCalendar
[2008-02-16]
JavaCompiler
[2008-07-26]
GroupLayout
[/2009-04-05]
Normalizer
[2012-06-15]
RowSorter
[2009-03-13]
ServiceLoader
[2015-07-28]
@PostConstruct
[2009-12-23]
@PreDestroy
[2009-12-23]
@Overrideの仕様変更
[2008-10-25]
JavaDB
[/2009-03-28]
JDBC4.0
[/2009-04-13]
JNIのエラーチェック強化
[2008-02-02]
XML
JAXB
[2017-06-10]
StAX
[2017-05-21]
プロパティーの文字化け解消
[2007-02-11]
例外メッセージ改善
[/2007-05-15]
Sunの
Java SE 6 アップデートリリースノート
ITproの
Java SE 6完全攻略
TECHSCOREの
Java SE 6 Mustang
櫻庭 祐一さんの
Java SE 6 じゃじゃ馬ならし
Toru Takahashiさんの
Java SE 6 Mustang新機能
java -cp *
[2010-01-09]
javac -version
[2008-07-25]
javac -Xlint
[/2008-08-24]
jar -e
[2008-08-01]
jconsoleの改善
[2009-12-12]
jstack
[2009-12-12]
Array#newInstance()
[2008-02-10]
Arrays#copyOf()
[2007-12-07]
File#toURL()
[2008-07-26]
Font.MONOSPACED
[2009-04-19]
String#isEmpty()
[2007-02-13]
TransferHandler
TransferHandler#canImport()
[2009-03-26]
TransferHandler#importData()
[2009-03-26]
JDK1.7
(Java7・JavaSE7)
switchで文字列
[2012-01-14]
安全な再スロー
[2011-07-30]
二進リテラル(
0b
)
[2012-01-14]
数値リテラルに「
_
」
[2012-01-14]
ダイアモンド演算子(
<>
)
[2012-01-14]
リソース付きtry文(try-with-resources)
[/2013-06-29]
例外のマルチキャッチ
[2012-01-14]
JavaFX2
[2012-04-07]
Oracleの
Java SE 7 Features and Enhancements
寺田 佳央さんの
【祝】:Java SE 7 正式リリース
都元ダイスケさんの
細かすぎて伝わらないJava7の変更点
@SafeVarargs
[2014-08-09]
AutoCloseable
[2011-07-30]
FileSystem(zip)
[2015-12-12]
ForkJoinTask
[2017-09-30]
Objects
[2013-06-29]
Path・Files
[2011-07-30]
ReflectiveOperationException
[2012-04-08]
StandardCharsets
[2013-12-20]
FileChannel#open()
[2013-12-20]
Matcher#group(String)
[2015-03-22]
System.lineSeparator()
[2012-04-12]
Throwable#addSuppressed()
[2011-07-30]
ZipFile(File, Charset)
[2014-04-16]
ZipInputStream(InputStream, Charset)
[2014-04-16]
ZipOutputStream(OutputStream, Charset)
[2014-04-16]
JDK1.8
(Java8・JavaSE8)
インターフェースのstaticメソッド
[2014-03-22]
インターフェースのデフォルトメソッド
[/2015-06-14]
finalの省略(実質的final)
[2014-03-22]
ラムダ式(
() -> { }
)
[/2014-06-21]
メソッド参照(
::
)
[/2014-06-21]
コンストラクター参照(
::new
)
[/2015-06-17]
レシーバーパラメーター(メソッドの引数this)
[2020-06-24]
Oracleの
What's New in JDK 8
ZDNetの
「Java SE 8」が正式リリース! 6つの注目機能と必読ドキュメント
マイナビニュースの
大刷新リリース Java 8の新機能
ITproの
詳解 Java SE 8
寺田 佳央さんの
【祝】Java SE 8 正式リリース
JDK1.7との非互換性
[/2016-12-17]
ダイアモンド演算子の利用箇所拡張
[2016-12-29]
単一アンダースコアが非推奨
[2014-03-20]
一箇所に同一アノテーション複数指定
[2014-03-20]
関数型インターフェース
[/2014-04-13]
日付時刻API
[2014-07-21]
javac -h
javac -parameters
[2014-03-20]
javac -profile
@FunctionalInterface
[2014-03-23]
@Repeatable
[2014-03-20]
Collector/Collectors
[/2014-04-13]
DateTimeFormatter
[/2014-07-23]
Optional
[/2014-03-30]
Parameter
[2014-03-20]
Spliterator
[2015-12-12]
StringJoiner
[2014-03-19]
Stream
(→
例
)
[/2014-04-13]
StreamSupport
[2015-12-12]
UncheckedIOException
[2014-03-21]
プリミティブ型のバイト数
[2014-03-19]
符号なし整数を扱うメソッド
[2014-03-19]
BufferedReader#lines()
[2014-04-15]
CharSequence#chars(), codePoints()
[2014-04-29]
Class#getTypeName(), toGenericString()
[2014-03-19]
Comparator#色々()
[2014-03-26]
ElementType.TYPE_PARAMETER
[2014-03-20]
Files#lines()
,
list()
,
find()
,
walk()
[2014-04-29]
Iterator#forEachRemaining()
[2019-11-28]
JarFile#stream()
[2014-04-16]
List#forEach()等
[2014-07-12]
Map#forEach()等
[2014-07-12]
Matcher#start(String)
[2015-06-14]
Method#getParameters()
[2014-03-20]
Objects.isNull()
,
nonNull()
[2014-03-19]
Pattern#asPredicate()
,
splitAsStream()
[2014-04-15]
Process#isAlive()
,
waitFor(タイムアウト)
[2014-03-19]
Set#forEach()等
[2014-07-12]
String#join()
[2014-03-19]
ZipFile#stream()
[2014-04-16]
JDK9(Java9)
モジュールシステム
インターフェースのprivateメソッド
[2017-09-23]
try-with-resourcesで変数直接使用
[2017-09-23]
匿名クラスでのダイアモンド演算子
[2017-09-23]
単一アンダースコアがキーワード化
[2017-09-23]
マルチリリースjarファイル
@Deprecatedの情報追加
[2017-09-23]
@SafeVarargsがprivateメソッドに付けられる
[2017-09-23]
Oracle
What’s New in Oracle JDK 9
Java Language Updates
JShell
[2018-02-02]
hprof廃止
java
--version
[2017-09-22]
モジュール系オプション
[2017-09-22]
javac
--release
[2017-09-22]
-version
:
廃止
[2017-09-22]
--version
[2017-09-22]
JavaDB非同梱
jhat廃止
native2ascii廃止
VisualVM非同梱
G1GCがデフォルト
@HotSpotIntrinsicCandidate
[2020-03-21]
Stringの内部がchar[]からbyte[]に変更
Integer等のコンストラクターが非推奨
[2021-03-21]
Arrays#compare(), mismatch()
[2017-09-25]
Byte#compareUnsigned()
[2017-09-23]
Class#getPackageName()
[2020-09-29]
Class#newInstance()が非推奨
[2018-04-30]
Clock#tickMillis()
[2017-09-27]
Collectors.flatMapping()
,
filtering()
[2017-09-24]
Duration#toXxxPart()
,
truncatedTo()
[2017-09-27]
Enumeration.asIterator()
InputStream#readAllBytes()
,
transferTo()
[2017-09-23]
List.of()
[2017-09-24]
LocalDate#datesUntil()
[2017-09-27]
Map.of()
,
ofEntries()
[2017-09-24]
Objects.requireNonNullElse()
,
checkIndex()
[2017-09-23]
Optional#or()
,
ifPresentOrElse()
,
stream()
[2017-09-24]
Set.of()
[2017-09-24]
Short#compareUnsigned()
[2017-09-23]
SourceVersion.isKeyword()
[2017-09-23]
Stream.ofNullable()
,
iterate()
[2017-09-24]
Stream#takeWhile()
,
dropWhile()
[2017-09-24]
TimeUnit#toChronoUnit(), of()
[2017-09-24]
JDK10(Java10)
var(ローカル変数型推論)
[2018-04-21]
nowokayさん
Java 10新機能まとめ
Java10のJEP以外の変更まとめ
javah廃止
Collectors.toUnmodifiable〜()
[2018-06-02]
List.copyOf()
[2018-06-02]
Map.copyOf()
[2018-06-02]
Optional#orElseThrow()
[2018-06-02]
Set.copyOf()
[2018-06-02]
JDK11(Java11)
ラムダ式の引数にvar
[2018-10-01]
publickeyの
Java 11正式版がリリース
nowokayさんの
Java11でのAPI変更を雑に列挙
YujiSoftwareさんの
Java 11 で追加されたAPIの一覧とサンプルコード
Java EEモジュール削除
JAXB
削除
[2018-10-01]
CORBAモジュール削除
Oracle JDKのライセンスがGPLに変更
JDKインストール
時にJREがインストールされなくなった
[2018-10-01]
単一ファイルソースコードの実行
[2018-10-01]
何もしないガーベッジコレクター(No-Op GC)追加
nowokayさんの
Epsilon GC
新元号対応(NewEra)
平成の次の元号は未決定なので仮置き
classファイルの新しいコンスタントプール(CONSTANT_Dynamic)
Nashorn廃止
ByteArrayOutputStream#writeBytes(byte[])
CharSequence.compare()
[2018-10-01]
Collection#toArray(IntFuntion)
[2018-10-01]
Files.
readString()
,
writeString()
[2018-10-01]
FileReader(file, charset)
FileWriter(file, charset)
InputStream.nullInputStream()
[2018-10-01]
InputStream#readNBytes(len)
[2018-10-01]
Optional#isEmpty()
[2018-10-01]
OutputStream.nullOutputStream()
[2018-10-01]
Path.of()
[2018-10-01]
Pattern#asMatchPredicate()
[2018-10-01]
Predicate.not()
[2018-10-01]
Reader.nullReader()
[2018-10-01]
String#
strip()
,
lines()
,
repeat()
[2018-10-01]
StringBuilder#compareTo()
[2018-10-01]
Thread
#stop(Throwable), destroy()削除
Writer.nullWriter()
[2018-10-01]
JDK12(Java12)
プレビュー版switch式
[2019-03-31]
publickeyの
Java 12正式版がリリース
nowokayさんの
Java12新機能まとめ
Yuichi Sakurabaさんの
JEPでは語れないJava SE 12
jfr(Java Flight Recorder)追加
CompactNumberFormat
Constable
ConstantDescs
Class#
arrayType()
,
componentType()
,
descriptorString()
[2020-09-29]
Collectors.teeing()
[2019-03-31]
Files.mismatch()
[2019-03-31]
InputStream#skipNBytes()
String#
indent()
,
transform()
[2019-03-31]
JDK13(Java13)
プレビュー版switch式
[2019-09-22]
プレビュー版テキストブロック
[2019-09-22]
publickeyの
[速報]Java 13が登場
rmic非推奨
NioSocketImpl
JapaneseEra.REIWA
[2019-09-22]
元号が「令和」になったのは2019/5/1からであり、Java12には間に合わなかった
JDK14(Java14)
switch式
[2020-03-21]
caseのカンマ区切り複数ラベル
[2020-03-21]
NullPointerExceptionメッセージ改善
[2020-03-21]
recordというクラス名は警告
[2020-03-21]
プレビュー版record
[/2021-03-16]
プレビュー版パターンマッチングinstanceof
[2020-03-21]
プレビュー版テキストブロック
[2020-03-21]
nowokayさんの
Java 14新機能まとめ
LOGICOさんの
The Arrival of Java 14!
JFR Event Streaming
jpackage(インキュベーター版)
pack200廃止
Solaris/SPARC対象外
@PreviewFeature
[2020-03-21]
@Serial
[2020-03-21]
MemorySegment(Unsafeの代替)(インキュベーター版)
ByteBuffer不揮発メモリー対応
PrintStream#writeBytes()
StrictMath#incrementExact()等
JDK15(Java15)
テキストブロック
[2020-09-16]
Hidden Class
[2020-09-29]
NPE改善メッセージがデフォルト
[2020-09-29]
プレビュー版record
[2020-09-22]
プレビュー版Sealed Class
[2020-11-08]
nowokayさんの
Java 15新機能まとめ
publickeyの
Java 15正式版が登場
ccoさんの
Java 14とJava 15の新機能解説 (LINE Developer Meetup #65 原稿)
YUICHI SAKURABAさんの
JEPでは語れないJava SE 15
ZGC追加
Nashorn削除
rmic削除
CharBuffer#isEmpty()
CharSequence#isEmpty()
Class#isHidden()
[2020-09-29]
Math.absExact()
NoSuchElementException(Throwable)
String#stripIndent(), translateEscapes(), formatted()
[2020-09-16]
String#substring() len=0のときに""を返すようになった
TreeMap#putIfAbsent(), computeIfAbsent(), computeIfPresent(), compute(), merge() 独自実装
JDK16(Java16)
record
[2021-03-21]
パターンマッチングinstanceof
[2021-03-21]
内部クラスにstaticメンバーが定義可能
[2021-03-21]
synchronizedに値ベースクラスを使うと警告
[2021-03-21]
Integer等のコンストラクターが削除対象化
[2021-03-21]
プレビュー版Sealed Class
[2021-03-21]
nowokayさんの
Java 16新機能まとめ
YUICHI SAKURABAさんの
JEPでは語れないJava 16
publickeyの
Java 16正式リリース
UNIXドメインソケット
CPUのVector API対応(インキュベーター版)
Foreign Linker API (インキュベーター版)
DateTimeFormatterBuilder#appendDayPeriodText()
Stream#mapMulti()
[2021-03-21]
Stream#toList()
[2021-03-21]
Java目次へ戻る
/
技術メモへ戻る
メールの送信先:ひしだま