###わからないこと
・FileOutputStreamクラスのwriteBytesのネイティブコードでの実装
・nativeメソッドにひもづくモジュールはどこにあるのか、どのようにひもづいているのか
###経緯と詳細
HelloWorldがどのようにEclipseのコンソールに出力されるかが知りたくて、
System.out.printlnをひたすらデバッグで追いかけていました。
どうやらFileOutputStramクラスのwriteBytes(byte[], int, int, boolean)というメソッドを経た際に出力されているようでした。
しかし、先のメソッドがnativeメソッドのため、その先の実装を見ることができません。
さらに調べるとJNIによってCやC++で書かれたコードと連携させているということが分かりました。
java -verbose:jni Hello
[Dynamic-linking native method java.io.FileOutputStream.writeBytes ... JNI]
このwriteBytesというメソッドはどのモジュールに書かれているのでしょうか。
jdk,jreフォルダの中を"writeBytes"で検索しても見つかりませんでした。
###環境
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/02/13 12:08