Thursday Sep 24, 2015

Perspectives on Java Evolution!

To mark twenty years of innovation, the May/June issue of Java Magazine interviewed Mark Reinhold, chief architect of the Java Platform Group at Oracle. Reinhold described what has surprised him most about Java's evolution, discussed the importance of retaining the "feel of Java," and offered his opinion on Oracle's stewardship of Java during the interview

He also explained the recipe for how Java evolves: identifying a pain point, figuring out what abstractions are missing, and then adding those abstractions. With that recipe in mind, he discussed the two pain points that Java SE 9 will address: Java is a huge, monolithic platform and large applications tend to be brittle. Both pain points will be addressed in Java SE 9 with a common solution: modules.

In addition, Reinhold discussed his career and day-to-day activities, and he offered some advice to novice developers. Read the interview here.

Wednesday Sep 09, 2015

Java 8 in Practice!

How can you use the new features of Java 8 in your day-to-day programming? In the article “Java SE 8 in Practice”,  Trisha Gee explores some specific Java SE 8 features such as lambda expressions and the Stream API to easily perform common operations, such as mapping, sorting, comparing, and working with files. 

Trisha demonstrates with live code how to create leaderboard of top tweeters, a map with key entry for every new handle and a user for each key. She compares before and after Java SE 8 and describes how IntelliJ IDEA is useful for programmers to bridge the gap between their current Java knowledge and the new succinct syntax of method references. To rank users into the leaderboard, she sorts them according to the number of times they’ve tweeted using the sorted() method on Stream. The application creates a bar chart representing a range of streamed data over time using the new Data and Time API. Next she touches on file handling in Java 8 SE to parse a file that contains tweets, demonstrating the nice integration between Java 8 streams and Java SE 7 I/O. Finally, she demonstrates parsing the tweets using more advanced Stream API methods in the “tweet mood analyzer” part of her application.

“Java SE 8 is more than just a bit of extra syntax to learn or a couple of new methods that might be useful. It can change the way we approach solving common problems,” she explains. Find the full article here

Tuesday Sep 01, 2015

Java 8 Date & Time

Want to learn the intricacies of the new Java 8 Date and Time API? Learn how to simplify your programming of date and time and use Java 8 Date and Time API. In the next VTS, Simon Ritter discusses how the previous APIs treated the date and time and explains the much need improvements of the new API. For example, the classes java.util.Date and SimpleDateFormatter were not thread-safe.

Java 8 introduced the JSR 310, Date and Time API, which is based on the very popular open source Joda time API. The new Java library handles the format and schedule of time and date in a much more intuitive and flexible way. Simon explains in detail how to use the new API with different formats for setting future dates, dealing with time zones, adding temporal adjustors and much more.  

VTS is a series of interactive online events with hands-on sessions and presenters answering technical questions. The events are sponsored by the Oracle Technology Network (OTN). They are free events but you must register. Join the next exclusive events near you: 

  • Americas - September 16th- 9:30am to 12:30 PST - Register 
  • EMEA - September 23rd - 9:30am to 12:30pm BST - Register
  • APAC - September 30th- 3pm to 6:30pm AU/SYD - Register

Wednesday Jul 08, 2015

Java ME 8 Tutorial Series

In Part 1 of his series on using Java ME 8 to control Internet of Things (IOT) devices--such as LEDs, relays, LCDs, sensors, motors, and switches--connected to a Raspberry Pi, Jose Cruz explained how to work with devices that use a simple general-purpose input/output (GPIO) interface. GPIO devices can be used as either a digital input or digital output, can be disabled or enabled, and can be used to drive interrupt lines. Part 1 explored how to connect and control a flame sensor, a movement sensor, and a motion sensor.

In Part 2 of his series, Cruz described how to connect and control devices that use an inter-integrated circuit bus (I2C) interface. 

Now, in Part 3 of the series, Cruz demonstrates how to use universal asynchronous receiver/transmitter (UART) interfaces to connect devices that read latitude, longitude, altitude, and time from a GPS receiver engine board and provide the information via spoken voice in English and Spanish.

As before, you will see how to develop Java ME 8 classes that allow you to gather data and control these devices. The code for the classes is very similar, so once you understand it, you will be able to create new classes that control additional UART devices to create your own IoT world.

Tuesday May 12, 2015

Java 9 Schedule

Chief Java Architect Mark Reinhold recently proposed a new schedule for Java 9 milestones, now on the JDK 9 project page 
  • 10 December 2015: Feature Complete
  • 04 February 2016: All Tests Run
  • 25 February 2016: Rampdown Start
  • 21 April 2016: Zero Bug Bounce
  • 16 June 2016: Rampdown Phase 2
  • 21 July 2016: Final Release Candidate
  • 22 September 2016: General Availability
For more information about why these dates were chosen, see his post.

Java 9 will introduce a modularized JDK, which means developers will be able to load smaller amounts of code when running applications that donít require the entire environment. This will enable Java to scale from small devices to large software systems while providing a secure platform.

The following JDK enhancement proposals (JEPs) outline how modularity will be implemented in JDK 9:
  • JEP 200: defines a modular structure for the JDK.
  • JEP 201: reorganizes the JDK source code into modules, enhances the build system to compile modules, and enforces module boundaries at build time.
  • JEP 220: restructures the JDK and Java runtime environment (JRE) images to accommodate modules and to improve performance, security, and maintainability.
For a list of other JEPs targeted to Java 9, see the JDK 9 project page. Also see the JSR 376 project page, which introduces the module system for the Java platform.

Wednesday May 06, 2015

Think Functional With Java 8

Want to master parallel programming in Java 8? The syntax of Lambda Expressions is fairly simple. How Lambdas and the Streams work together is not as straightforward. Both features introduce a functional style of programming into Java for the first time.  In his Virtual Technology Summit session, Simon Ritter will explain how to rethink the way you program with functional programming and Java in mind.  He will use real world examples to show how to write functional code in Java and what things to avoid. Join him for this session at the next Virtual Technology Summit (VTS).  

We are celebrating 20 years of Java and innovations with Reactive Java EE, Java 8 Lambdas and IoT projects. The VTS is an interactive, online event, sponsored by the Oracle Technology Network (OTN). VTS is free, but you must register.  Join us for one of these exclusive events in your time zone:  

EMEA - May 12 - 9am to 12:30pm GMT
APAC - May 19 - 3pm to 6:30pm AU/SYD

Register now. The event is free 

Tuesday Apr 28, 2015

Autonomous Land Vehicle IoT Navigator

Want to know how to create an innovative IoT project that connects to the cloud?  Using inexpensive, off-the-shelf components, see how to assemble a small, land-based robotic vehicle and really give it something to think about! Learn how to use Java Embedded to integrate with vehicles, interact with onboard sensors, develop autonomous capabilities, and provide monitoring capabilities for your drone via the cloud. Don’t miss it at our next Virtual Technology Summit (VTS). 

We are celebrating 20 years of Java and innovations with Reactive Java EE, Java 8 Lambdas and IoT projects. The VTS is an interactive, online event, sponsored by the Oracle Technology Network (OTN). VTS is free, but you must register.  Join us for those exclusive events in your time zone:  

Americas - May 5 - 9am to 12:30pm PT
EMEA - May 12 - 9am to 12:30pm GMT
APAC - May 19 - 3pm to 6:30pm AU/SYD

 Register now!

Thursday Apr 23, 2015

Announcing Java 8 Update 45

Java™ SE Development Kit 8, Update 45 (JDK 8u45) includes the IANA time zone data version 2015a. This changes will affect the following timezones : the Mexican state of Quintana Roo, Chile, America/Santiago, Pacific/Easter, and Antarctica/Palmer. For more information visit Timezone Data Versions in the JDK 8u45

Check out product manager Aurelio Garcia Ribeyro’s blog about Understanding Time Zone Udpater 2.0 to fully understand how to update to daylight saving time.

Security Baselines
The security baselines for the Java Runtime Environment (JRE) at the time of the release of JDK 8u45 are specified in the following table:

JRE Family Version    JRE Security Baseline
(Full Version String)
Java 8                          1.8.0_45
Java 7                          1.7.0_79
Java 6                          1.6.0_95
Java 5.0                       1.5.0_85

For more information about security baselines, see Deploying Java Applets With Family JRE Versions in Java Plug-in for Internet Explorer.

Thursday Apr 09, 2015

Devoxx France and 20 years of Java

In this interview, Antonio Antonio Goncalves talks about the 4th edition of Devoxx France. The keynote speakers this year discusses the next 20 years of Java 

Sunday Mar 22, 2015

Minecraft Modding Course at Elementary School - Teach Java to Kids

By Guest Blogger Arun Gupta

Cross posted from

Exactly two years ago, I wrote a blog on Introducing Kids to Java Programming using Minecraft. Since then, Devoxx4Kids has delivered numerous Minecraft Modding workshops all around the world. The workshop material is all publicly accessible at In these workshops, we teach attendees, typically 8 - 16 years of age, how to create Minecraft Mods. Given the excitement around Minecraft in this age range, these workshops are typically sold out very quickly.

One of the parents from our workshops in the San Francisco Bay Area asked us to deliver a 8-week course on Minecraft modding at their local public school. As an athlete, I'm always looking for new challenges and break the rhythm. This felt like a good option, and so the game was on!

My son has been playing the game, and modding, for quite some time and helped me create the mods easily. We've also finished authoring our upcoming O'Reilly book on Minecraft Modding using Forge so had a decent idea on what needs to be done for these workshops.

Minecraft Modding Workshop Material

All the workshop material is available at

Getting Started with Minecraft Modding using Forge shows the basic installation steps.

These classes were taught from 7:30am - 7:45am, before start of the school. Given the nature of workshop, the enthusiasm and concentration in the kids was just amazing.

[Read More]

Insider News from the Java Team at Oracle!



« October 2015