Open JDK

Search and Sort API for Java
While working on some simple applications i realized that there is no standard seaerch and sort API for Java but a lot of books covering Algorithms in Java i.g. "Sedgewicks Algorithm in Java".
However it would be easy to implement common algorithms for basic purposes in Java for instance things like linear search binary search or sorting algorithms like bubble sort,...

Java: Update N
The Consumer JRE or Update N for Java 6 is a good one solving some bottlenecks of previous Java versions.
Except Quickstart and Nimbus all items of the new Update worked pretty well on my Win XP Notebook.
I was trying some Java apps i have written but i did not see a remarkable launch improvement instead they were running as usual.
The Deployment Toolkit is a nice Add-On for the...

... or whatever they will call it.
The concept is that we will have a Java core ("kernel") with a small footprint (a few megabytes) and the runtime will be able to download other parts of the JRE. My question: where is the boundary of the "downloadable stuff"? Will be available only the set of JARs that is today in Java 6?
I think that it would be a good thing if also extension APIs (such as JAI...

The OpenJDK project is about 95% of a complete Java implementation. That last 5% or so is what we've called 'encumbrances', code which we weren't able to open source.
The last two weeks has seen a lot of interesting movement to clearing the encumbrances. I don't know whether a comprehensive list of the encumbrances have been posted, unfortunately, but what's been cleared is significant. The...

Update 4
We tried very hard to split out corba, jaxp, and jaxws in Build 21
but didn't make it, however they just now got integrated
into Build 22.
This splits out an additional 6,000 files or so from the primary j2se
workspace.
This would not have been accomplished at all without
the dedicated hard work of
Seema,
thank you Seema.
So with Build 22 we will now have:
control
Primary...

In what appears to be the latest installment in the naming saga of Java releases, Sun officially renamed the "Consumer JRE" to "Java SE 6 Update N". Originally pioneered by Ethan Nicholas, it had a few sexy names, such as Java Browser Edition, Java Kernel and lately Consumer JRE. And now the official name is out, ant it is the most unpalatable name for a Java release that i have ever heard.
The...

LinAlg API: Stable release
A first stable release of LinAlg API is available. This release offers a few new features, some changes and also some demo apps.
New Features
I have added a tiny utility class called Utils

db4j: A simple Database API
If you are working a lot with Java DB then you repeatedly perform a few tasks every time and some only once.
For instance establishing a connection with a database and open a table of database usually happens at least once until you are working with more than one database. With JDBC you need to do the following for establishing the connection:
try{ ...

Update 3
Build 20 now contains a separate "langtools" (javac, javah, javap, apt, and javadoc) directory in the Build 20 source bundles.
Build 21 (could be 22) will have separate corba, jaxp, and jaxws directories.
Build 20 had some duplicate javac tests between j2se and langtools, this should get corrected in Build 21, which should be out soon.
Build 22 continues to be our target for the...

A few weeks ago Phil Toland wrote Stop the Insanity about the "rise" in popularity of languages other than Java. (but it didn't pop up in my feed reader until today) Last year it seemed you couldn't turn around without reading another blog entry saying Ruby was going to kill Java, etc. Now the named languages are Haskell or Erlang, but the story is the same. I think the rise of JRuby...

Recently, Shannon posts version 1.0 of beanbindings, even
if this version is not ready for production use,
it is stable enough to create a small demo mixing
property language support and
beanbindings.
The idea is to create a bean (here MyBean) with a bound
property (label) and to bind this property to two different
textfields.
Defining a bean
Because i use the property support...

VisGraph: Simple, Tiny, Visual
VisGraph API is a simple and tiny API for plotting standard math functions like sin(), cos(), abs() etc. that are provided by the java.lang.math package.
VisGraph implemens all methods as static methods so you can use them like the ones provided in java.lang.Math.
//plot a sin curve in green given the points belowdouble[] points = {2, 3, 4, 5, 6, 9, 12};plotSin(...

I came across this article by Chris Keene: Really Idiotic Approaches to RIA: Flex, Silverlight and JavaFX .. in which he describes Adobe's FLEX, Microsoft's Silverlight, and Sun's JavaFX as an idiotic timewarp approach to developing Rich Internet Applications. Hmm...
I've been wondering myself somethings about the growth in complexity that browser-based applications offer. Clearly this...

Update 2
The work to create OpenJDK/JDK7 Mercurial repositories is still
progressing, we had a hickup getting the langtools
split off from the j2se and it did not make Build 19 as you probably
well know.
We integrated the split into Build 20 and have spent the last
2 weeks adjusting to the change. So
Build 20 will contain a separate "langtools" (javac, javah, javap, apt, and javadoc)...

Compatibility or Diversity
One thing thats right in Davids comment is that as soon as there are many different distributions of one Software product this will hurt compatiblity to the original product. One reason why people develop different implementations of an existing product is that they think the original product (i)does not offer the thing they need and/or (ii)the feature works bad or not...

There was a little throwaway idea in my previous posting, Java is doomed to failure, which is growing on me. While writing I had this thought about the Unix wars.. and really that period, the fallout from which is still with us, is a great analogy of what could happen with Java if the various implementations were allowed to differ greatly.
Compatibility matters. That's more than just a slogan...

SIMD: Introduction
For those that are not familiar with SIMD, which is short for Single Instruction Multiple Data i will give a short introduction. If you never worked with low-level assembly or C code, SIMD is a bit hard to understand but i will try to explain it. Basically, using SIMD requires an understanding of how a CPU works and how a CPU processes data between memory and its various...

The number one question I get about the JMX API at conferences
and other public events is whether there will be support for
defining MBeans using annotations. People see that they can
make EJBs or Web Services just by adding annotations to a POJO,
and they ask why they can't make MBeans the same way. In
version 2.0 of the JMX API, being defined by JSR 255, this...