Java Archive

Java: When segments collide

While sizing the heap for 32-bit Java applications on AIX, you can sometimes run into situations where a segment is claimed by two or more parts of the process simultaneously. This article shows how to detect this situation by using a well-established set of applications as examples, and we also show the reasoning behind the configuration changes suggested to avoid this situation.

Sun to Meet IBM Over Freeing Java

In response to an open letter from IBM asking Sun to join the company in developing an open-source version of Java, Sun plans to meet with IBM to discuss the issue, Sun sources said. Sun officials planned to meet with IBM as early as Thursday to discuss the merits of whether the company should work with IBM on an independent project to create an open-source implementation of Java.

Fixing the Java Memory Model

JSR 133, which has been active for nearly three years, has recently issued its public recommendation on what to do about the Java Memory Model (JMM). Several serious flaws were found in the original JMM, resulting in some surprisingly difficult semantics for concepts that were supposed to be simple, like volatile, final, and synchronized. In this installment of Java theory and practice, the author shows how the semantics of volatile and final will be strengthened in order to fix the JMM. Some of these changes have already been integrated in JDK 1.4; others are slated for inclusion in JDK 1.5. On other Java news, IBM urges Sun to make Java open source.

Application modeling with WebSphere Studio V5.1

An application model is analogous to a construction project blueprint, and is an important ingredient in application development. This article shows the steps for developing a Java application based on a Rational Rose class diagram using the Eclipse Modeling Framework, and also shows how to develop the same Java application using the Universal Modeling Language visualization tool.

Java Desktop Development

Java is a great technology for servers, personal computers, and mobile devices. Java is successful on servers and mobile devices because these environments need Java's cross-platform support. The situation is different on personal computers, but this could change sooner than you might think. In this article, Andrei analyzes how Java can improve the desktop world and then present the three major Java GUI toolkits: AWT, Swing, and SWT.

Sun Fires Back over Open Source Java Accusations

Sun has offered a frank response to the open letter from Eric S, Raymond, President, Open Source Initiative, in which he called on Sun to make its Java platform Open Source and described the company's Open Source strategy as 'spotty' and 'confused'. 'I'd say this is 100 per cent rant,' Sun's Chief Technology Evangelist, Simon Phipps said. 'His simplistic accusations don't hold water... If this is the way that Open Source treats its friends, I'd hate to see how it treats its enemies.'

New Age Dawns at Eclipse; .NET Windows Forms from Java SWING

Eclipse, an increasingly influential open-source development tools project, will kick off its first programmer conference next week amid strong industry momentum and lingering questions regarding its future direction. Elsewhere, learn how an application in Java SWING can invoke and display a Windows Form, pass parameters to the form and wait for a return value when the form is closed. This type of technique shows how organizations can introduce new forms and controls based on Windows Forms into an existing Java SWING environment and helping them to rapidly deploy .NET applications without having to rip out existing infrastructure or wait until new replacement applications are written.

Native Code Sharing in Java 1.5

The respected German computer news site heise.de reports that the next version of java (java 1.5) will have a mechanism to share native code between multiple virtual machines. The feature, which is called class data sharing, will improve start times and reduce memory consumption for people who run multiple java VMs at the same time. This is especially important for client side java programs which use large gui libraries such as Swing.