Wednesday Jun 22, 2016

A Two-Wheel Self-Balancing Robot: JBalancePI

Create a two-wheeled, self-balancing robot using Raspberry Pi 2 Model B with GPIO and I2C interfaces and Java 8 in part I of this new series by Jose Cruz. To control the robot's movement and balance, he uses three modules: a sensor that contains a three-axis gyroscope and an accelerometer, a pulse width modulation (PWM) servo driver, and a motor driver. These modules create a feedback control loop that balances the robot and automatically corrects its position. 

As Cruz explains, balancing a robot is an example of the classic inverted pendulum problem, in which a large mass is placed at the end of a pole. He provides an explanation of the mathematics that make this solution possible, and then he shows how to create the necessary Java ME 8 classes for controlling the robot. To learn more, read the article

Thursday Jun 16, 2016

Get Involved with Java Standards!

Joining the Java Community Process is made easier with the new release of JSR 364. Now individuals can join as associates and won’t need to have their employers sign off on the participation, explains Heather VanCura in this interview. The long-criticized membership fee is also gone. Watch the interview and learn how you can participate as a JUG, individual or a company.  Provide feedback by sending email to or via the JSR 364 project page 

Wednesday Jun 15, 2016

Java Day Tokyo Keynote

Java Day Tokyo is the largest Java conference in Asia with a very long history of supporting the local Java community. Organized by Oracle, it took place on May 24th in Tokyo. This year’s theme was “Innovate, Collaborate with Java.” It featured Java 9 with the project Jigsaw introducing modularity, a great milestone and improvement to the Java platform. Seven tracks will cover innovation on the Java platform including Java SE, Java EE, IoT and Cloud. 

Senior Director Bernard Traversat talked about building Java SE platform for the cloud, and the upcoming Java 9 release. The openJDK has all the new features of Java 9.  Bernard Traversat encouraged the community to “download, try and give feedback on the Java 9 early access releases so all the Java 9 release can be fixed before the general availability (GA) release. Watch it here

Cloud application foundation director David Delabassee discusses microservices, DevOps, Java EE, and the Java EE ecosystem. Watch it here

Geertjan Wielenger discussed JDK 9 tools and analyzers, and demoed JavaScript support in NetBeans. Watch the demo here

Tuesday May 31, 2016

From Big Data to Insights

By Editor in Chief Andrew Binstock

Welcome to the May/June issue of Java Magazine in which we look at how big data is done today. An unusual aspect of the platforms that handle big data is that they almost all run on Java — a testimony to its suitability for enterprise-scale needs.

However, today many of the primary tools don't require enterprise size to be useful. Apache Spark, for example, can work effectively on small, human-size databases. We show how this is done with one developer's project of querying a database of first names to find one for his unborn child. But even if you run Spark in enterprise apps, you'll find that it is much easier to use than earlier tools that required extensive setup and fiddling with systems. Our lead article on Apache 101 shows just how simple it can be to work with big data and produce useful results.

We also look at handling large datasets the traditional ways in two articles: with high-volume JDBC and through enormous in-memory data structures. The latter article shows a clever way of storing tens of gigabytes in memory but off the heap.

For those readers who do unit testing on their code (almost everyone, I trust), we preview the new features coming up in JUnit 5.

The rest of the issue shows off Ceylon, a recently released JVM language from Red Hat; how to set up Java cloud apps; and, for beginners, how generics work in Java — all topped off by our famous language quiz, our no-holds-barred book review, and my editorial. Enjoy!

Note: In our quest to support more devices, we have moved away from the former Java Magazine app. Currently, the magazine is available on the web and in PDF. To get the PDF, access the web page from a laptop or desktop and use the download icon on the right side of the page.

We will shortly complete migration of our back issues. Thank you for your patience while this process completes. If you're desperate for a specific back issue, drop me a note. We'll find a way to get it to you.

Like what you see? Wish we'd cover something else? Please send along your feedback, which I read attentively. You can always reach me at

Wednesday Jul 29, 2015

Java Champions

Learn how to become one of the Champions in the Java world!  Java Champions are members of the community who are recognized as leaders, technical luminaries, and innovative technologists.  All of them are top contributors in the Java community. They are conference speakers, bloggers, community leaders, user group leaders and more. You may know some of them, check them out!

“The Java Champion program is crucial to Java because its members come from all corners of the Java community. Every new member adds a new facet to the group, enriching it with new perspectives.” explains Java Champion Andres Almiray  

In the interview below, Java Champion Arun Gupta gives great insights on the program and a lot of good advice on how to become a Java Champion 

Candidates are nominated by Java champions. You can self nominate but it helps to be nominated by a Java Champion. Learn more

Thursday May 15, 2014

Oracle Massive Open Online Course: Develop Java Embedded Applications Using a Raspberry Pi

Start Date: Friday , May 30th, 2014 3:00 pm GMT

Based on the overwhelming response for the Java Embedded MOOCwe are offering the course again!

Have you wondered what the future of embedded devices looks like?

Have you ever wanted to create your own weather station or design a device to control the lights in your home automatically?

All of these questions will be answered in this practical hands-on course. This course introduces Java developers to the world of embedded devices and the Internet of Things (IoT). Embedded controllers are already a part of our lives. Meters read electric and water usage and send the readings to a central office. Electronic thermostats turn on the heat and air conditioning as required.

Java Embedded leverages your experience with Java to open the world of the Internet of Things by providing direct access to electronic sensors and mechanical devices.

Presented by: Tom McGinn, Angela Caicedo, Jim Weaver, Simon Ritter

Register for the Java Embedded MOOC now! Order your gear! Jump into IoT!

Monday May 05, 2014

Why Java ME?

Java ME is used on the Gemalto concept board, Keil Board, Qualcomm and Raspberry Pi boards. During this IoT Developer Challenge webinar, Globalcode Founder Vinicius Senger presents us with resources and advice to build a project with Java ME. You can start a project today with 2 other teammates and submit it to the IoT Developer Challenge. The three of you may win a trip to JavaOne 2014! 

Invited during the webinar was Java ME Product Manager Terrence Barr. He described the state of today's embedded market beyond phones and tablets, the advantages of Java ME over C or assembly development, products using Java ME, the new features of Java ME 8 and tips and tricks for developers. If you are looking to start with Java ME 8, check out his blog about getting started with samples and demo code. 

Wednesday Apr 30, 2014

New Release: Java Micro Edition (ME) 8

Today, Oracle announces the General Availability of Oracle Java Micro Edition 8. This release is the culmination of a two-year effort driving a major update of the Java ME technology as a modern embedded software platform, built as a foundation for new services in the Internet Of Things.

Java ME provides a robust, flexible environment for applications running on embedded and mobile: microcontrollers, sensors, gateways, mobile phones, personal digital assistants (PDAs), TV set-top boxes, printers and more. It includes robust security, built-in network protocols, and support for networked and offline applications. Oracle Java ME Embedded 8 is an implementation of the recently approved Java ME 8 standard, and includes support of alignment with Java SE 8 language features and APIs, an enhanced services-enabled application platform, and the ability to right-size the platform to address a wide range of devices in the Internet of Things. Application development is supported through the Oracle Java ME SDK 8.

Download the Java ME 8 SDK

Download the Java ME Embedded 8

 Check out the Java ME Embedded Documentation and Additional Resources

Read the Java ME Developer Tool Documentation

Ask questions at the Java ME Embedded Forum

Follow @javaembedded

Watch Java ME 8: Top 10 Features

Oracle Java Platform, Micro Edition (Java ME)-based products meet your Java technology needs for a feature-rich Java platform on small devices. Create the Future with Java ME!

Monday Mar 03, 2014

Compete in the IoT Developer Challenge!

Show the world your embedded Java + Internet of Things (IoT) application for a chance to win a trip to JavaOne 2014! 12 winners will receive a trip to JavaOne 2014, the #1 place to meet world-renowned Java experts. In addition, six students will receive laptops and certification vouchers. Team up and submit the video and code of your project  by May 30, 2014.

Don't know how to start? We are providing eight free online training sessions in March and April. They will introduce you to embedded Java Embedded, IoT, Raspberry Pi and more. Everyone who registers gets a chance to win a Raspberry Pi starter kit.  

Need just a little bit of help? We will provide experts along the way -- regular "office hours." Ask questions on the Challenge forums and check the online resources. There may be some source code and solutions you can use for your project.  

At previous developer challenges, we've had developers:

  • Connect a doorbell to a camera, taking a picture and sending it to a cell phone when someone rings the doorbell.
  • Help blind people figure out which recycling container to use ("put it in the blue can" doesn't help!)
  •  Control a toy monster truck from a phone (Monster Truck As A Service!) 
  •  Connect a heart monitor to Google glass so your doctor or trainer can see your heart rate.

This short video shows them in action: 

Entries will be judged based on their implementation, innovation and usefulness:

  • Quality: a well-implemented project that uses Oracle Java Embedded with computer boards, devices or IoT Technologies
  • Innovation: a new and innovative way of using Java Embedded.
  • Usefulness: a project that meets a business need.

Learn more and register for the IoT Developer Challenge at

Tuesday Jul 23, 2013

Java ME Embedded 3.3 Simplifies Application Development for the Internet of Things

Oracle has announced the general availability of  the latest releases to Java ME Embedded 3.3 and Java ME Software Development Kit (SDK) 3.3, a complete client Java runtime and toolkit optimized for microcontrollers and other resource-constrained devices. This release includes improvements of interest to developers, including ways to not have to build so much "core plumbing" for an app, and more information about memory and network usage, which can be critical for low-power apps.

Java ME Embedded 3.3 includes:

  • Binary implementations for popular development boards: Oracle Java ME Embedded 3.3 binaries are freely available available for download from OTN for development and testing for ARM architecture-based developer boards, including the low cost and popular Raspberry Pi, or the Keil Evaluation Board, both accessible from the Java ME SDK 3.3.
  • Strong support for market-leading Embedded chip architectures: from ARMv5 through to ARMv7.
  • Significant improvements for device APIs: increases the range and number of external peripherals that can be integrated and addressed by applications built on Oracle Java ME Embedded 3.3.  IO access now includes APIs for UART, ADC/DAC and AT commands, of particular relevance for wireless modules. This reduces amount of "core plumbing" that developers need to build before they can build their applications and services.
  • Significant improvements in run-time monitoring (Memory Status and Network activity) and logging.
  • an API to Oracle Java ME Embedded 3.3 that allow access to detailed logs, providing forensic insight into what happened at certain points of the application execution

Oracle Java ME SDK 3.3 includes:

  • New support for Microsoft Windows 7 32-bit and 64-bit, in addition to Microsoft Windows XP 32-bit.
  • Java ME SDK plug-ins for the NetBeans Integrated Development Environment (IDE) and Eclipse, enabling more application development environments for Java ME developers.
  • Emulation of external peripherals and connectivity; e.g. Java ME SDK 3.3 will emulate the wireless access point, along with peripherals such as ADC/DAC, pulse counter, and power management to expedite the time to 'code complete' and reduce the time and cost of application testing.
  • In-field and remote administration and debugging.

Oracle Java Platform Integrator Program 

Oracle is also introducing the Oracle Java Platform Integrator program to provide partners with the ability to customize Oracle Java ME Embedded products to reach different device types and market segments.


Download Oracle Java ME Embedded 3.3
Documentation for Oracle Java ME Embedded 3.3
Download Oracle Java ME SDK 3.3
Documentation for Oracle Java ME SDK 3.3
Learn About the Oracle Java Platform Integration Program
Video: Getting Started with Oracle Java ME Embedded and Raspberry Pi
Video: Setting Up and Running a Java Application on an ARM Evaluation Board
Video: Getting Started with Java ME Embedded 3.3 on the KEIL Board  Part 1,  Part 2

Insider News from the Java Team at Oracle!



« June 2016