2013-11-26 10 views
8

(so che questo è probabilmente un duplicato, ma è quasi impossibile per cercare questo tema su Google o su SO.)valori possibili per il sistema "java.compiler" proprietà

So che la proprietà di sistema può java.compiler prendi "NONE" che disabilita il compilatore JIT, ma sono interessato a quali altri valori ci sono e quali sono le loro caratteristiche di prestazione.

risposta

3

nei primi giorni io ci credo era inteso che ci fosse competizione tra venditori esterni per fornire un dll esterno/.so chiamato da questa proprietà. symcjit.dll è stato l'unico che abbia mai incontrato. Sinceramente l'avvento di Hotspot credo sia ob Solete.

+0

c'è da qualche parte che questo documento è obsoleto? La documentazione dell'ultima ora (in questo momento, JDK 1.8) dell'API per java.lang.Compiler è ancora formulata in modo tale che mi aspetto di essere in grado di collegare il mio JIT utilizzando la proprietà java.compiler, ma fino ad ora, nessuna quantità di la persuasione sembra funzionare. Posso credere che sia obsoleto, ma mi piacerebbe vedere qualcosa da Sun/Oracle su cui posso contare, prima di rinunciare al mio progetto. –

4

java.compiler proprietà è il nome della libreria per sostenere compilatori Java Native:

La classe del compilatore viene fornito per supportare Java-to-native-code compilatori e servizi connessi. In base alla progettazione, la classe Compiler non esegue nulla ; funge da segnaposto per un'implementazione del compilatore JIT. All'avvio della Java Virtual Machine, determina se esiste la proprietà di sistema java.compiler. (Le proprietà del sistema sono accessibili tramite System.getProperty (String) e System.getProperty (String, String). In tal caso, si presume che sia il nome di una libreria (con una posizione e un tipo esatti dalla piattaforma); System.loadLibrary (java.lang.String) è chiamato a caricare quella libreria. Se questo caricamento viene completato correttamente, la funzione denominata java_lang_Compiler_start() in quella biblioteca si chiama.