Getting in synch
Latest Java Tech article on fundamentals of Synchronization
Jeff Friesen's latest article in his Java Tech series is part one of The ABCs of Synchronization. Friesen notes, "Neither the Java language nor the Java VM provides a way to prevent deadlock. Therefore, deadlock prevention is up to the developer. The simplest way to prevent deadlock from happening: avoid having either a synchronized method or a synchronized statement invoke another synchronized method/statement. Although that advice prevents deadlock from happening, it's both impractical (because one of your synchronized methods/statements may need to invoke a synchronized method in a Java API -- see the various synchronized methods in the java.util.Hashtable class for examples), and overkill (because the synchronized method/statement being invoked might not invoke any other synchronized method/statement, so deadlock wouldn't occur)."
Note: Chris Adamson is doing most of the work on the site while I am on vacation this week. I've promised my family to only check in the mornings while they are still asleep.
In Also in Java Today ,
Java 2 Standard Edition 5, version 1.5 has a
feature set almost as big as its name, which leads Ian F. Darwin,
author of "Java Cookbook, 2nd Edition", to say that mastering it all
became futile back at 1.2 and "now that 1.5 is here, if someone says they
know all about Java, forget it." Still, in Keeping Up with the Java
Joneses, he tours the essential additions to J2SE, so you can understand
the most important additions to the language: generics, threading and
concurrency improvements, attributes, and the C-like printf. He also
looks at developments in the IDE world, specifically at Eclipse.
Hard-coded parameters often migrate to configuration files, at which point system and network policies may demand they be secured somehow. But how? In Encrypt Sensitive Configuration Data With Java, Javid Jamae says "One way to solve this problem is to encrypt the data before it is written to the external file, then read and decrypt the data before using it in your application. The Java Cryptography Extension (JCE) provides an API that will let you do this."
Congratulations to Frederic Lavigne who is the winner of the 2004 java.net Fairness Board Election. John Bobowicz's blog provides the details.
John M responds to Item 27 in our Effective Java discussion saying "This is a classic example of the all too common confusion about identity -- between null (i.e., non-existent) and zero (i.e., empty). Also, this is another manifestation of the NullObject pattern."
Matthew Morris writes "Yes, you need to add/remove validation when methods move into/out of the public layer: if there isn't a well-defined layer in this respect, the whole interface loses focus. I have seen many projects undergo a complete rewrite because of a failure to maintain well-defined service layers. "
In Projects and Communities, plan to give your thumbs and your brain a workout in Battle Tactics Arena. This Java Games Community project is building a role-playing-game in the spirit of the console "tactics" games ("Final Fantasy Tactics", "Disgaea", etc.), but re-imagined as a head-to-head, chess-like online game.
The Java Precision Clock Synchronization Interface project is developing a Java implementation for IEEE 1588, a standard for precision clock sychronization, offering accurate timing in the sub-microsecond range. JPCSI is part of the Java Distributed Data Acquisition and Control Community.
In today's java.net News Headlines
- JBoss Announces Partnership with Novell/SuSE
- IBM's Cloudscape Becomes Apache Derby
- Scott Dietzen Leaves BEA
- Mule ESB Server 0.9.2
- jConfig 2.7
Registered users can submit news items for the
href="http://today.java.net/today/news/">java.net News Page using
our news submission
form. All submissions go through an editorial review before being posted to the site. You can also subscribe to
News RSS feed.
Current and upcoming
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e"> events submission
form. All submissions go through an editorial review before being
posted to the site.
Archives and Subscriptions: This blog is delivered weekdays as the
Today RSS feed. Also, once this page
is no longer featured as the front page of
java.net it will be archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.