我读到了一些关于使Java7支持绕过内核的评论。然而,当我在谷歌上搜索这个主题时,我没有看到任何直接的例子。
有谁有Java 7执行内核绕过的例子吗?我很有兴趣去看看
发布于 2013-04-05 06:59:50
这个相关问题的答案提到了SolarFlare的绑定:Networking with Kernel Bypass in Java。
就Java7而言,在核心库中不支持这种事情。内核绕过太过系统/供应商,无法包含在标准API中。
在Java中,您可以做其他事情来提高网络吞吐量,而不需要绕过内核。例如,使用NIO Buffer和Channel API ...然而,典型的Java“框架”往往会阻碍这一点……通过只向“应用”代码公开Stream / Reader和其他高级I/O抽象。
(我还认为,如果您有一个应用程序,其中网络延迟和吞吐量足够关键,因此值得绕过内核,那么您应该使用一种“更接近金属”的编程语言。Java更适合那些最大问题是应用程序复杂性的应用程序……不会在网络中快速移动大量比特。)
发布于 2017-09-13 03:57:37
看看github上的Onload Extensions API JNI Wrapper。作者似乎专门研究kernel bypass。
发布于 2013-04-04 22:14:09
内核绕过是一种在读/写外部数据源(例如文件或网络)时避开内核的方法。
相反,您可以直接访问数据存储,而无需让所有字节通过操作系统内核运行。这通常更快,但安全性也较低,因为整个过程不再受操作系统的监督。
假设:对于Java,kernel (可以)表示JVM。
我在这上面找到了一个very good article。
https://stackoverflow.com/questions/15813603
复制相似问题