Exploring the future of the JVM at JavaOne

Exploring the future of the JVM at JavaOne

When Sun Microsystems was acquired by Oracle three years ago, to say that the Java Virtual Machine (JVM) ecosystem was overgrown was to put it mildly. As Java Platform Group JVM architect, Mikael Vidstedt found himself faced with the unenviable task of pruning down seven JVMs down into a more manageable entity.
He’s been coordinating Oracle’s technical vision for the JVM ever since, and after a year that’s been eventful for mostly all the wrong reasons, faced up to a JavaOne audience with plenty of questions for where the virtual machine can go next.
This time last year, Vidstedt was content with Oracle’s progress. As far as he was concerned, JVM convergence was a mission accomplished – with Java Flight Recorder and Mission Control incorporated, and Permgen purged, and everything else ticking over nicely. Then wave after wave of security issues came to light – most of which Oracle would rather not mention in their triumphant keynote speech, thank you very much.
Even though the issue wasn’t addressed by the big guns, and swiftly batted down in the Java media panel, Vidstedt readily acknowledged the many problems that Oracle has faced over the past year due to vulnerabilities in Java – pointing out that the sum of these problems was very much demonstrable by the fact that this year’s event has its own dedicated security track.  
With this in mind, security will apparently remain a key focus area for future JVM projects. But that’s not the only big issue. As Vidsedt noted, from now on, with cloud computing here for good, situations where many, many JVMs are running (almost) the same application will become the norm. The focus will be on how best to share resources across machines, and sound distribution management will be critical.
Understandably, lambdas are a hot topic at JavaOne this year, and Vidstedt was keen to emphasise their benefit to future JVM developments. Oracle has invested literally centuries of man hours grappling with the issue of how to make non-Java languages run efficiently on the JVM. With the invokedynamic instruction addition to Java seven, real progress has been, but there is still considerable work to do. Going forward, lambdas will be key pivots for a language blind JVM.
In terms of serviceability, Java Flight Recorder (re-released earlier this month) continues to be a work in progress. The most exciting development in this area is the addition of automated data analysis in Java Mission Control, drawing analysis from events, and coming to high level conclusions.

 

Spring creator Rod Johnson joins Hazelcast board

Spring creator Rod Johnson joins Hazelcast board

 Rod Johnson, creator of the Spring Framework, is to join Hazelcast, the company behind the in-memory data grid technology of the same name. The move is part of an investment round, which saw Johnson and Bain Capital Ventures together inject a total of $2.5 million into the startup.
Hazelcast was founded in Istanbul, Turkey in 2008 off the back of an open source project. The company has since opened offices in Palo Alto, and Bain Capital MD Salil Desphande claims that Hazelcast is “positioned to clean up in a market that Gartner says will be worth a billion dollars by 2016”.
The investment is particularly notable, however, due to the involvement of Johnson. The Australian developer and entrepreneur created the highly influential Spring Framework for Java in 2003, and cofounded SpringSource – later purchased by VMware – off the back of its success.
However, in July 2012 he announced his departure from VMware, and in effect Spring, to “pursue other interests”. He then set tongues wagging with a position on the board of Scala creators Typesafe in September (in which he continues to be “actively involved”).
Alongside Typesafe and now Hazelcast, Johnson has also invested in – and serves on boards of – the companies behind graph database Neo4j, real-time JavaScript platform Meteor and search engine Elastisearch. InfoQ report that news of a further two board positions will be announced “in the next few weeks”. [Corrected Sep 20]
It appears that, a year on from his departure, Johnson’s post-Spring plan isn’t just to help kill Java with Scala, but to spread his open-source business knowledge throughout the industry. And perhaps make some cash on the side while he’s at it.

Should Oracle be doing more for Java 6 users?

 It may not be Halloween for another month or so, but a grim blog post from security expert Christopher Budd will send a shiver down the spine of users with desktop Java still installed. As we reported last week, Java’s security issues have become even more complex this year, with a new raft of super-skilled hackers capable of targeting its native layer and exploit system vulnerabilities on an unprecedented level. Unfortunately for Oracle, the bad news has continued, with Budd delivering the grim prediction on September 10 that there’s every reason to believe that the worsened situation is “here to stay”, and likely to get even worse before it gets better.
In a doom laden post on Trend Micro, Budd identified the native layer exploits as emblematic of an increasing sophistication in attacks, and just one sign that things had changed for the worse. The coalescence of this issue with a new wave of  attacks targeting unpatched vulnerabilities in Java 6, a widely-deployed but, as of  February 2013, no-longer supported version of Java, has led the analyst to conclude that the overall ‘threat environment’ for Java has increased significantly.
More than 50% of Java users are still actively employing the program, in spite of the huge risks of having security support, creating an unprecedented situation for Oracle. Java 6 users are effectively now a sitting target, and Budd is in no doubt that new waves of attacks are inevitable as malware developers get busy reverse engineering Java 7 fixes to have their wicked way with the old, unsupported version.
Of course, the simple solution would be to just uninstall Java 6 and upgrade to Java 7 - but, as we’ve seen, that’s not a realistic scenario, or a feasible solution for every user, and whilst there is a premium option where users can pay for extra Java 6 support, that’s simply not a solution for everyone.
Information security consultant Michael Horowitz points out on his Java version testing site that there seems to be a communication failure between Java browser plug-ins and browsers, meaning that it can be difficult to find and catalogue all the versions of Java on a PC. The platform is so ubiquitous that it would be virtually impossible to completely eradicate vulnerable versions - and so means that the line of defence must shift from individual devices to the network as a whole. As Budd reflects, this gives a new and sinister connotation to Sun Microsystems’ marketing slogan “The Network is the computer.”
When support for Windows XP is withdrawn by Microsoft next spring, Budd frets that “a perfect storm of permanently vulnerable systems” will be created, leading him to hypothesise that summer 2014 could be a veritable spree for cyber criminals.
For those unable to jump ship from Java 6, the best they can do is try to mitigate the security issue. Since March, Red Hat has assumed leadership of the OpenJDK 6 community, and Apple has actively updated OS X to automatically disable Java if it hasn't been used for 35 days. Oracle is highly aware of the issue, and has been enforcing a Microsoft style ‘security push’, but perhaps they would be better served by re-examining their “End of Life” date policy and abandonment of non-premium customers policy, not only as a goodwill gesture towards the millions of users still dependent of Java 6, but to bolster the integrity of Java as a whole.

Developers now able to get their hands on Java 8 preview


 

 


Well, it’s near one deadline

Developers now able to get their hands on Java 8 preview

Oracle has now released the preview test build of Java SE 8, intended for broad testing by developers – although the much delayed general-release development kit will be percolating for at least another few months.

So what are the key features to look out for in this release? Well, of course there’s the much anticipated  Project Lambda (JSR 355) - cited in a blog post from Reinhold as one of the main reasons for pushing back the release earlier this year- which "adds lambda expressions, default methods, and method refer­ences to the Java programming language and extends the libraries to support parallelizable operations upon streamed data."yesterday, Oracle's Mark Reinhold, chief architect of the Java Platform Group, urged developers to test out the developer preview for JDK (Java Development Kit) 8.
Other noteworthy developments in JDK 8 include a new date and time API, compact profiles, and the Nashorn JavaScript engine. There are also some “anti-features”, such as the removal of the permanent generation from the HotSpot virtual machine.
This month was originally slated for the release of JDK 8, but due to the numerous security concerns that have dogged Java recently, Oracle wisely postponed availability until Q1 2014 - at the earliest. Though, based on the track record for this release, we’re hedging our bets.
Although Oracle has been putting its energies into resolving outstanding security glitches and restore confidence, recent incidents show that there’s still some considerable work to be done. With exploits like watering hole attacks and zero-days still fresh in the minds of many, Oracle won’t want to risk the final release becoming yet another excuse for Java baiting.
If you’re eager to get stuck into the release, you can download it here.

 

Apache Cassandra v2.0 unleashed

The little Big Data project that could 

Apache Cassandra v2.0 unleashed

The Apache Software Foundation announced the launch of a second version of open source, big data distributed database  Apache Cassandra this week. Used by mega sites like Netflix, CERN, Reddit, and Instagram, since its 2010 ‘graduation’, the highly-scalable database program has achieved huge adoption, growing bigger and more powerful all the time - and with heavy hitters like this backing your site, you need to be offering the goods.
The open source distributed database system is intended for storing and managing large amounts of data across commodity servers, and is designed to serve as both a real-time operational data store for online transactional applications and a read-intensive database for large-scale business intelligence (BI) systems. Additionally, the fully distributed architecture integrated within Apache Cassandra in theory gives high fault tolerance.
According to the Foundation’s press release, the new version of Apache Cassandra comes complete with new enhancements such as lightweight transactions, triggers, and CQL (Cassandra Query Language) enhancements.
What’s the spiel behind these new features?
  • Lightweight transactions that offers linearizable consistency.
  • Experimental Triggers Support.
  • Numerous enhancements to CQL as well as a new and better version of the native protocol.
  • Compaction improvements (including a hybrid strategy that combines leveled and size-tiered compaction).
  • A new faster Thrift Server implementation based on LMAX Disruptor.
  • Eager retries: avoids query timeout by sending data requests to other replicas if too much time passes on the original request.
You can download both the source and binary distributions of Cassandra 2.0.0 at: http://cassandra.apache.org/download/

 

The top ten coolest features in NetBeans IDE 7.4

The top ten coolest features in NetBeans IDE 7.4

NetBeans IDE 7.4 is all about letting you work with JDK 8 previews, enabling you to integrate HTML5 into Java EE applications, providing tools for developing mobile applications via Apache Cordova, and deploying applications to mobile devices.
Lots of documents and screencasts have been published around this release of NetBeans IDE, but let's wade through all the new features and quickly focus only on the ten that are most impressive.
 
1. JDK 8 Preview. Previews are available of the upcoming JDK 8, so you're able to register JDK 8 previews in the IDE, check for JDK 8 profile compliance, and refactor your code to change from anonymous inner classes to lambdas. 

2. HTML5 Integration with Java EE 7. Java EE developers wanting to benefit from the rich and flexible UIs made possible by HTML, JavaScript, and CSS, can now integrate these very easily via tools and wizards directly into their Maven or Ant based Java EE applications. Live web preview of web pages is available in the embedded WebKit browser, the Chrome browser with NetBeans plugin, as well as on mobile devices, i.e., Chrome on Android and Mobile Safari on iOS.

3. Apache Cordova. Creating applications for iOS and Android doesn't mean needing to know any native languages. Develop your applications in HTML, JavaScript, and CSS and then use the Cordova tools built into NetBeans IDE 7.4 to convert them to native packages, then deploy them directly to the native emulator or to the native device. When deployed to the native device, you can debug JavaScript and style CSS directly on the device.

4. Android and iOS. Once an application, whether it is created via Cordova or not, is ready to be tried out on a mobile device, deploy it quickly and easily from the IDE. New tools are included for deployment to Android and iOS emulators and native devices.

5. Knockout, AngularJS, and ExtJS. JavaScript support in the IDE has been overhauled. Support includes JavaScript framework-specific syntax coloring, code completion, as well as other editing and refactoring tools for the following JavaScript frameworks: jQuery, JSON, Knockout, Ext Js, AngularJS, JsDoc, ExtDoc, and ScriptDoc. Knockout, AngularJS, and ExtJS are supported for the first time.  

6. SASS and LESS. Editing support for Sassy CSS and LESS CSS preprocessors is provided, including syntactic and semantic coloring for language constructs, indentation, reformatting, code folding, and file templates. Code completion and refactoring tools are available for variables and mixins.

7. Maven. NetBeans IDE is famous for its natural and intuitive Maven support. The previous release introduced the effective POM view, and some of the many enhancements in NetBeans IDE 7.4 include reworked compile on save, as well as a brand new Build Execution Overview dialog to easily track the goals that have been executed.

8. Java Editor. The Java Editor, always the centerpiece of NetBeans IDE, is significantly more responsive than before. It sports a range of completely new and creative features, such as enhanced code completion, Java code metrics, and many new hints and refactorings.

9. Versioning. Out of the box, NetBeans IDE supports Mercurial, Subversion, and Git. Significant enhancements have been made in the support for all three tools, including fine-tuned diffing and reintegration between branches.

10. Task Manager. JIRA and Bugzilla issues can now be tracked within the new Task Management window. Create new issues within the IDE, work with them directly as you code, and simplify the development flow by having your code and your issues available to you within the same IDE.

More details can be found here: http://wiki.netbeans.org/NewAndNoteworthyNB74