2010-02-16 14 views
5

Tôi có một dự án hiện đang thực hiện nhiều chương trình bên ngoài bằng cách sử dụng java.lang.Process. Giả sử rằng chức năng của chúng cũng có sẵn ở dạng thư viện gốc, những lợi ích của việc thực thi các chức năng thư viện đã nói bằng cách sử dụng JNA là gì?Ưu điểm của việc sử dụng JNA qua quá trình thực thi

Việc xử lý quá trình khá nặng - chúng mất vài giây để hoàn tất. Tôi có đúng trong suy nghĩ rằng hiệu suất đạt được sẽ là tối thiểu?

+0

Đây là một trong những câu hỏi đó khiến tôi gãi đầu, vì sẽ dễ dàng chuẩn bị cho chính mình. –

+3

Để điều tra điều này đòi hỏi một cam kết thời gian. Do người dùng SO có thể đã có một số kinh nghiệm thực tế về việc sử dụng JNA, tôi hy vọng sẽ xác định liệu việc thực hiện một tiêu chuẩn như vậy có xứng đáng với nỗ lực không. Ví dụ - có lẽ tôi đã bỏ lỡ một cái gì đó rõ ràng lại: JNA và nó trong thực tế sẽ là một tập thể dục vô nghĩa ngay cả điểm chuẩn nó ... – teabot

Trả lời

3

Bạn có thể thấy điều này hữu ích: Execute native code via JNI/DLL or EXE?

Chúng tôi đã thực hiện bản địa. Theo câu trả lời được chấp nhận, có ít rủi ro bị rò rỉ bộ nhớ hơn và dễ dàng khởi động lại quá trình gốc khi cần thiết.