Progetto di Leyden Mira a Migliorare Java Avvio TimeInnovation

Il Linguaggio Java e l’Architetto Mark Reinhold proposto la creazione di un nuovo progetto OpenJDK Leyden: static file binari dell’applicazione, con tempi di avvio e di memoria inferiore. Una volta approvato e completato, questo permetterebbe agli sviluppatori di compilare il codice Java (just-in-time) per le applicazioni native (ahead-of-time), che offre funzionalità simili a GraalVM la modalità nativa.

Il progetto concettuale di supporto da parte di Oracle attraverso Reinhold, così come RedHat. A seguito della proposta di progetto, di RedHat OpenJDK portare Andrew Haley è intervenuto, “questa è un’ottima notizia. E ‘ ora di portare statico AOT compilazione in piega. Let’s get it done!” Simile sentimento è venuto da Amazon, con PaulHohensee, dichiarando: “molto felice di vedere questa proposta.” RedHat è un membro del Java Community Process Comitato Esecutivo e Amazon è un influente membro della comunità che mantiene una distribuzione Java, Amazon Corretto. Gli utenti di serverless di framework come AWS Lambda e Azure Funzioni beneficiare di Leyden, come gli operatori di pagare in tempo usato — il rapido avvio e tempi di esecuzione potrebbero diminuire i costi di avviamento a freddo e portare al invocazione spese più vicino o sotto la soglia di costo minimo.

Leyden e GraalVM sarebbe al lavoro su una simile catena che gli sviluppatori seguire per scrivere e costruire applicazioni:

  1. Gli sviluppatori di scrivere personalizzato di codice sorgente che si collega a e si basa sulle Api di librerie selezionate, in genere nel file JAR.
  2. Personalizzato il codice viene compilato in bytecode che viene confezionato in uno o più file JAR base.
  3. Leyden di introdurre un nuovo split percorso fior modalità di esecuzione delle applicazioni:

    1. Le applicazioni potrebbero seguire un corso tradizionale per eseguire il bytecode, ottimizzando i “punti caldi” dell’applicazione in codice macchina nativo, come l’applicazione viene eseguita.
    2. Una nuova opportunità per compilare l’applicazione con OS librerie specifiche per rendere un’applicazione nativa che viene eseguito su un singolo sistema operativo simile a quella di altri compilatore nativo strumenti.

Il progetto era quello di potenziare e migliorare le capacità che sono presenti in Java oggi, utilizzato dagli sviluppatori di distribuire le applicazioni.

  • javapackager viene utilizzato per distribuire applicazioni embedded e personalizzato JRE per una singola applicazione. Gli utenti finali non necessitano di un ampio sistema di installazione di Java per eseguire ogni applicazione, come il lancio dell’applicazione punti di passare attraverso il suo bundle eseguibile java.
  • jaotc sperimentale compilatore per alcune piattaforme che produce un eseguibile nativo. Leyden può espandere direttamente sulla parte superiore della jaotc.

Il vantaggio di nativamente le applicazioni compilate è già ben visibile visibile attraverso di RedHat application framework Quarkus: Supersonic Subatomiche Java. Quarkus sfrutta GraalVM immagine nativa per produrre le applicazioni che sono “supersonic”, nel tempo, di prima richiesta o di avvio come serverless funzione, e “subatomiche” dove l’compilato nativamente applicazione è più piccola dell’originale bytecode Java. Il Quarkus home page elenchi di tali metriche in un grafico leggibile sulla sua home page con box per un confronto visivo:

  • In JDK modalità, un CRUD app utilizzata 145MB RAM.
  • In modalità Nativa, un CRUD app utilizzata 28MB di RAM, circa l ‘ 80% di diminuzione.
  • In JDK modalità, il CRUD app prese 2.033 secondi per la prima risposta HTTP.
  • In modalità Nativa, il CRUD app prese 0,042 secondi, circa il 98% di diminuzione.

Nessun calendario esiste per Leyden completamento, consentendo al progetto di funzionalità guidato piuttosto che data-driven. Con Java sei mesi per il rilascio di cadenza, la valutazione dei candidati verrà visualizzato in una versione per stabilire un efficace ciclo di feedback.

social experiment by Livio Acerbo #greengroundit #live https://www.infoq.com/news/2020/05/java-leyden/