Oracle TechCasts resumed. Today [i.e. February 16th] Mark Reinhold talked about JDK 7 and answered viewers questions. Reinhold discussed the most significant things he is working on in the OpenJDK project and revealed some preliminary bills aimed at combining the JRockit and HotSpot codes. Project Lambda, which is usually referred to as “closures for Java”, was also a topic of discussion.
The first innovation in JDK 7, about which Reinhold spoke, is an attempt to break the Java SE platform into smaller parts, the so-called Project Jigsaw ("Mosaic"). In addition to improving performance, Reinhold considers the key benefits of Jigsaw not only to increase the scale of Java systems, but also to reduce them, including into devices with low memory or disk space. Jigsaw allows you to install only the necessary part of the JDK in such devices, without requiring the 60 MB required for the entire JDK [Shemet said in comments that it’s rather a JRE, not a JDK]. In addition, Jigsaw should also solve the
“hell .jar” problem once and for all. Developers will finally get a chance to try Jigsaw in mid-March, when build 88 is released. It will not be included in the core of the platform yet, but will be available for testing.
The second main goal of JDK 7 is to improve support for various dynamic languages. This project will add general purpose extensions to the JVM, which will allow languages ​​other than Java to achieve performance comparable to Java itself. Project Coin (“Coin”) will make significant additions to the Java language, comparable to the changes made in Java 5. The main innovations of Java 5 were generics and the for-each loop. Like them, Coin should simplify everyday programming. Reinhold mentioned several additions to Coin, namely “surprisingly useful” lines and a switch, and the “diamond” operator, which he called “extremely useful for complex generic types.” Coin also allows writing in Java using a more compact syntax, “similar in Python. "
In addition, Reinhold talked about type annotations and the new API for working with the file system. He said that in JDK 7 the real API for the file system will finally appear, and what was in the previous versions, can’t be called a joke. Type annotations should make a big improvement in the ability of static program checking. He called this “type checking on steroids.” At a higher level, the new fork-join system should be of great benefit, along with truly parallel thread-safe class loaders. One viewer asked him about JSR 310, an API for dates and times. He said that he would very much like to see the end of this work, which was delayed for a long time.
')
Finally, Reinhold explained why he launched Project Lambda, which should add a closure to Java 7. He said that when the idea of ​​closures in Java was proposed for the first time, it was not sufficiently motivated and none of the proposals were invested in the language. Expanding the use of multi-core processors has changed the situation, and now he believes that several cores will be much easier to use with real closures. Now it is “just sick” of how you have to pervert, to express massive operations like MapReduce in Java. Extending the JDK 7 schedule enabled him to introduce closures now, rather than in JDK 8.
According to Reinhold, developers want to see that Java is evolving and "showing signs of life," while maintaining readability of the code. He says that quite a few people are already participating in the Lambda project, and the second draft of the
specification is almost ready. Milestone 6 is approaching, but unlike the past, strong empowerment is not planned.
In addition to working on the JDK, Reinhold participated in several meetings with the developers of Sun, Oracle and other sources, where possible integration of HotSpot and JRockit was discussed. Now it is at the research stage, they are looking at how these two virtual machines fit together. The plan is constantly changing, he says, and they deal with serious problems. JRockit and HotSpot have been tough for many years, and both have their own advantages. JRockit, for example, is easier to maintain. Their main goal will be to increase productivity and see what else can be achieved from these two systems.
Another viewer asked Reinhold about working at Oracle and his hopes for JCP. Reinhold replied that he was confident that Oracle could expand the number of JCP participants, that JCP had been stuck for many years, and he was counting on it to finally end. In his meetings about HotSpot / JRockit, Reinhold saw that many Oracle technologists are very open to new ideas. When they buy companies, they sometimes discard their own technology if they have bought the best. As an example, he cited WebLogic purchased from BEA. Finally, Reinhold was asked about his plans for JavaOne in September of this year. He said that he was going to do the same thing that he always did - participate in several reports, chat with the community, and stay up late.