0

Linuxでは、Javaソケットが最終的にglibcソケットを呼び出すことになると思います。

これら2つのレイヤー間の相互作用はどのように発生しますか?これはJNI呼び出しに似ていますか、それともJavaからglibc関数にアクセスするための特別な高速な方法がありますか?

ありがとう!

4

1 に答える 1

2

ソケットはカーネルによって実装され、システムコール関数ラッパーは、JVM実装者がたまたま使用しているCライブラリによって提供されます。JavaはJNIを介してCライブラリを呼び出し、Cライブラリはシステムコールソフトウェア割り込みを介してカーネルを呼び出します。実装の詳細は異なる場合がありますが、JDK間でこのプロセスに概念的な違いはありません。

glibcソケット

そんなことは本当にありません。ソケット関数はシステムコールです。glibcが行うのは、Cラッパーを提供することだけです。

于 2012-08-22T02:46:39.273 に答える