Monday Oct 20, 2014

Moving on to Java 8

Last month, I wrote about our efforts to make the transition to Java SE 8 smooth for end users. The incredible pace of adoption of Java SE 8 by the Java community surpassed our expectations, with open source projects and commercial products like Oracle WebLogic Server alike announcing their readiness for the new platform release.

With the release of Java SE 8 Update 25, the Java SE 8 runtime is now available on java.com as the default JRE for end-users. The process of migrating users from Java 7 to Java 8 through the auto update feature is expected to take place during the first quarter of 2015.

As outlined in the Oracle Java SE Support Roadmap, after April 2015, Oracle will no longer post updates of Java SE 7 to its public download sites. While existing Java SE 7 downloads will remain accessible on Oracle Technology Network, developers and end-users are now encouraged to begin the transition to Java SE 8.

Customers who need continued access to critical bug fixes and security fixes as well as general maintenance for Java SE 7 or older versions can get long term support through Oracle Java SE Support.

Sunday Sep 28, 2014

Java SE 8 Adoption - The Big Guns

With JavaOne underway, and lots of coverage around Java SE 8, a subject that will be on many attendees' minds is their own readiness to migrate to Java SE 8. More broadly, the Java community's adoption of the latest major release of the Java SE platform among ISVs and open source projects alike.

In a previous blog post I touched on that subject briefly from the developer perspective, mentioning examples of hundreds of open source projects, among them prominent Linux distributions like Fedora and languages on the JVM like Scala working to ensure that their software runs well on JDK 8. In the weeks since my last post, more projects have discussed and announced their own plans to support or adopt Java 8 - Apache Lucene is one prominent example, Oracle Glassfish Server Open Source Edition is another, but similar discussions and decisions are underway in many other open source projects, from QueryDSL, Apache Camel, Ratpack to parts of the Big Data ecosystem like HBase and Apache Hadoop itself.

This pace of adoption for a major Java platform release is unprecedented!

Oracle is as excited about the performance and productivity benefits of Java SE 8 as everyone else in the Java community. I am particularly pleased to see that Oracle WebLogic Server - the foundation for all Oracle Fusion Middleware - is now certified on Oracle JDK 8. See the blog post by Steve Felts in the WebLogic team for details on their product announcement.

If you'd like to join in the fun, the JDK 8u20 release is available on OTN, and early access builds of JDK 8u40 are available for testing on jdk8.java.net.

Thursday Sep 11, 2014

Java 8: Not Just For Developers Any More

As with past Java releases such as Java 7, Java 8 was first made available through the Oracle Technology Network (OTN) to give developers adequate time for testing and certification before being made available on the java.com website for end users to download. Java 8 has been well-received since its release in March 2014. It was followed by the JDK 8u5 and JDK 8u11 Critical Patch Updates and, most recently, JDK 8u20 in August.

The JDK 8u20 release continues to improve upon the significant advances made in JDK 8 with new features, security and performance optimizations such as the new Advanced Management Console, the updated Java Mission Control 5.4, and the new MSI Enterprise JRE installer.

As part of the effort to make the transition to Java 8 smooth for end users, we have been publishing Early Access builds of update releases at jdk8.java.net. These enable developers to test their applications ahead of a release and regularly provide feedback during the development cycle. We are working both with ISVs through the Oracle Java CAP Program and the broader open source Java developer community through OpenJDK, including popular open source projects such as Scala, Groovy and Apache Lucene.

As a result, I am pleased to see that Java 8 enjoys a nice uptake among developers. For example, there are thousands of open source projects written in the Java programming language building and testing against JDK 8 already. As another example, Linux distributions such as Fedora are working to switch] their collections of Java-based libraries and applications to use Java 8 as the default runtime. Scala developers have announced plans to move to Java 8 in a future release, as well.

That is an amazing community response within less than six months of a major Java platform release!

Based on our experience so far, I expect Java 8 to be ready to debut as the default Java runtime on java.com before the end of 2014, and the process of migrating users from Java 7 to Java 8 through the auto update feature to take place during the first half of 2015. I will have more to share on that as we prepare for the transition.

If you’re a Java developer and you haven’t yet started to prepare, now would be a good time to take JDK 8u20 for a spin! And if you are feeling brave, maybe even one of the Early Access builds of JDK 8u40.

Wednesday Jul 23, 2014

Oracle JDK on 64-bit ARM - July 2014 update

Oracle and ARM have been working together for a while now to port the Oracle JDK 8 to the 64-bit ARMv8 micro architecture, in support of the introduction of 64-bit ARM-based servers. This project is making good progress and remains on track for GA in the first half of CY2015. Collaboration with hardware partners is going well:

  • AMD: We are expecting the first systems from AMD shortly and will start working immediately to verify our implementation on them.
  • Applied Micro: Development and QA is currently done almost exclusively on Applied Micro X-Gene hardware. We have had access to their systems for a while, and they have been arriving in increasing numbers lately.
  • Cavium: We are engaged with Cavium and will be working on their systems as soon as they start shipping to development partners.

And current project status is green:

  • We have both the client (C1) and server (C2) compilers working, passing the TCK and a large battery of tests including stress/endurance.
  • Remaining work includes serviceability features like the Java Flight Recorder, application testing, bug fixing and performance benchmarking/optimizations.
  • We are now signing up the first set of partners and customers for a managed beta program to get feedback on quality, performance, features and target workloads. This is a major milestone that signals us moving from R&D towards being production ready.
  • Public early access program will be available later during the development project, after we have reached the Feature Complete milestone.

We plan to share more details about the features and schedule towards GA at JavaOne 2014. Be there to get the news first-hand, and also to see a variety of real workloads run on ARMv8 systems from our development partners.

Friday Jul 11, 2014

Updated: The future of Java on Windows XP

Oct 15: The recent JDK 8 Update 25 release includes a fix that enables installation of JDK 8 on Windows XP. It remains an unsupported platform and all recommendations in this blog entry still apply.

Earlier this year, Microsoft announced end of support for Windows XP. As a direct result, Oracle announced that we no longer provide official support for Java on Windows XP. The main implication of this is that a customer with a support contract may be required to reproduce an issue encountered on Windows XP on a later version of Windows, and if the issue is specific to Windows XP Oracle is not required to (and may be unable to) issue a patch or a workaround.

This end of support announcement has been misread as "Java no longer works on Windows XP" or "Oracle will stop Java updates from being applied on Windows XP". These statements are not correct.

We expect all versions of Java that were supported prior to the Microsoft de-support announcement to continue to work on Windows XP for the foreseeable future. In particular, we expect that JDK 7 will continue to work on Windows XP. Security updates issued by Oracle will continue to be pushed out to Windows XP desktops. Users that download JDK 7 from java.oracle.com or java.com will continue to be able to install on Windows XP.

JDK 8 is not supported on Windows XP. Early versions of JDK 8 had known issues with the installer on Windows XP that prevented it from installing without manual intervention. This was resolved in JDK 8 Update 25.

The important point here is that we can no longer provide complete guarantees for Java on Windows XP, since the OS is no longer being updated by Microsoft. We strongly recommend that users upgrade to a newer version of Windows that is still supported by Microsoft in order to maintain a stable and secure environment.

Q: I recently read on the Internet that Oracle’s upcoming security update for JDK 7 will not work on Windows XP. Is this correct?
A: No. Don’t believe everything you read on the Internet.

Q: I have a desktop/laptop with Windows XP. Will I continue to get automatic updates for JDK 7 when Oracle release a security update?
A: Yes, at least until the End of Public Updates for JDK 7 which is currently scheduled for April 2015 (Java Support Roadmap).

Q: What happens after the End of Public Updates for JDK 7?
A: We will continue monitor the uptake of Java 7 updates on Windows XP. If usage remains high when we get close to that milestone, we will take measures to keep Java users safe. There are several options available to us if that becomes necessary.

Q: Can I install JDK 8 on Windows XP? Will it work?
A: Yes, as long as you install JDK 8 Update 25 or later. Earlier updates of JDK 8 had an installer issue that prevented installation in Windows XP.

Q: My company is using Windows XP Embedded which is still supported by Microsoft. Will Oracle support this?
A: We have never officially supported Windows XP Embedded with any current Java version. However, as long as Microsoft provides support for Windows XP Embedded we could consider it. Contact Java sales in your region if you have a need for this.

Tuesday Jun 03, 2014

Oracle and Cavium to work together on Java SE 8 on 64-bit ARMv8

We have been working for some time on a standard Oracle JDK 8 port to the upcoming introduction of 64-bit servers based on the new ARMv8 micro architecture. At ARM TechCon 2013 in Santa Clara, California, we announced a roadmap with an expected GA in 2015. This project is going very well and is ahead of schedule. We will soon be at the point where we will make binaries available outside of Oracle - first in a managed beta program with select customers/partners, and sometime during the fall of 2014 as a public early access program. Unless something changes, we are looking at a early 2015 GA. We should be able to share a detailed ramp down and GA plan by JavaOne 2014.

One of the things we (obviously) need to produce a high-quality port is hardware for development and QA. We are therefore happy to announce that we will be collaborating with Cavium on this project. Cavium has been a supporter of the Java ecosystem for a long time and we have numerous joint customers running various Java versions on Cavium MIPS and ARM-based hardware. Cavium has now agreed to provide us with development hardware and engineering resources so that we can certify and optimize the initial Oracle JDK 8 release on Cavium's ThunderX hardware. This is expected to improve quality and performance of JDK 8 on ARMv8 in general, as well as on Cavium's hardware.

For more information:

As a reminder, we plan to release the Oracle JDK 8 port to 64-bit ARMv8 under the royalty-free (for general purpose servers etc) Binary Code License, but we have no current plans to open source it.

Thursday May 22, 2014

Oracle announces plans for Java on MIPS

Today at the Imagination Summit in Santa Clara, California, Oracle and Imagination Technologies announced a collaboration around Java and the Internet of Things (IoT). Imagination is an semiconductor R&D and IP licensing company, and the owner of the PowerVR GPU and MIPS micro-architectures. This collaboration between Oracle and Imagination Technologies includes:

  • Porting and optimizing Java for MIPS for embedded and server-side applications. The current plan is to provide three different configurations:
    • The initial port will be Java SE Embedded 8 for 32-bit MIPS R2 embedded SoCs. This is still in planning but is expected some time in the first half of CY2015 (subject to change etc). This will be preceded by an extended early access program.
    • Java SE Embedded 8 will later add support for 32-bit MIPS R6.
    • Finally, we are also planning for a 64-bit MIPS R6 port. This will more likely be a general-purpose Oracle JDK 8 port aimed at servers and network equipment.
  • JavaFX support for the PowerVR GPU family. The initial target for this work will be headful embedded SoCs.
  • Collaboration around Java standards for the Internet of Things. Imagination Technologies will join the Java community and work with Oracle and other community members in this area.

MIPS has historically been somewhat fragmented in terms of multiple partially incompatible implementations, and lack of a unified source for development tools and OS support. Imagination is taking steps to address this issue with its SoC partners through the recently announced prpl open source foundation, which will work to unify and stabilize support for Linux, virtualization, open source tools and related things. Oracle is strongly supportive of this initiative.

Imagination is the latest of a large set of companies and organizations that have joined the Java ecosystem, or expanded its activity, since the Oracle acquisition of Java from Sun Microsystems in 2010. Oracle is very pleased to welcome Imagination Technologies and the MIPS ecosystem into the Java family, and is looking forward to extending this collaboration to the broader MIPS ecosystem!

Thursday Oct 31, 2013

ARM TechCon 2013: Oracle, ARM expand collaboration on servers, Internet of Things

If you have been following Java news, you are already aware of the fact that there has been a lot of investment in Java for ARM-based devices and servers over the last couple of years (news, more news, even more, and lots more). We have released Java ME Embedded binaries for ARM Cortex-M micro controllers, Java SE Embedded for ARM application processors, and a port of the Oracle JDK for ARM-based servers. We have been making Java available to the Beagleboard, Raspberry Pi and Lego Mindstorms/LeJOS communities and worked with them and the Java User Groups to evangelize Java as a great development environment for IoT devices. We have announced commercial relationships with Freescale, Qualcomm, Gemalto M2M, SIMCom to name a few. ARM and Freescale on their side have joined the JCP, recently been voted in as members of the Executive Committee, and have worked with Oracle to evangelize Java in their ecosystem.

It is with this background, Nandini Ramani, Vice President, Java Platform at Oracle, announced a expanded collaboration with ARM in a TechCon 2013 keynote titled "Enabling Compelling Services for IoT". To summarize the announcement:

  • ARM and Oracle will work together on interoperability between the ARM Sensinode communications stack (based on CoAP, DTLS and 6LoWPAN) and Oracle's Java ME, Java SE and middleware products.
  • ARM will donate the Sensinode CoAP protocol engine to OpenJDK to stimulate broad adoption of the CoAP protocol, and work with Oracle to extend the relevant Java specifications with CoAP support. CoAP (Constrained Application Protocol) is an IETF specification that provides a low-bandwidth request/response protocol suitable for IoT applications.
  • ARM will work with Oracle and Freescale to enable the mbed Hardware Abstraction Layer (HAL) to act as a portability layer for Java ME Embedded. Oracle will enable mbed as a tier one platform for Java ME Embedded. Over time, this effort will allow any mbed-enabled platforms (mostly based on Cortex-M microcontrollers) to work with off the shelf Java ME Embedded binaries, extending the reach of Java ME into IoT edge nodes.
  • In Nandini's keynote, Oracle showed a roadmap to port the Oracle JDK for Linux on 64-bit ARMv8 servers in the 2015 time frame, preceded by an extended early access program. We expect this binary to have full feature parity with Oracle JDK on other platforms, and be available under the same royalty-free license. This effort has been going on for some time, but is now accelerated due to availability of hardware from Applied Micro. Oracle will be working with Applied Micro on the ARMv8 port, and on optimizing Java for their X-Gene products.
  • Oracle and ARM will work closely on IoT architecture, and on evangelizing Java on ARM for both servers and IoT devices.

These announcements reinforce Java's position as a first-class citizen in the ARM ecosystem, and signal a commitment from us to collaborate on driving standards and open ecosystem for the Internet of Things. If you are active in this area and not already in touch with us, or interested in learning more - please reach out to us!

Tuesday Sep 10, 2013

Oracle JDK 7u40 released - security features, hardfloat ARM, Java Mission Control and more

Oracle JDK 7 Update 40 is now available. This release introduces the following new features:

  • Java Mission Control. This is an advanced monitoring/diagnostics tool inherited from JRockit, now fully supported on the JDK 7. Also adds new features such as a DTrace plugin.
  • Java Flight Recorder, again a feature ported over from JRockit. This is a really cool feature that enables you to record events and metrics during runtime, and then extract them at will. You can even dump all or part of the data on a user-defined alert. Eg, "Why did that transaction take more than 1 second? Give me the last 10 seconds of data in your buffer so that I can figure out what went wrong."
  • Support for the Apple Retina display with Swing/AWT and JavaFX.
  • A new JDK binary for hardfloat Linux/ARM, for ARM-based micro servers and development boards. Yes, this means that we now have official JDK 7 support for the default Raspbian Linux distribution for the Raspberry Pi.
  • A new Deployment Rule Set feature to enable fine granular controls for execution of Applet and WebStart applications.
  • Security feature enhancements for applets, JAXP and x.509 certificates.

The new update of the JRE and the JDK are available from OTN. For more information, see the release notes.

For Mission Control, a great source of information is Marcus Hirt's blog (thanks, Marcus!).

Sunday Feb 24, 2013

Java in Steam Store

If you are even remotely into PC gaming, you must be familiar with Steam. And if you are familiar with Steam, you are most likely aware that they recently announced the GA version of Steam for Linux. I for one hope that this might finally signal an advent in Linux as an accepted and broadly used platform for PC gaming. One nice side-effect is that Java might get more adoption in this space, such as for casual games (Angry Birds is a good example) and for any game which doesn't require absolute 100% control over the hardware to be performant (Minecraft falls in this group). The benefit of Java is clear; porting cost between different platforms goes down. It may not be write-once-run-anywhere depending on how you use native libraries but certainly easier than porting a native game.

With this in mind, I was very happy to see this blog about Java on Steam from Puppy Games. They have built a wrapper library around the Steam APIs and use LWJGL as a graphics library. Other options would of course be JOGL or - as it matures - JavaFX, which will very soon be fully open sourced through the OpenJFX project. A great simple example of a JavaFX game is this version of Pong which is written in less than 100 lines of code.

Kudos to Puppy Games for their initiative, and to Steam for going Linux!

Tuesday Feb 19, 2013

Migrating from Java SE 6 to Java SE 7

Why should I migrate from SE 6 to SE 7?

The most obvious reason is that you will get access to all the new features and improvements that we have made to Java with the introduction of Java 7.

A few of these changes might require some updates to your code, but they are changes that are well worth it from a performance, quality and readability perspective. You can find more information here: http://docs.oracle.com/javase/7/docs/webnotes/adoptionGuide/index.html

Another important reason is the End of Public updates milestone for Oracle JDK 6. After February 2013, future JDK 6 updates will no longer be publicly available and old JDK 6 releases will me moved to the Java Archive. Running on an old version of Java is a bad idea, so now is the time to move to 7. For more information on the End of Public Updates milestone, see Java SE End of Life Policy

If you are unable to migrate some of your applications and need continued access to Oracle JDK 6 updates, Oracle offers long-term support through the Java SE Support program.

What do I need to do?

Option 1 – “Just run”

Java has binary backward compatibility. This means that if you have a program that has been compiled for and is running with Java SE 6, it will also run on a Java SE 7 JVM. Java SE 7 is strongly compatible with previous versions of the Java platform. Almost all existing programs should run on Java SE 7 without modification. However, there are some minor potential incompatibilities in the JRE and JDK that involve rare circumstances and "corner cases" that are documented here for completeness: http://www.oracle.com/technetwork/java/javase/compatibility-417013.html#incompatibilities.

Option 2 – Re-compiling and modifying source code.

Most of the new features introduced with Java SE 7 are improvements on a Java code level. To benefit from these you will have to update your old source code, or use the new features in any new code you write, and recompile your code for Java SE 7.

The Netbeans IDE can help you find locations in the code where you can use some of the new features, see this link for details. Other major IDEs have similar features.

Some APIs have been marked as deprecated, which means we encourage you to use the replacement APIs instead. The deprecated APIs can be found here.

Also, some of the APIs in the sun.* packages have changed. These APIs are, and have always been, intended for internal use only and any use is “at your own risk”. It is strongly recommended to find alternatives to using these packages as soon as possible.

Oracle JDK 7u15 and 6u41 released

Oracle has released a Critical Patch Update which including updates to JDK 6 and 7. More information about this CPU is available on https://blogs.oracle.com/security and in the releases notes (7u15, 6u41).

The JDK releases are available from the following download sites:

Note that this JDK 6 release is the final public update of JDK 6. For more information on the End of Public Updates milestone, see my previous blog on the topic.

Friday Dec 14, 2012

Oracle JDK 7u10 released with new security features

A few days ago, we released JRE and JDK 7 update 10. This release adds support for the following new platforms:

  • Windows 8 on x86-64. Note that Modern UI (aka Metro) mode is not supported.
  • Internet Explorer 10 on Windows 8.
  • Mac OS X 10.8 (Mountain Lion)

This release also introduces new features that provide enhanced security for Java applet and webstart applications, specifically:

  • The Java runtime tracks if it is updated to the latest security baseline. If you try to execute an unsigned applet with an outdated version of Java, a warning dialog will prompt you to update before running the applet.
  • The Java runtime includes a hardcoded best before date. It is assumed that a new version will be released before this date. If the client has not been able to check for an update prior to this date, the Java runtime will assume that it is insecure and start warning the user prior to executing any applets.
  • The Java control panel now includes an option to set the desired security level on a low-medium-high-very high scale, as well as an option to disable Java applets and webstart entirely. This level controls things such as if the Java runtime is allowed to execute unsigned code, and if so what type of warning will be displayed to the user.

More details on the security settings can be found in the documentation. See below for a sample screenshot.

Security Dialog Image

The new update of the JRE and the JDK are available via OTN. To learn more about the release please visit the release notes.

Tuesday Sep 25, 2012

Oracle releases new Java Embedded products

With less than one week to go to JavaOne 2012, we've spiced things up a little by releasing not one but two net new embedded Java products. This is an important step towards realizing the vision of Java as the standard platform for the Internet of Things that I outlined in a recent blog post. The two new products are:

  • Java ME Embedded 3.2. Based on same code as the widely deployed Oracle Java Wireless Client for feature phones, this new product provides a Java ME implementation optimized for very small microcontroller-based devices and adds - among other things - a new Device Access API that enables interaction with peripherals common in edge devices such as various types of sensors. In addition to the new Java ME Embedded platform, we have also released an update of the Java ME SDK which adds support for the development of small embedded devices.
  • Java Embedded Suite 7.0. This is an integrated middleware stack for embedded devices, incorporating Java SE Embedded and versions of JavaDB, GlassFish and a Web Services stack optimized for remote operation and small footprint.

A typical Internet of Things (or M2M) infrastructure contains three types of compute nodes: The edge device which is typically a sensor or control point of some kind. These devices can be connected directly to a backend through a mobile network if they are installed in - for example - a remote vending machine; or, they can be part of a local short-range network and be connected to the backend through a more powerful gateway device. A gateway is the second type of compute node and acts as an aggregator and control point for a local network. A good example of this could be a generalized home Internet access point, or home gateway. Gateways are mostly using normal wall power and are used for multiple applications, deployed by multiple service providers. Finally, the last type of compute node is the normal enterprise or cloud backend. Java ME Embedded and Java Embedded Suite are perfect base software stacks for the edge devices and the gateway respectively, providing the Java promise of a platform independent runtime and a complete set of libraries as well as allowing a programmer to focus on the business logic rather than plumbing.

We are very thrilled with these new releases that open up exciting opportunities for Java developers to extend services and enterprise applications in ways that will make organizations more efficient and touch our daily lives. To find out more, come to the JavaOne conference (for technical content) and to the Java Embedded @ JavaOne subconference (for business content). There will be plenty of cool demos showing complete end-to-end applications, provided by Oracle and our partners, as well as keynotes and numerous sessions where you can learn more about the technology and business opportunities.

Thursday Sep 13, 2012

Java 7 Adoption at 79%

According to a recent blog post from the cloud hosting company Jelastic, Java 7 adoption on their platform is now at 79%. While this is a single data point and should not be read too broadly, it does match other indicators we have that Java 7 is picking up, such as uptake among Oracle middleware customers, download statistics and online activity. The spike in adoption in April coincided with the release of JDK 7 Update 4. This is in line with our expectations since that release added Mac OS X support as well as java.com moving to Java 7 as the default download for end-users; two events that marked the maturity of Java 7 to the community.

Since the original release of Java 7, Oracle has shipped 7 update releases, added ports to Mac OSX and Linux/ARM and expanded JavaFX to all common desktop platforms.

About

Henrik Stahl is VP of Product Management in the Java Platform Group at Oracle, and is responsible for product strategy for Java ME and SE.

Search

Categories
Archives
« August 2015
SunMonTueWedThuFriSat
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
     
Today