Yesterday, a Hudson committer Alan Harder discovered an EOFException in Hudson, which only happens on 64bit JVM on Solaris. This was happening in the part of Hudson (or more precisely, in a separate library called Akuma) where we look at the memory space of the process to figure out the command line arguments of the current process (the /proc/ID/as file — an equivalent of /proc/ID/mem in...
on Sep 17, 2009
I was involved with development of a RCP application based on NetBeans platform and now I find few minutes to share some of the experience with you.
All standard coding and best practices are applicable here. Use project management systems like Trac or any project management system that you know. Never start a project without a project management system. Use coding standard, unit testing, desing...
on Sep 4, 2009
In the last updates, I did a quick port to JavaFX 1.2 and evaluated its performance again (and again). But as I keep playing with this benchmark and learning JavaFX, I added a few extra enhancements:
New options of 512 Balls (desktop) / 128 Balls (mobile), and Adaptive 60fps. These make easier to compare to some other versions of Bubblemark.
Binding-related enhancements recommended here.
on Jul 9, 2009
It has been a while since I have written about Pivot, so I thought I would put together a quick entry to highlight a few of the things we have been working on recently (Apache Pivot is a platform for building rich internet applications in Java. It is currently undergoing incubation at the Apache Software Foundation).
One of the new features added in Pivot 1.2 was support for...
on Jul 1, 2009
We all know that the JDK is big and it ought to be smaller. The question is how to make it smaller and still keep backward compatibility with existing applications.
I think I know how to do it, I did something similar to NetBeans APIs five years ago. Thus I started a little
experiment to split JDK into pieces. As that might influence the shape of your favorite libraries, I welcome you to help...
on Jun 22, 2009
Check first part here. By just adding -server, I got the following results (standard runs, without removing the toolbar or any other tricks):
16 Balls @ 980fps (1% CPU): 1.47X faster than HotSpot Client;
128 Balls @ 460fps (14% CPU): 1.39X faster;
Adaptive mode / 285 Balls @ 200fps (20% CPU): 1.28X more load;
Adaptive mode / 610 Balls @ 60fps (24% CPU) : 1.08X more load;
HotSpot Server is not...
on Jun 10, 2009
JavaFX 1.2 is not a fully backwards compatible release. There are language and API changes, and the compiled code is not binary compatible even for sources that still compiles without changes in the new version. Check Stephen Chin's migration guide. This continues the trend of 1.1; it seems Sun is not yet caring too hard about backwards compatibility. "Legacy" JavaFX 1.0 and 1...
on Jun 2, 2009
Recently my colleague observed an unusual class loading error while experimenting in GlassFish V3. I really enjoyed analysing the issue and getting to the root of the problem. I will share my experience here. JDK has a portion of OMG CORBA APIs belonging to org.omg.CORBA and similar package names. The bad thing is org.omg.CORBA package is an extensible package in the sense that different OMG...
on May 27, 2009
JavaOne is coming up, and with it no doubt a slew of enhancements to JavaFX. Many of you reading will have no doubt dipped your toe into the waters of Sun's new platform, but how well do you really understand the power of its Domain-specific language, JavaFX Script?
I've had a pretty good excuse to write lots of JavaFX code of late, and to be exposed to some of the difficulties programmers first...
on May 26, 2009
Recently, I got a new desktop, and the first thing I started with was building JDK. Approximately at the same time I got an image of a new operating system by Microsoft (beta version) and started testing it. So, the natural idea was to combine these efforts. Unluckily, I decided to install the 64-bit version of the system to get the most of 4Gb RAM.
Windows 7 installation went successfully,...
on May 8, 2009
I previously reported the highlights of b01 and b02. Following that, b03 was another round of stabilization and small features: fixed some critical compiler2 (HotSpot Server) bugs; closed an important Java2D perf bug (XOR rendering); allowed JavaFX (and other advanced gfx runtimes) to do custom font hinting; allowed users to customize java.lang.Integer's valueOf() cache (smells like a benchmark-...
on Apr 24, 2009
Most of Sun stuff will be very useful to Oracle. I can see a future where Oracle sells you a "complete solution" with Oracle Database and related products (Fusion etc.) running on top of the Solaris OS, Niagara or x64 hardware, a 7xx0 storage system, and also benefiting from virtualization tech from both Solaris and VirtualBox; having MySQL+InnoDB as an entry-level / community database...
on Apr 22, 2009
The Preferences API can be used by applications along with the installed security manager that enables using the preferences permission. However, WebStart-based applications cannot permit preferences only. You can permit all or deny all by using a jnlp-file. So, how to store user preferences for unsigned applications deployed through Java WebStart?
Java provides the Preferences API to store and...
on Apr 21, 2009
The Pivot development team is happy to announce the release of Apache Pivot version 1.1! Pivot is an open-source platform for building rich internet applications in Java. It combines the enhanced productivity and usability features of a modern RIA toolkit with the robustness of the industry-standard Java platform.
This is the first official release since Pivot 1.0 was announced last fall, and is...
on Apr 20, 2009
I would like to discuss code conventions. In particular, the usage of the this keyword.
Recently we have argued with one of my colleagues again. I always use the this.name pattern to access class fields. Whereas he says that I should not differ from everybody else and use this to avoid shadowing only. Let me explain my position on the question.
The this keyword is commonly used to access the...
on Apr 13, 2009
My friend Jon writes an interesting blog on the problem of constructors, and how a language might improve on them - and comes to a fairly startling solution.
The major problems with constructors as I see it are
Especially in deep inheritance hierarchies, or when you inherit from a class in a library which could involve incompatibly, it is easy for your object to be called when it is in a not-...
on Mar 31, 2009
The GlassFish Mobility Platform team has been working on many new features since the 1.1 release back in February 2009, one of which is adding support for MCBO on the Java SE platform. This will allow the development of desktop synchronization clients that are much more powerful than their mobile Java ME siblings.
What's the Difference Between the Java ME and Java SE MCBO ...
on Sep 11, 2009
Sun just released the first maintenance update for JavaFX 1.2. This release brings mostly a batch of important javafxc fixes, that I dissect in this blog...
Java programmers are used to the fact that compilation of Java source code is a relatively straightforward process, because the Java language has a simple mapping to the Java bytecode. So javac is a trivial compiler, at least in the code...
on Sep 9, 2009
Well, this is the second time I am using the new blogging platform of Java.net. This time it was much easier and with less hurdle.
I want to write about JPA, performance, caching and related things. Though it wont be very well organized but it may come useful for new JPA developers. recently I have assigned a task to work on performance problems of a first tier application and further extend it...
on Sep 3, 2009
The refcard discuss the following items:
The BDB Family : An introduction to different DBD family members, including BDB Base Edition, BDB XML edition and BDB Java Edition with tables comparing their features.
Key Features: Key features of BDB family members and BDB Java Edition exclusive features are explained here
Introducing Berkeley DB Java Edition includin:
Installation: How to...
on Sep 1, 2009