Java Archive
Java 22 ships the final versions of the Foreign Function and Memory API as well as the Unnamed Variables and Patterns API. Plus Java 22 brings region pinning for the G1 garbage collector, statements before super(…) are in preview phase, a class-file API preview, support to launch multi-file source code programs, the latest work on the Java Vector API, Stream gatherers in preview, the second preview for structured concurrency programming, and various other additions. ↫ Michael Larabel at Phoronix You can find the GPL-licensed OpenJDK builds at the OpenJDK website.
Every six months, there is a new Java release. Ever so often (currently, every two years), Oracle labels a release as “long term support”, and Java users wonder whether they should upgrade. In theory, other JDK distributors could offer “long term support” for other releases, but it seems everyone is following Oracle’s lead. Should you upgrade? Here are the major features of Java 21. I omit preview and incubator features (which you are surely not going to use in production), JVM internals, highly specialized features such as this one, and deprecations. The answer is yes – you should definitely upgrade.
Java 21 introduces the notion of sequenced collections, the Z Garbage Collector (ZGC) has been extended to maintain separate generations for young and old objects for improving Java app performance, virtual threads are now out of preview form, and the Windows 32-bit x86 port has been deprecated for removal. Java 21 also brings some new preview features including string templates, the latest iteration on the foreign function and memory API, unnamed classes and instance main methods, scoped values, and structured concurrency. You can find the GPL-licensed OpenJDK builds at the OpenJDK website, and the closed source builds from Oracle are also available.
Java 21 will be released on September 19, 2023, supporting record patterns in switch blocks and expressions. Such syntax is monumental (At least, in Java land). It marks the point where Java could be considered to properly support functional programming patterns in ways similar to Kotlin, Rust, or C#. And it marks the first point where I can say, as a Kotlin developer, that I feel jealous. I’ve got nothing to say about matters such as these, so I’ll just quietly back away and let you all handle it.
This is the first in a series of articles about the history of Java on the Desktop, from my perspective as a developer who started working with Java in the late ‘90’s. I’m writing this, partly as a background for why I created jDeploy, a developer-friendly desktop deployment tool for Java. Despite the ominous tone of this article’s title, I believe that Java is a compelling platform for modern desktop applications. Stick around for the whole series to find out why. Isn’t Java still one of the languages every aspiring programmer learns in school?
What follows is a list of the 25 most ingenious and influential Java apps ever written, from Wikipedia Search to the US National Security Agency’s Ghidra. The scope of these applications runs the gamut: space exploration, video games, machine learning, genomics, automotive, cybersecurity, and more. It’s posted by Oracle and thus it makes me feel dirty to link to it, but I guess it’s still an interesting list – albeit with one obvious, huge, giant, inescapable elephant of an mission.
Red Hat has taken control of two popular versions of the open source Java implementation, so developers can continue to build apps after Oracle’s support ends. A big deal to enterprise users and Minecraft players, but I can’t really muster any form of excitement over this. Then again, every bit less of Oracle in this world is good news.
Java 11 has recently been feature frozen and contains some really great features, one in particular we’d like to highlight. The release contains a brand new Garbage Collector, ZGC, which is being developed by Oracle that promises very low pause times on multi-terabyte heaps. In this article we'll cover the motivation for a new GC, a technical overview and some of the really exciting possibilities ZGC opens up.
Why would you look at that - I get to use the Java database category.
Almost 14 years ago, way back in 2003, Sun Microsystems unveiled Project Looking Glass, a 3D desktop environment written in Java and making extensive use of Java 3D. The demo, by Jonathan Schwartz, always stuck with me over the years, and since YouTube recommended the demo to me today, I figured it'd be interesting to you remind you all of simpler times, when flipping windows around and 3D rendering in Java actually managed to get us excited (something no other project would ever manage to... Wait.).
Project Looking Glass was developed for about three years, and it actually saw a 1.0 release in late 2006. It's one of those random projects exploring what we then thought could be the future of computing, right before the iPhone came onto the scene and changed everything. While nothing came out of Project Looking Glass, Schwartz' demo did teach me the phrase "arbitrarily clever", which I'm unusually attached to.
The
Lightweight Java Game Library provides a simple API to OpenGL, OpenAL, OpenCL and Game Controllers enabling the production of state of the art games for Windows, Linux and Mac. Version 2.9.0 contains a complete rewrite of the mac backend, support for FreeBSD, new OpenGL/OpenCL extension and bug fixes. The library is used by many high profile games such as Minecraft, Spiral Knights, Revenge of the Titans, Project Zomboid, Starsector, JMonkeyEngine, etc.
The
first preview release of RoboVM has just been made available. The primary goal of the project is to make it possible to develop native iOS applications in Java that use native iOS Cocoa Touch APIs. The RoboVM compiler translates Java bytecode into ARM or x86 machine code. The core classes (java.lang, java.util, java.io, etc.) are based on Android's runtime classes. RoboVM's compile time tools are GPLv2 licensed while the runtime is released under business-friendly licenses, mostly the Apache License v2.0.
"Java is a programming language that allows developers to write once and deploy everywhere - from high-end gaming desktops to smartphones. Its OS-agnostic and widespread nature is one of its strongest selling points, but one area where it can fall flat is performance. Generally, Java applications are not going to perform as well as native applications written for a specific OS. However, thanks to Project Sumatra that performance gap
may soon become less of an issue."
"As a typical Java developer I never monitored the memory usage of my application apart from following typical best practices like closing the connections, streams etc. Recently we were struck with few issues in our JBoss servers that I had to
dig in to the memory management."
Two years hence, Oracle's stewardship of Java
continues to raise user and vendor ire, this time due to modularization, licensing, and security concerns. 'Plans for version 8 of Java Platform Standard Edition, which is due next year, call for inclusion of Project Jigsaw to add modular capabilities to Java. But some organizations are concerned with how Oracle's plans might conflict with the OSGi module system already geared to Java. In the licensing arena, Canonical, the maker of Ubuntu Linux, says Oracle is no longer letting Linux distributors redistribute Oracle's own commercial Java, causing difficulties for the company. Meanwhile, security vendor F-Secure views Java as security hindrance.'
Oracle's Sun Java JDK packages are to be removed from the Ubuntu partner repositories and disabled on users systems. Oracle, in retiring the "Operating System Distributor License for Java," means Canonical no longer have permission to distribute the package. The change will affect Ubuntu 10.04 LTs, Ubuntu 10.10 and 11.04 users only. Users who have the "sun-java-6" package installed on their system will see it removed via a future software update -- the exact date of which is "TBD."
Patch up warmly this winter if you're running Java. That's the advice from .NET shop Microsoft, which reckons Oracle's platform is the single biggest target for hackers. Java proved the single most popular target in the 12-month period to the end of June, according to Microsoft's latest Security Intelligence Report has found
here Running Java as a Web-browser Plugin is much more dangerous than Flash, and should disable the Java Applet Plugin.
In the midst of the dual events Oracle OpenWorld and JavaOne (overshadowed, of course, by the iPhone event) Oracle
took a number of steps that show that they still care about making a go of Java on the desktop.
InfoWorld's Peter Wayner provides an
in-depth comparison of four Java cloud platforms, putting CloudBees, Google App Engine, Red Hat OpenShift, and VMware Cloud Foundry through their paces to 'reveal the pleasures and perils of coding on a public cloud platform.' 'The danger of lock-in seems to lurk around every corner, and that's not necessarily the worst part. What if we're happy with everything about our cloud except we need one missing feature that the cloud's masters either can't or don't want to deliver?' Wayner writes. 'Some of the clouds rely upon standard tools that take standard WAR files and deliver their information to the world. Others have so many proprietary twists that you might as well tattoo the code on your arm -- it's going to be with you for the rest of your life.'
"Java SE 7
is officially released today! After nearly five years of collaboration within the worldwide Java community, Java Platform, Standard Edition is ready for download! It's an important step in Java’s evolution. Thanks to everyone who suggested features, reviewed specs, argued on mailing lists, talked about Java 7 at your JUG meeting, submitted bugs, wrote blogs and tweeted about #java7."
"After an initial round of testing we've declared
build 147 to be
the first Release Candidate of
JDK 7. There are only
thirteen changes in this build. Over half of
them are administrivial updates that don't affect the actual code; the
remainder are true showstoppers, including several hard VM crashes and
a JIT correctness bug identified by an Eclipse unit test. If no new showstopper issues are reported, and if
JSR 336 and the
component JSRs pass their Final Approval Ballots in the JCP, then this
will be the GA build for release later this month per the
schedule
posted back in January."