逆引きマニュアル: Javaのインストール・アンインストール方法

投稿日: 更新日:

Oracle Java

ダウンロードURL

なお、Java SE 8では、同じアップデートで、複数のバージョンが提供されていました。 (8u181からは1つのようです)

  • 数字が小さい方: セキュリティアップデートのみ
  • 数字が大きい方: セキュリティアップデート + バグフィックス

Java SE 8u162 is a patch-set update, including all of 8u161 plus additional bug fixes (described in the release notes).

通常は数字の大きい方を入れて問題ないと思います。

ダウンロード手順

  1. ダウンロードページを開く
  2. 入れたいバージョンを選択
  3. ライセンスを読んで、Accept License Agreementを選択
    • ボタンを押さないと、リンクが有効になりません。
  4. プラットフォームを選択して、横のリンクをクリックしてダウンロード
    • macOS
      • 64ビット専用です。
    • Windows
      • JDK 8までは32ビット(x86)と64ビット(x64)があります。JDK 9からは64ビット 専用です。
    • Linux
      • JDK 8までは32ビット(x86)と64ビット(x64)があります。JDK 9からは64ビット 専用です。
      • RPM版と、tar版があります。

インストール手順

こちらにまとまっているようです。

まだ試してませんが・・・

  • macOS
    1. *.dmgを開く
    2. その先適当に進める(迷うことはないと思います)

macOSの場合、インストール先は/Library/Java/JavaVirtualMachines/になります。

OpenJDK

OpenJDK 10のインストール方法(macOS)

  1. JDK 10 GA Releaseを開く
  2. ダウンロード
  3. 展開
  4. /Library/Java/JavaVirtualMachines/にmv

これでなぜかjava -versionの内容も10になりました。

アンインストール

macOS

/Library/Java/JavaVirtualMachines 以下にあるので、削除したいものを

sudo rm -rfで消してください。

インストール時に入れたい設定(JDK 8)

乱数ソースの変更

$JAVA_HOME/jre/lib/security/java.security

#securerandom.source=file:/dev/random
securerandom.source=file:/dev/urandom

なお、記事によっては -Djava.security.egd=file:/dev/./urandom を指定するとなっている。 これはJDKを入れ替えてもそのまま対応できる利点はあるが、 おまじないになってしまっている。

-Djava.security.egd=file:/dev/./urandom であって、 -Djava.security.egd=file:/dev/urandom だとダメなのはおそらく互換性のため。

JDK-4705093 : Use /dev/urandom rather than /dev/random if it exists.

SecureRandom.getInstance("SHA1PRNG") and do not specify a seed, OR new SecureRandom() but have specified an alternate java.security.egd besides "file:/dev/urandom", it will use the SHA1PRNG which calls into /dev/random and may potentially block.

OpenJDK 1.8.0_151_b12で試したところ、 -Djava.security.egd=file:/dev/urandomでも問題なかった。 どのバージョンでどれを指定すればいいか分からない。。。


なお、/dev/urandom を使用した場合は、暗号論的擬似乱数を使用するため、 真の乱数ではないがブロックされない。 通常はこちらを使用して問題ないと判断される(→乱数)。

DNSキャッシュがリフレッシュされない問題の回避

この設定は未検証。

JavaSE(JDK)をインストールしたら必ずやっておきたい設定

$JAVA_HOME/jre/lib/security/java.security

#networkaddress.cache.ttl=-1
networkaddress.cache.ttl=600
networkaddress.cache.negative.ttl=10

マニュアル

  • Java
  • openjdk: まだありません。