Skip to main content

Effective Java

Posted by daniel on July 19, 2004 at 5:38 AM PDT

A thread safe discussion.

In Also in Java Today , Ron Hitchens kicks off our latest bookclub selection discussion saying, "Joshua Bloch, author of href="http://java.sun.com/docs/books/effective/">Effective Java, casts a long shadow in the Java world. He has served as architect of the Core Java Platform Group and is best known as the author of the
Collections Framework. He was also a driving force behind many of the sweeping changes forthcoming in the JDK 1.5 (Tiger) release. In
Effective Java Bloch has condensed his rich body of expertise into 57 topics, each of which illustrates a specific Java coding best practice. The rare book that is simultaneously textbook and reference, Effective Java deserves a featured place on every Java Programmer's bookshelf.

We are trying something different with this month's bookclub. Because "Effective Java" is broken up into discrete items, Ron will launch one thread per item to help focus, direct, and organize the discussion. Check out our forum section to keep track of where we are in the book, read along, and join in.

Anil Sharma and Nanveet Singh say a single-box mindset is hazardous when developing J2EE applications. In Designing J2EE Applications for Real-Life Clustered Environments, they warn "in an application server cluster, all of the dynamics of a distributed computing environment come into play, and any piece of code or design that assumes a non-distributed environment breaks down." What works on a single box falls apart, sometimes dramatically, when deployed on a cluster of many machines. Looking at common dangers - static variables, storage strategies, and serializability - they lay down strategies for keeping a J2EE application humming along in a clustered deployment.


In today's
Weblogs, Jonathan Bruce takes a moment on his way out of town to announce JDBC RowSet Implementations 1.0.1 - Maintenance Release.
He writes "We have just released our first Maintenance Release of JDBC RowSet Implementations. We will shortly also be updating our JDBC RowSet Co-Bundle for JWSDP 1.4 to match this release - so watch this space for more details."

What if "by flipping a switch we are able to run CreateUser on a different box other than the local. Development can take place with this switch set to local and deployment can use static or dynamic strategies to deploy these components." That is the subject of Satya Komatineni's blog entry Tier-less computing further explained which he introduces with the motivation "Given a user name, userid and an email address create a user. We can call this 'createUser' transaction with three parameters name, id, and email."


Ron Hitchens kicks off the discussion of "Effective Java"
n today's Forums with Item 1: Consider providing static factory methods instead of constructors. "The Factory Method Pattern should be familiar to anyone who's studied the Gang of Four Design Patterns book. How do you see the trade-offs of factory methods vs. constructors? Can factory methods be overused? Are Josh's recommendations proper Factory Method Pattern usage? Is it ever a good idea to allow public constructors and factory methods in the same class?"

Rabbe adds to the thread on making interacting with Sun easier and less formal.
"I do like the idea of patch submission and frequent development builds as you mention, but I'd like general availability to be limited (maybe quarterly for maintenance releases and annually for dot releases) in order to avoid version control issues in IT departments and on home users machines. "


In Projects and Communities, JAXB 2.0 Early Draft specification is now available for review. Like JAXB
1.0, the goal of JAXB 2.0 is to continue making it easier to access,
manipulate and update XML content on the Java Platform.

Open EDIINT is an open source library that provides implementation support for the IETF's EDIINT specifications, such AS1 and AS2. There is more information on the project wiki page.


In today's java.net News Headlines
:

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
thejava.net
News RSS feed
.


Current and upcoming
Java Events
:

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
Java
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.