java.net包是如何工作的?

java.net包是如何工作的?,java,android,linux,Java,Android,Linux,Android开发者描述了应用程序用于联网的java.net包。现在Android有了Linux内核,所以最终该包发出的任何HTTP请求都必须转换成一些系统调用 我想问的是,这个库是否也附带了一些JNI层代码,它是否依赖libc库与内核交互?在Oracle JVMnet.dll中加载在jre/bin中的AbstractPlainSocketImpl中 /** * Load net library into runtime. */ static { java.security.Acce

Android开发者描述了应用程序用于联网的
java.net
包。现在Android有了Linux内核,所以最终该包发出的任何HTTP请求都必须转换成一些系统调用


我想问的是,这个库是否也附带了一些JNI层代码,它是否依赖libc库与内核交互?

在Oracle JVMnet.dll中加载在jre/bin中的AbstractPlainSocketImpl中

/**
 * Load net library into runtime.
 */
static {
    java.security.AccessController.doPrivileged(
        new java.security.PrivilegedAction<Void>() {
            public Void run() {
                System.loadLibrary("net");
                return null;
            }
        });
}
/**
*将网络库加载到运行时。
*/
静止的{
java.security.AccessController.doPrivileged(
新的java.security.PrivilegedAction(){
公开募捐{
系统加载库(“net”);
返回null;
}
});
}
Android的Dalvik也以同样的方式工作。请查看以下链接:



您看过Android源代码树了吗?它将通过JNI层调用BSD套接字API。没有其他方法可以奏效。