iContract: Design by Contract in Java

iContract allows you to explicitly specify your class contracts; no more guesswork as to what your classes promise Wouldn’t it be nice if all Java classes that you use, including your own, lived up to their promises? In fact, wouldn’t…

Java Tip 107: Maximize your code reusability

Overcome deficiencies in the traditional OOP approach to reuse That reuse is a myth seems to be an increasingly common sentiment among programmers. Perhaps, however, reuse is difficult to achieve because deficiencies exist in the traditional object-oriented programming approach to…

Add XML to your J2EE applications

Add XML to your J2EE applications

Integrate an XML presentation layer in the J2EE layered architecture Today’s organizations’ rapid moves to e-business bring new demands on defining flexible systems architectures. Systems need to be powerful, scalable, robust, and, most of all, capable of meeting new business…

Warning! Threading in a multiprocessor world

Warning! Threading in a multiprocessor world

Find out why many tricks to avoid synchronization overhead just don’t work I had intended this month to carry on with presenting a caching class loader — that was the whole point of the zip-file access classes I presented in…

Java Product News (February 9, 2001)

TCAT/C-C++ and TCAT/Java increase runtime Software Research has released Version 3.1 of Test Coverage Analysis Tools TCAT/C-C++ and TCAT The new version offers improved runtime and includes a new all paths generator (APG). The APG calculates the total number of…

Imaginations run wild with Java Lego robots

Imaginations run wild with Java Lego robots

Learn to program the ultimate geek toy — Lego Mindstorms — in Java The Lego Mindstorms Robotics Invention System (RIS) is a kit for building Lego robots. It includes two motors, two touch sensors, one light sensor, more than 700…

Double-checked locking: Clever, but broken

Do you know what synchronized <em>really</em> means? From the highly regarded Elements of Java Style to the pages of JavaWorld (see Java Tip 67), many well-meaning Java gurus encourage the use of the double-checked locking (DCL) idiom. There’s only one…

Add the power of asynchronous processing to your JSPs

Add the power of asynchronous processing to your JSPs

Create custom JSP tags to use with JMS Most JavaServer Pages (JSP) developers that I’ve worked with love JSP because it’s easy to use and a powerful way to design flexible Webpages. As passionate Web designers, most JSP developers are…

Sun answers Microsoft with Net services push

J2EE, XML occupy the core of the Sun ONE initiative February 6, 2001 — In a move that appears aimed squarely at Microsoft Corp.’s .Net Internet initiative, Sun Microsystems Inc. on Monday unveiled the Sun Open Net Environment (Sun ONE),…

Learn Java from Ben Franklin

Write better Java code using Franklin’s learning techniques In his autobiography (see Resources for a link), Ben Franklin describes how he worked to improve his writing. Franklin found prose he judged to be excellent, wrote a short encapsulation of each…