Java Archive

The Year Ahead in Java Web Services

"2006 Is going to be a banner year for Web services in general, and for Java Web services in particular. New third-generation frameworks are being unveiled, which offer much better support for doc/lit SOAP as well as potential performance improvements. This article looks at both the state of Web services today and the major changes coming in 2006, and get an overview of how the new frameworks and technologies relate and interact."

JDK 1.6 (Mustang) GTK Look and Feel Screenshots

"A few months ago OSNews reported that the next version of Java (code name 'Mustang') will feature native GTK components for the Swing API. This got us excited since, quite frankly, Swing's GTK look and feel has always been quite dissapointing. We downloaded the latest release candidate of JDK 1.6 to see how well the Swing GTK look and feel looks, we were quite pleased with what we found."

Announcing the Mustang Regressions Challenge

"We are challenging you, the Java developer community, to find functional regressions between J2SE 5.0 (Tiger) and Java SE 6 (Mustang). The contest runs from Jan 31 through March 31, 2006, with prizes to be awarded in mid-April. You will find details on the contest home page and FAQ. The complete entry requirements are in the official legal rules governing the contest. You can enter the contest using the contest entry form. Prizes? There are five Ultra 20 workstations which will be awarded to the best regressions found during the contest. In addition all successful entrants, whose regression is entered into Suns internal database, will be given a t-shirt as our thanks to you for participating."

Reconsidering gcjx

Tom Tromey (Red Hat) who wrote the GCJx as a extension to GCC to support Java 1.5 features among other changes has proposed a merge with ECJ, the Eclipse compiler from the Eclipse Foundation. The ramifications of this change are rather interesting.

Quick & Dirty Caching Fix for Java Memory Leaks

"While programs in the Java language are theoretically immune from memory leaks, there are situations in which objects are not garbage collected even though they are no longer part of the program's logical state. This article shows you how Soft references, like weak references, can help applications prevent object loitering by enlisting the aid of the garbage collector in making cache eviction decisions."

Mainsoft, IBM To Convert .NET Code to Java on All eServers

"Turnabout is fair play, and it is refreshing to see that IBM is beginning to understand that it needs a strategy to try to bring the 100000 partners who write code for Microsoft's Windows platform onto all of its eServer platforms - not just xSeries and BladeCenter servers that run Windows natively on Intel and AMD processors. For a decade, software vendors have been porting their OS/400, AIX, and MVS applications to Windows, or creating whole new application suites that compete against software developed for those platforms. Now, IBM wants to turn the tables on the Windows ecosystem, and it is enlisting the support of Mainsoft to do this."

Internet Encryption Security Protocol for Java

"The Java based lightweight implementation of the Internet Engineering Task Force Secure Shell protocol provides secure remote log-in and other secure network services over an insecure network. The protocol has three major components: Transport Layer, User Authentication and Connection. The implementation is lightweight due to using the highly optimized cryptographic library IBM CryptoLite for Java, efficient buffer and I/O handling, memory reuse to avoid excessive garbage collection, and threads are not used."

Build Apache Geronimo From Scratch

"Many new and veteran developers are hopping onto the ever-growing Apache Geronimo bandwagon. Thus, the ability to build Geronimo is becoming increasingly important to developers who want to incorporate changes or full-custom modules. Unfortunately, building Geronimo is no trivial task. It requires learning new build scripts and companion build applications. Luckily, you can follow this step-by-step guide to understand exactly how to build the Apache Geronimo source code from scratch."

Quantities/Units Support for Java (JSR-275)

The latest units/quantities packages (for the upcoming JScience 3.0) has been submitted to the JSR-275 expert group for review. It provides compile time check of quantities consistency through class parameterization. You can browse the proposed API here (two new packages javax.quantities and javax.units). The JScience pre-release implementation is available here: sources, binaries.

GNU Classpath 0.20 Released

GNU Classpath 0.20 has been released. "New StAX pull parser and SAX-over-StAX driver. Full XMLEncoder implementation. The packages javax.sound.sampled, javax.print.attribute and javax.print.event have been implemented. Lots of new datatransfer, print, swing and swing.text work. Performance improvements in the painting/layout mechanism. Additional 1.5 support, including (separate) generic branch release. SecurityManager cleanups and start of review of all Permission checks. Buildable on cygwin. Fully buildable as 'in-workspace' library-plus-vm inside (native) Eclipse. Real world Free Swing and CORBA example added." There is also a Roadmap paper available.

‘Java Is Dead, Long Live Java!’ – the Future of Java

Although, because of its prominence, Java gets a lot of attention and with it much criticism (some of it valid), many don't realize that some big breakthroughs have arrived and that the Java development landscape is solving important problems. Also, Developer.com posted their "product of the year" awards for 2006. Java related products have the strongest showing with the largest number of awards.

Secure Java Apps on Linux Using MD5 Crypt

If you are a security developer and need to interface a Java application with the local operating system user registry, what do you do? This article gives you the answer: UNIX/Linux PAM-compatible systems that use authentication based on the GNU MD5 extensions to the crypt() system call. A pure Java implementation of MD5 crypt can provide a simple interface that can be used by Web applications to authenticate against the local UNIX registry.

Java Environments for Linux on POWER Architecture

"This article provides a brief overview of the currently available Java Development Kits and Java Runtime Environments for Linux on POWER. It covers the Linux distributions running on the IBM eServer iSeries, including eServer i5; eServer pSeries, including eServer p5; eServer BladeCenter JS20; and eServer OpenPower."

Classpath Hits 98% of Java 1.4

"Classpath hit 98% of 1.4 , and I think we'll see another big bump tomorrow since the XMLEncoder patch went in . I think we're in the 90s against 1.5, though it is hard to say since there hasn't been a branch merge in quite a while. Of course, japi isn't the final word on how we're doing, which is why Mark is going to talk about this at FOSDEM. The coming year looks as though it will be a very good one for gcj and Classpath. I think we'll finish 1.5."

Avoiding Java Exception Abuse

There are always exceptions to the rule, right? In Java, those exceptions allow a clean break from normal program flow in the event of an exceptional situation. They're not used for program flow interruption, but for program flow branching, which can sometimes lead to difficult-to-maintain code. Marcus Zarra walks you through several best practices for using exceptions in Java.