I want to talk about the JavaOne Russia conference, which took place on April 23-24 in Moscow, from the point of view of the JVM developer and one of the speakers.

Preconference speakers meeting
Before the conference on April 22, the so-called Speakers Meeting took place, and thus, for me, the conference began on Monday, 18-00, from the metro station Myakinino. Honestly, I expected the pointers to get on JavaOne to start on the subway, but I didn’t find them on or off the metro. On the next day, a popular tweet appeared: “What is common between Java and JavaOne? No pointers! "
Speakers meeting was held in the setting of installation of stands and other engineering works. Here, I met Gregory Lubzovsky, who waited for the equipment in the main hall to be connected in order to chase Keynote, and also spoke with the organizers and other speakers. Before I left (around 19-00), the equipment in the main hall was turned on and Grigory Labzovsky happily said that “This year JavaOne in Moscow is unusual. She is now more like a big JavaOne in San Francisco! ". At the exit, I met a lot of charming girls who were instructed about tomorrow. The girls really adorned the conference - lovely and beautiful!
')

JavaOne Keynote
The next day, I no longer had to look for where JavaOne was. And not only did I immediately meet yesterday’s speakers, and there was someone to talk to, so yesterday’s rally was not in vain.
And here is the beginning of the conference! Keynote. It was started by Grigory Labzovsky, St. Petersburg head of Java department at Oracle, and Valery Lanovenko, chief of Russia at Oracle. We talked in the form of an interview that Java needs Oracle, and Oracle needs Java, and that both of them need Java developers. After that, the guys passed the word VP Java Client and Mobile to Nandini Ramani. About the fact that Java 8 was moved for six months due to security, probably everyone already knows. But I suddenly found out that Java ME, which with the withering away of old believers' phones, in my opinion should not have felt very well, was actually experiencing a boom. The fact is that now the fashion has gone for small devices connected to the Internet, the so-called Internet of Things, for all sorts of different needs, from smart houses to smart forests (sensors in GPS are hung up on trees in Brazil, and if they are sawed, then learn about it). These devices are now more than people. And the manufacturers of these little devices need standards a lot, and Java ME comes to the rescue here. Java SE Embedded is also in trend: the topic about Java SE and JavaFX on the Raspberry Pi was very hot throughout the conference. Of course, we talked about Java E, but for me it’s a dark forest and I didn’t understand what is so cool about HTML 5 and WebSockets support. Java EE consultant was amused by Reza Rahman, who appeared in Russian-Russian attire. Stephen Chin showed JavaFX on a Raspberry Pi, Jim Weaver showed JavaFX 3D from a Windows tablet - pretty cool.
Star phenomenon to the people
At the break, they appeared - conference stars - Alexey Shipilyov (@TheShade) and Sergey Kuksenko (@Walrus). Before Alexey Shipilev, I was familiar only in absentia, through Twitter, and we worked with Sergey for 4 years - he, as well as I stood at the foundations of the Excelsior JET project, and I must say I have not seen him since from us in 2001. So it was great to see you again.
Now, reading foreign reports about the conference, you will not find any mention of Shipilev and Kuksenko. However, at the end I had the impression that only they were at the conference and that is why I called this article “Kuksenko’s benefit performance with Shipilev”. The guys for two made 6 reports, together and separately, almost all in a large hall for 2 thousand people, so it turned out that almost every second report was one of them in the most prominent place. And the people went to them for half a conference! And if we add Vova Ivanov and Shura Ilyin to them, it turns out that the large hall was almost completely occupied by the St. Petersburg people.
And Kuksenko’s first report was about the Java Memory Model. In my opinion, a very useful thing in terms of education - Java developers need to know the language in which they are writing. But I did not go to him. I've been interested in the JavaFX theme for some time now. By the way, there were five streams in all, and in very many cases I had to break, so it’s a pity that the reports weren’t recorded - some I would look at the video.
Javafx
The JavaFX theme began to interest me from this point of view. JavaFX has for some time been positioned as the default UI on Java SE Embedded. This UI has multitouch support, animation, 3D, etc., and generally looks quite nice, modern. And maybe you know that its implementation for iOS and Android should
openly the other day, despite the fact that Java SE itself, even if in the form of OpenJDK, for iOS / Android has never been seen. This winter, I came across a painful
topic on the Oracle forum, from which it became obvious to me that there was a big Java query on these mobile platforms: writing on each platform separately is just pain, using PhoneGap or the like is in many cases chickens , writing in C / C ++ or even Objective C is the last century, and Mono is a semi-working hack. In addition, I was complained several times at the conference that the Dalvik VM is also one more piece of technology. That is, despite the fact that there is something like Java on Android, many would like real Java there. And since winter, I am on fire and everyone inside the office is bothering to do Excelsior JET for iOS / Android, because our Java technology, based on the AOT compilation of Java, is what the doctor prescribed for iOS. Not that this thought came to me first in my head only now, but as it became obvious that this should be done immediately.
The first JavaFX talk I saw was Jim Weaver. This is such a uncle for 60 minutes. Before the session, he played the game, guess the melody, put the rock of the 60s (Hendrix, Harrison, Morrison, etc.) and addressed the hall “what does it play?” - pleased. And then I talked about the basics of JavaFX. From his report I was very impressed with how elegantly the animation is built into this framework (from an API point of view). I myself have never engaged in animation in UI (yes, in Swing or SWT, this is rather difficult to do, because at the very beginning we didn’t think about it), but here it is really done on time. This is good from the point of view of the outlook on iOS - the animation in the UI is very much loved there and they will laugh at it. Then he showed JavaFX 3D - also very elegant. And most importantly, that his tablet is the whole thing pulled without any lags.
Next, I listened to Steven Chin, a JavaFX evangelist. He talked about ScalaFX. For some time now, our company has also been very interested in Scala. We even wrote our new optimizing compiler on Scala and recently organized the
Scala Enthusiasts Group in Novosibirsk . Steve also clearly showed how Scala can be written in half the letters for JavaFX code, which also looks pretty good in Java, and just a song in Scala. Very compact and well readable DSL for JavaFX turned out. By the way, I note that on all topics about JavaFX, someone got up and asked where Java is for iOS.
Benefit Petrograd
And then there was lunch. And here, as it turned out, I was very lucky that I was the speaker: we were fed in a separate room, without queues and excitement, in a narrow cozy company.
After lunch, Vova Ivanov came. We met him at
CodeFest in Novosibirsk and almost immediately became friends. You know, there are not so many JVM developers in the world, but there are even less in Russia: there are four of them in St. Petersburg, and we have ten in Novosibirsk. And if you communicate with yours every day, then meet with developers from another JVM - this is how to meet with brothers in mind.
Vova talked about invokedynamic, but actually about
method handles . I've heard about it all over and over again, but in my opinion, Vova, in my opinion, turned out to be quite accessible to convey this very difficult topic.
Well, then, in fact, the benefit performance of Kuksenko and Shipilev. Two consecutive report about lambda. First Sergey Kuksenko spoke, and Alexey Shipilev sat, and then vice versa. Sergey told about the
lambda itself , and Alexey about what has changed because of the lambda. In principle, nothing special came out of all this, except maybe a trick with serialization and ZAM (zero abstract methods): so that your language can be serializable it can now be cast to (SAM & Serializable). But it was interesting for me to see how the guys hang on the stage. They keep well - keeping the attention on the one-and-a-half-thousand audience for 2 hours - it is worth a lot.
JavaOne Day Two
The next day, in the speakers' room, I stuck to JavaFX on Stephen Chin and Daniel Blaukopf. I asked Stephen what was so sluggish in JavaFX PR for RIA. To which he told me that he personally believes that the standalone self-contained installer with a bundled JRE for the target platform is a better application distribution model than the RIA. Less than 15 years. Daniel said that they already have JavaFX running on the
compact1 Java SE profile and on the disk this configuration (compact1 + JavaFX) takes up only 18MB. At the same time, it is not yet known whether compact profiles will go for all or only for Java SE Embedded.
Then I listened to Alexei Shipilev on the topic of microbanks. I really liked their harness, it will be necessary to use it with us. I was surprised that there were quite a lot of people: is there really anybody having fun writing microbanks besides JVM developers?
Java is losing weight. Ask me how
And then there was my
report . First, I immediately realized that I had missed with the name: 6 people approached me and asked what the report was about. That is, the fact that Java and “fat" are almost synonyms are far from being for everyone. But it should also be noted that the announcement of the report did not mysteriously appear on the JavaOne website, then appeared, and then mysteriously disappeared. Therefore, find out what it is about was pretty problematic.
And I talked about how to reduce the size of Java SE runtime, which is very good when you distribute your application along with Java runtime, which Stephen Chin believes is the best distribution model. In addition, this distribution model is the only one possible for Java SE on iOS.
Today, besides our technology Java Runtime Slim-Down, there are no legal ways to reduce private Java runtime. How we do it, I told in the report. Fortunately, many developers, in Java 8, besides the full JRE, there will also appear the so-called
compact profiles . And
Jigsaw will appear only in Java 9, with the help of which, as it is supposed, Java runtime can be customized even more. I can tell you about all this in more detail here on the site, anyone wondering?
In the question part, they asked about compact profiles, as well as about Excelsior JET, surprised that static compilation of Java into machine code is possible, and about when we will do Excelsior JET on iOS. That is, the topic is really interesting for people. Someone argued that making Java for iOS is possible, citing Mono as an example. Of course it is possible! Technically, there is no problem. And it will be faster than Objective C (but a bit thicker anyway).
JavaOne completion
The most interesting report of the conference for me is the report of Shipilev on the subject of
concurrency . The guys wrote tests on JMM and managed to destroy them all compilers, found a bug in hardware, and what struck me most was Doug Lee's JMM Cookbook, which all Java compilers of the world pray for!
And the conference ended for me with the speech of Andrey Breslav about Kotlin. Andrei came to the conference only for his report, but I managed to talk with him before the report. He says that the community is growing, but the tone seemed to me that he was a little tired of this topic.
In general, I liked the conference. I managed to communicate with a large number of people, but communication is priceless! The only thing, it seemed to me that it was not possible to bring people into a state of joyful excitement, which many conferences are famous for. Maybe for this task it is worth more to bring world stars of the first magnitude and let them perform in a large hall.
About me + linksI work for Excelsior and we make our own JVM -
Excelsior JET . This is a static compiler (AOT) JVM that can turn Java bytecode into a regular executable file for the target platform. Moreover, this JVM was written from scratch in Novosibirsk, and I am one of the project initiators.