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
font-family: arial, helvetica, sans-serif;
margin: 8px 0px 5px 0px;
on Feb 20, 2009
One cannot call oneself a Java geek if you haven't done JVM crash dump analysis. I mean, a C programmer would laugh at you if you tell them you don't know how to look at the stack dump. Well, I just had the pleasure of doing an analysis, so I'll show you how to do it, in case you don't know how :-) — This is on Windows, BTW.
Everything starts with the hs_err_pid*.log file that JVM...
on Feb 19, 2009
The release is available here. The Release Notes reveal that, at last, it "supports the New Java Plugin and Java Webstart on AMD64 architecture, on Windows platforms" - fixing the Bug Database's second-most voted bug, except that just on Windows right now, hopefully Linux will follow in 6u14+ (since 6u13 should be a security release). It's also not a completely delivery of all 6u10+...
on Feb 3, 2009
Java FX vs. Swing
Part of the attacks to Java FX comes from Swing developers who see JFX as something that's just diverting effort from Sun; and in the long run, could imply Swing's obsolescence. Certainly not a deprecation, but a slow death if no major improvements happen as Sun and the larger ecosystem moves to support JFX exclusively. Personally, I don't think the JFX/Swing competition is a...
on Jan 7, 2009
After spending way too much time on ways to speed up web applications, you'll find that your greatest mileage comes in database optimizations, networking, and reducing the bytes downloaded (an example). Time spent optimizing Java code is seemingly insignificant between waiting on the request, waiting on the database, waiting on the services, and waiting on the response.
There's a catch, of...
on Dec 23, 2008
A PropertyEditor interface provides support for GUIs to enable editing a property value of a given type. The interface supports a variety of ways to display and update property values. One of these ways is to employ the string representation of a Java code fragment that can be obtained by getJavaInitializationString, the method all standard property editors implement. To test this feature, one...
on Dec 17, 2008
I'm the tech lead of the new JWebPane project, a browser plugin for Swing and soon
FX. We showed a preview this past JavaOne that was well received, and I wanted to
give everyone an update on where we are.
JWebPane is a WebKit based browser component for Java, and will be posted as open
source on java.net in the near future. I'...
on Dec 10, 2008
Pivot 1.0.1 contains a couple features we wanted to get in for version 1.0 but didn't have time, as well as a number of minor bug fixes. Specifically, component skins are now all drawn using gradients, producing a much more modern UI appearance, and an Accordion component has been added. This version supersedes the previous 1.0.0 release.
Pivot 1.0 buttons:
Pivot 1.0.1 buttons:
on Oct 23, 2008
The Pivot development team is happy to announce the release of Pivot 1.0. Pivot is an open-source framework for building high-quality, cross-platform applications that are deployable both via the web and to the desktop. It began as an R&D effort at VMware but has now been made available to the community as an option for developers who want to build rich internet (RIA) applications in Java....
on Oct 15, 2008