Java Archive

Java 1.5 for the .NET Platform

I read in InfoQ: "Ja.NET is a port of Java 1.5 SE to the .NET platform. The compiler is based on the Eclipse JDT, which has been modified to generate IL as well as Java Byte Code. Java traditionally compiles each class into a separate file, but this creates an unacceptable overhead for .NET. To address this, a tool based on Cecil is used to create larger assemblies much in the same way Jar files are created for Java."

JavaFX 1.0 Released

Sun has released the first version of JavaFX, aptly named JavaFX 1.0. "JavaFX 1.0 returns to the sales pitch that Sun used during Java's launch more than 13 years ago: a foundation for software on a wide variety of computing "clients" such as desktop computers or mobile phones. JavaFX builds on current Java technology but adds two major pieces. First is a new software foundation designed to run so-called rich Internet applications--network-enabled programs with lush user interfaces. Second is a new programming language called JavaFX Script that's intended to be easier to use than traditional Java."

JNode 0.2.7 Released

The JNode team has released the latest version of their operating system written in Java (it does have a small assembler nano kernel). "This release features the integration of the OpenJDK implementation of Swing and AWT, and significant improvements to the overall JNode GUI including improved painting and font rendering, generic VESA support and graphical console. The release also includes a new command argument framework for the shell, reworked shell commands, a configure tool for the JNode build environment, Samba file system with read/write support and many stability and bug fixes across the whole system." They have screenshots, a changelog, and (surprise!) a download page.

Multiple Return Values in Java

Today was one of those days when I wished Java would support multiple return values. I had to develop a rather CPU-intensive algorithm which would compute a solution for a knotty constraint problem. Having a solution alone is sometimes not enough and you also need to add some parameters which measure the quality of the computed outcome. Most of these accompanying parameters can or have to be computed within the algorithm itself, but Java allows you to return only one value either an object or a primitive type. People working with Lisp, MATLAB or Perl, just to mention a few, don't have a problem like this at all. Functions supporting multiple return values is already implemented at the language level and frameworks make heavy use of this. But as a Java programmer you are pretty much stuck here and need to consider some other means to come out of this situation. In the following I would like to give some hints on that topic. Hopefully they are of help for anyone having the same problem every now and then.

JNode 0.2.6 Released

JNode 0.2.6 has been released. "JNode is a free, open source Java technology based OS written fully in Java language (with a very small assembler nano-kernel). This release features over 99 percent java 6 api compatibility, hotswapping, nfs, hfs+, even more openJDK integration, jetty6 and of course bug fixes and improvements."

IcedTea 1.6 Released

The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools and provides replacements libraries for the binary plugs with code from the GNU Classpath project. This release adds the "Zero-assembler" port which will allow IcedTea to run with zero (ok, minimal) porting effort on any GNU/Linux architecture that has a gcc and libffi port available. JNLP support has been added through the addition of NetX, which makes a lot of java webstart applications work out of the box. Check out the screenshots. Gary Benson will give a talk about the zero-assembler port at FOSDEM during the free Java developer meeting where GNU Classpath, OpenJDK and many other Free Java projects come together to plan the future of Free Java on GNU/Linux.

IcedTea 1.5 Adds PowerPC Java Port

The IcedTea project added a PowerPC Java port (both 32 and 64 bit) of OpenJDK. IcedTea 1.5 now also tracks the mercurial repo, provides better GNU/Linux integration by using standard system libraries (libpng, libjpeg, zlib, giflib) and can be bootstrapped with the free gcj/ecj/classpath toolchain. OpenJDK just accepted a new porters group and Gary Benson wrote a guide to porting IcedTea that might be the start of a lot of other Java ports.

Java SE 6 Developer Preview 8 for Leopard Released

Straight from the ADC site (a free online account is enough to gain access to the download): "Java SE 6 Developer Preview 8 is an implementation of Sun's Java SE 6 for Mac OS X v10.5.1 and later. This Preview includes Java SE 6 version 1.6.0_01. This Developer Preview does not change the default version of Java. This release is only for Mac OS X v10.5.1 and later, and should not be installed on earlier versions of Mac OS X. This release is for 64-bit Intel-based Macs only and cannot run on PowerPC-based or 32-bit Intel-based Macs."

Sun Scrapping Mobile Java, Moving Devices to Standard Java

Sun's starting to phase out mobile Java that's been the standard on cellphones and other small devices in favor of their standard edition, which are made for PCs everywhere. Sun VP James Gosling's reasoning for shifting everyone over to Java Standard Edition is because 'cellphones and TV set-top boxes are growing up', meaning they're getting enough processing power to handle all the demands of full-featured Java.

GNU Classpath 0.96, IcedTea 1.4 Released

GNU Classpath 0.96 "Staying Alive!" and IcedTea 1.4 just got released. GNU Classpath is slowly turning into a bootstrapping platform for IcedTea/OpenJDK by providing the necessary free software plugs that are missing from Sun's OpenJDK to provide various GNU/Linux distributions with the fully free GPLed IcedTea Java platform implementation that will be in the Fedora (Werewolf), Debian, and Ubuntu (Gutsy) releases.

JNode 0.2.5 Released

"After nearly a year of hard work the JNode team is proud to announce the release of JNode 0.2.5, the new intermediary development version of the JNode operating system. JNode is a free, open source Java technology base OS written fully in Java language (with a very small assembler nano-kernel). This release features OpenJDK integration, Java 6 support, substantially impoved consoles, experimental support for isolates and a large set of bug fixes and improvements to all parts of the system, including better memory mamagement and increased performance."

Fully Time Deterministic Java

For cost reasons the space agency is more and more interested in using Java for safety-critical missions. Until recently the lack of a time-predictable standard library has been a major hurdle to Java adoption in that particular field. It is no more the case as demonstrated by this AIAA (American Institute of Aeronautics and Astronautics) paper presented the first day of the Space 2007 conference (Long Beach, CA) and introducing the first fully time-deterministic (and open-source) library for Java: Javolution.

JavaFX, JavaFX Script: What Is It?

"I recently gave a presentation at the Portland Java Users Group about Java FX. After talking to some of the fine members of PJUG I realize that there is a lot of confusion about JavaFX and JavaFX script. JavaFX Script is just one part of the larger JavaFX umbrella. In fact, you don't even have to use JavaFX Script to gain many of the benefits of JavaFX! This weblog posting is my attempt to clear up a few things and get you excited about the future of client Java. After reading it I hope you will come away with a better understanding of what JavaFX is and why we created it."

Fedora Includes Sun OpenJDK/GNU Classpath Fusion IcedTea

Just in time for Fedora 8 test 2 IcedTea has landed in Fedora RawHide. The IcedTea project provides a harness to build the source code from the Sun OpenJDK project using Free Software build tools (gcj) and provides replacements for the non-free binary plugs with code from the GNU Classpath project. Installing this experimental GPL Java platfom is now as easy as yum install java-1.7.0-icedtea. In addition, Sun has promised to provide a Test Compatibility Kit soon so people can see how 'officially Java' this package really is.