在 java servlet 中使用本机代码(服务器端)
我有 ac 库,我在各种平台上的应用程序中使用它。目前,我计划使用 JNI 使用相同的 C 库开发一个 Web 服务。我将使用一些应用程序服务器托管此 Web 服务(计划在 Linux PC 上使用 weblogic)。
有谁有在java服务器上使用本机代码的经验吗?这种方法是否有效。 我将来会遇到任何问题吗?
I have a c library which i am using in my application on various platforms. Currently, I am planning to develop a web service using same c library using JNI. I will host this webservice using some application server (planning to use weblogic on linux PCs).
Does any one has experience of using native code on java server. Is this approach efficient.
will i face any problems in future?.
一般经验法则是将逻辑保留在本机代码中,并避免多次 jni 调用(这通常在性能方面花费很大,比仅在 java 中实现相同的逻辑要多)。但一如既往,这在很大程度上取决于您的设计和瓶颈(io、cpu、网络等)。
希望这有帮助。
General rule of thumb is to keep your logic inside native code, and avoid multiple jni calls (which generally cost much in terms of performance, more than having the same logic implemented only in java). But as always it depends greatly on your design and bottlenecks you have (io, cpu, network etc.).
Hope this helps.