2013-11-26 23 views
8

(Tôi biết điều này có lẽ là một bản sao, nhưng nó hầu như không thể tìm kiếm chủ đề này trên Google hoặc trên SO.)Giá trị có thể cho hệ thống "java.compiler" tài sản

Tôi biết tài sản java.compiler hệ thống có thể mất "NONE" mà vô hiệu hóa trình biên dịch JIT, nhưng tôi quan tâm đến những giá trị khác có và đặc điểm hiệu suất của chúng là gì.

Trả lời

3

trong những ngày đầu tôi tin rằng nó đã được dự định rằng có sự cạnh tranh giữa các nhà cung cấp bên ngoài để cung cấp một .dll bên ngoài/.so được đặt tên bởi tài sản này symcjit.dll là người duy nhất tôi từng gặp. solete.

+0

có nơi nào đó tài liệu này bị lỗi thời không? Tài liệu API mới nhất (tại thời điểm này, JDK 1.8) cho java.lang.Compiler vẫn được viết như vậy mà tôi mong đợi để có thể cắm vào JIT của riêng tôi bằng cách sử dụng thuộc tính java.compiler, nhưng cho đến nay, không có số lượng coaxing dường như đang hoạt động. Tôi có thể tin rằng nó đã lỗi thời, nhưng tôi muốn thấy điều gì đó từ Sun/Oracle mà tôi có thể dựa vào, trước khi từ bỏ dự án của tôi. –

4

java.compiler sở hữu là tên của thư viện để hỗ trợ các trình biên dịch java mẹ đẻ:

Lớp biên dịch được cung cấp để hỗ trợ Java-to-nguồn gốc mã trình biên dịch và các dịch vụ liên quan. Theo thiết kế, lớp Compiler thực hiện không có gì; nó đóng vai trò như một trình giữ chỗ cho việc thực hiện trình biên dịch JIT. Khi Máy ảo Java khởi động lần đầu tiên, nó sẽ xác định xem có tồn tại thuộc tính hệ thống java.compiler hay không. (Thuộc tính hệ thống là có thể truy cập thông qua System.getProperty (String) và System.getProperty (String, String), nếu được giả định là tên của thư viện (với vị trí và loại chính xác phụ thuộc vào nền tảng); System.loadLibrary (java.lang.String) được gọi để nạp thư viện đó. Nếu tải này thành công, các hàm có tên java_lang_Compiler_start() trong thư viện đó được gọi.

Các vấn đề liên quan