Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 linux 上,我假设 Java 套接字最终调用 glibc 套接字。
这两层之间的交互是如何发生的?它类似于 JNI 调用还是有一些特殊的更快的方法可以从 Java 访问 glibc 函数?
谢谢!
套接字由内核实现,系统调用函数包装器由 JVM 实现者碰巧使用的任何 C 库提供。Java 通过 JNI 调用 C 库,C 库通过系统调用软件中断调用内核。尽管实现细节可能有所不同,但 JDK 之间的此过程在概念上没有区别。
glibc 套接字
真的没有这样的事情。套接字函数是系统调用。glibc 所做的只是提供 C 包装器。