4 ms·
I was pretty excited about AOT compilation⁰, but it seems it doesn't support dynamically generated classes and bytecode i.e.: lambdas and invokedynamic. ⓪ - ht
by shock 9y ago
I was pretty excited about AOT compilation⁰, but it seems it doesn't support dynamically generated classes and bytecode i.e.: lambdas and invokedynamic.
⓪ - http://openjdk.java.net/jeps/295 http://openjdk.java.net/jeps/295
- pjmlp 9y agoIt is work in progress, the Java 10 dev branch already has much better support, including macOS and Windows, according to the Java Languages Summit 2017 talks. In any case, the other JDK vendors with AOT support are still around.
- shock 9y agoAre there any free JVMs with AOT besides Eclipse/IBM OpenJ9 (of which I've only learned a couple of days ago)?
- pjmlp 9y agoRoboVM, https://github.com/MobiVM/robovm https://github.com/MobiVM/robovm Excelsior JET has a free license for open source projects, https://www.excelsiorjet.com/ https://www.excelsiorjet.com/ But the majority of good ones are commercial. All JDK vendors selling JVMs for embedded devices or real-time deployments, do support AOT compilation.
- blinkingled 9y agoReally? Reading the document I felt AOT was too much pain for too little gain. This might benefit IDEs with slightly less startup time but with SSDs even that's questionable. And who besides IDE authors is writing desktop apps in Java anyways?
- praseodym 9y agoIt might also be useful for scripts and small CLI utilities where interactive invocation is a lot nicer with short startup times.
- shock 9y agoI'd write desktop apps in Java if AOT was available. I'd much prefer Java with JavaFX/Swing/SWT to C++ with QT for cross platform desktop apps. Maybe we'd see Java used for cross platform desktop apps more, instead of the usual Electron app.
- jcdavis 9y agoThe main benefactor of AOT will be the JVM itself - part of the reason for its sluggish startup time is having to interpret and then JIT a bunch of core libraries.