In a new paper (PDF), researchers from the University of California, Davis, Southeast University in China, and University College London theorized that, just as with natural languages, some — and probably, most — written code isn’t necessary to convey the point of what it does. The code and data used in the study are available for download from Bitbucket. But here’s the bottom line: Only about 5% of written Java code captures the core functionality.
A series of Java Enhancement Proposals (JEPs) has been published on OpenJDK concerning the next major update (Java 9). Previous rumors about Java 9 features haven’t had very much weight, nor particularly interesting new features, but this new feature list is packed with developer favorites that the community has been requesting for many years.
These features include:
- 1. A light-weight JSON API — which is a source of great speculation right now about how truly useful this feature will be (as proposed by the community process).
- 2. A HTTP 2 Client — for HTTP 2.0 and websockets.
- 3. Process API Improvements — to improve the API for controlling and managing OS processes.
- 4. Improved contended locking —for increasing performance between threads.
- 5. Segmented Code Cache — to improved execution time for complicated benchmarks.
- 6. Smart Java Compilation (Phase 2) [Phase 1] — Makes the sjavac tool available in the default JDK.
- 7. Modular Source Code — organizes JDK source code into modules.
SpringOne 2GX Highlight: How to build Big Data Pipelines for Hadoop using OSS (Costin Leau)
An announcement from the SpringSource Community came yesterday, and apparently the Spring Framework 3.2 M2 has been released! As always, it’s currently available from the SpringSource Repository and they even offer a quick tutorial on resolving any dependency issues (artifacts) via Maven that you may have if you’re not familiar with Maven yet (you really should be…) The complete distribution zip is available as usual from the SpringSource community download site.
Highlights from 3.2 M2 include:
- Asynchronous @Controller method support now complete (blog post)
- Many additional Spring MVC improvements, including plenty of REST support, e.g. content negotiation.
- Spring TestContext improvements
- Spring Expression Language (SpEL) improvements and fixes
- Overall, 45 bugs fixed, 11 new features and 58 improvements implemented
Chris Beams over at SpringSource Community had the following to say regarding both the 3.2 M2 Milestone as well as the upcoming 3.2-RELEASE:
“A major area of focus for 3.2 is ensuring that Spring Framework runs flawlessly on JDK7. M2 artifacts have been built, tested and published against JDK7 and we continue to test JDK6 compatibility in nightly builds as well. We encourage all Spring users on JDK7 to give M2 a spin in your development and test environments and provide as much feedback as possible prior to 3.2 GA. Thanks!
Users of @Configuration classes and Spring’s support for subclass proxies (proxy-target-class=true), please take note: it is now no longer necessary to add CGLIB as an explicit dependency to work with these features. As of 3.2 M2, we have upgraded to the new CGLIB 3.0. We repackage all net.sf.cglib classes to org.springframework.cglib and inline them directly within the spring-core JAR. This means that all @Configuration and subclass proxying functionality works out of the box in M2, and means no potential for CGLIB conflicts with other projects. Likewise, we have upgraded to the new ASM 4.0, which we continue to repackage and inline as we have done for quite some time now. Note however that we’ve eliminated the dedicated spring-asm jar in M2 in favor of including org.springframework.asm classes directly in spring-core. Both of these upgrades are good news for JDK7 users writing Spring components in dynamic JVM languages, as these new versions of CGLIB and ASM properly handle the new invokedynamic bytecode instruction introduced in JDK7.