teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

com\.sunパッケージの補足を追記しました。

2016/08/31 15:49

投稿

argius
argius

スコア9396

answer CHANGED
@@ -3,6 +3,7 @@
3
3
  `ImageReader`や`ImageWriter`のインターフェイスと実装は、サービス・プロバイダー・インターフェイス(SPI)という仕組みを使っていて、直接コードをつなげないような作りになっています。
4
4
 
5
5
  OracleJDKやOpenJDKでは(確認したわけでは無いですが、おそらく)デフォルトでは`ImageReader`クラスの実装として`com.sun.imageio.plugins.jpeg.JPEGImageReader`や`com.sun.imageio.plugins.png.PNGImageReader`が使われますが、デフォルト以外やそれ以外の実装ではこれらのクラスは使われない可能性があります。
6
+ (`com.sun`パッケージは旧Sun Microsystem社の(現在はOracle社の)Java実装に由来するものなので、使われないどころか、そのクラス自体が存在しないJava実装の可能性があるということです。[GNU Classpath](https://ja.wikipedia.org/wiki/GNU_Classpath)がその一例です。)
6
7
  そのため、それらのクラスに直接アクセスすることは推奨されていません。
7
8
 
8
9
  同様の理由で、`com.sun`や`sun`で始まるパッケージの非公開APIは直接アクセスすることは推奨されていません。