Back to Home

Nikita Lipsky and Dmitry Chuyko about AOT in Java at jug.msk.ru / JUG Ru Group Blog

java · jug · jug.msk.ru · aot · excelsior · oracle

Nikita Lipsky and Dmitry Chuyko about AOT in Java on jug.msk.ru

    The next meeting of the Moscow Java User Group was held on May 22, 2017, traditionally in the office of CROC . On it, Nikita Lipsky and Dmitry Chuyko talked about static (Ahead-of-Time) compilation in the Java programming language and its implementation in the products of Excelsior and Oracle .



    About speakers


    Nikita Lipsky represents the Novosibirsk company Excelsior , which produces a unique product - a static compiler for the Java language , Excelsior JET . The application is quite in demand and feels great in the market, this fall will be celebrated for 20 years of its existence. Nikita is one of the initiators of the creation and an active participant in the development of the application.

    The company’s blog is quite interesting: in addition to the announcements of new versions (with plugins for Maven and Gradle ), there are also descriptions of other useful things like the Git plugin for Far Manager and the plugin for IntelliJ IDEA (written by Excelsior programmers) Judging by the survey , you can soon expect something else.

    Chronological reports of Nikita:

    • “The Story of a JVM in Pictures” ( Java Day Novosibirsk 2011 : presentation , video ; with Vitaly Mikheev)
    • “Web 3.0. Futuristic story about the future of the Internet and IT ”( DevDay 2GIS 2012 : video )
    • “Java is losing weight. Ask me how ”( JavaOne Moscow 2013 : presentation , video )
    • Excelsior JET: Overview of Opportunities ( JUG.ru-2013 : presentation , video ; with Pavel Pavlov)
    • “Excelsior JET: internal architecture” ( JUG.ru-2013 : presentation , video ; with Pavel Pavlov)
    • “Entertaining stories from the life of JVM tech support” ( Joker 2013 : presentation , video ; with Misha Bykov)
    • “Ahead-of-time compilation” ( Joker 2014 : presentation , video )
    • “AOT Compilation” ( JavaDay Kiev 2014 : presentation , video )
    • “Java is losing weight. Reducing the size of the distribution of Java applications without dependencies ”( JavaDay Kiev 2014 : presentation , video )
    • “Java restart with WebFX” ( FOSDEM 2015 : presentation , video )
    • "Round table. Refactoring and technical debt ”( JPoint 2015 : video )
    • "Round table. The Future of the Java Platform ”( JPoint 2015 : Video )
    • “Client-side Java outside the browser: building native Java clients” ( Joker 2015 : presentation , video )
    • “JVM: A Short Course in General Anatomy” ( Joker 2015 University Day : presentation , video ; with Vladimir Parfinenko)
    • “Delivering Native User Experience in Client-Side Java Applications” ( JEEConf 2015 : presentation , video )
    • “Java 8 support in Excelsior JET” ( JBreak 2016 : presentation , video )
    • “Support for Java 8 in Excelsior JET” ( JPoint 2016 : presentation , video )
    • “JVM: A Short Course in General Anatomy” ( JPoint 2016 Student Day : presentation , video ; with Vladimir Ivanov)
    • “Java AOT compilation” ( GeekOUT 2016 : video )
    • “Support for Java 8 at the JVM level” ( JET Conference Autumn 2016 : presentation , video )
    • “Java AOT Compilation” ( JavaZone 2016 : video )
    • “Java bytecode verification: when, how, and can it turn it off?” ( JPoint 2017 : presentation , video so far available only to conference participants)
    • JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers for Java ”( Riga DevDays 2017 : presentation , video )
    • JIT vs. AOT: Unity And Conflict of Dynamic and Static Compilers for Java ”( GeeCON 2017 : presentation )
    • “Java 9 Modules. Why not OSGi? ”( Oracle Code 2017 Moscow : presentation )

    Audio with Nikita:


    To get acquainted with Excelsior JET, the first reports once and twice are most useful (a joint presentation by Nikita with Pavel Pavlov on JUG.ru in 2013), then you can see stories about product technical support .

    Other links: Habrahabr , GitHub , Twitter , SlideShare .

    Dmitry Chuyko works at Oracle , which has also recently become interested in static compilation. He is an active speaker at both JUG.ru conferences and others.

    Dmitry's reports:

    • "New in java.util.concurrent" ( JUG.ru-2013 : video )
    • “Overview of innovations in java.util.concurrent (JSR166e)” ( JEEConf 2013 : presentation , video )
    • Java Mission Control ( Java 8 Launch 2014 : video )
    • “Quick loading of your classes” ( JUG.ru-2015 : video )
    • "CompletableFuture. I want to take and apply ”( JUG.ru-2015 : video )
    • “CompletableFuture is already here” ( JPoint 2015 : video )
    • “Completable Future is already here” ( JEEConf 2015 : presentation , video )
    • Hotspot and AOT ( JBreak 2016 : video )
    • “Hotspot and AOT: It's time to compile” ( JPoint 2016 : presentation , video )
    • “Black Mark, StampedLock and his friends. How not to violate the pirate code ”( JPoint 2016 Student Day : video )
    • Hotspot & AOT ( JEEConf 2016 : video )
    • “Ahead-of-Time compilation for HotSpot JVM” ( JUG.ru-2016 : presentation , video )
    • “Compile ahead of time. It's fine? ”( GeeCON 2017 , JEEConf 2017 : presentation )

    Other slides on SlideShare .

    About reports


    For both speakers, the jug.msk.ru meeting was part of a touring presentation at conferences. Nikita's tour began with his participation in the recording of issue 134 of the podcast Debriefing (from the airport). Next up were Riga DevDays 2017 , GeeCON 2017 , jug.msk.ru and Oracle Code 2017 Moscow . Dmitry's tour also included GeeCON 2017 and jug.msk.ru , then JEEConf 2017 .

    The meeting and the topic that the meeting was dedicated to ( AOT ) aroused great interest. At least five speakers from conferences held by JUG.ru attended the audience.. Those. in total (taking into account Dmitry and Nikita) there was a rare opportunity to see and chat with seven speakers.

    Andrey Kogun together with Nikita (first shot) and additionally Dmitry (second shot) begins the meeting. Nikita was the first to speak. In my opinion, this is the best or one of his best reports. The report lasted two hours, which allowed him to tell more and answer more questions from the audience. The presentation greatly interested those present. The questions were good and sometimes unexpected for the speaker (for example, about comparing application launch times on SSDs). With the release of JDK 9 out of the box, static compilation is possible, i.e. conversions to the code of the target platform (the so-called native







    ) True, so far only under Linux . About JEP 295 , JEP 243 and the Graal compiler was Dmitry's story. The report was a logical continuation of his previous report, presented earlier at the JUG.ru meeting . As always, during the break and after the presentations, everyone had the opportunity to talk and ask questions on topics of concern to them. And, of course, drink tea with buns. Meeting Presentations: AOT for Java: Myths and Challenges Nikita and Compile ahead of time. Is it fine? Dmitry. Photos from the meeting: a group in VK , Google+ .









    Unfortunately, for technical reasons, it was not possible to record a video (the first and, hopefully, the last time in the history of jug.msk.ru ). Video from previous meetings is available on YouTube .

    Subscribe to our newsletter announcements following meetings jug.msk.ru .

    Read Next