166 captures
08 Sep 2003 - 06 May 2021
Jan FEB Mar
08
2003 2004 2005
success
fail

About this capture

COLLECTED BY

Organization: Alexa Crawls

Starting in 1996, Alexa Internet has been donating their crawl data to the Internet Archive. Flowing in every day, these data are added to the Wayback Machine after an embargo period.

Collection: alexa_dv

this data is currently not publicly accessible.
TIMESTAMPS

The Wayback Machine - http://web.archive.org/web/20040208134905/http://www.onjava.com:80/topics/java/Java_Design
 
ONJava.com -- The Independent Source for Enterprise Java
O'Reilly Network.oreilly.comSafari Bookshelf.Conferences.
Articles Weblogs Books Learning Lab News  
Traveling to
a tech show?

Las Vegas Hotels
Discount Hotels
Hotel Discounts
Chicago Hotels
California Hotels
Canada Hotels
New York City Hotels




Topic: Best Practices

Java best practices includes all aspects of Java software design, performance, and optimization. Any of these use Java threads, design patterns and more.

O'Reilly Network articles about this topic:

Managing Your Dependencies with JDepend (ONJava.com)
Attributes like scalability and maintainability are qualitative in nature and hard to quantify, even hard to know until your code fails. But by analyzing dependencies between packages, JDepend gives you a way to measure how well-architected your code is.

Top 15 Ant Best Practices (ONJava.com)
Nearly every open source Java project now uses Ant. The widespread use of Ant in these projects has naturally led to an increased need for a set of well-established best practices. Eric M. Burke, coauthor of Java Extreme Programming Cookbook and Ant: The Definitive Guide, offers his 15 best practices for using Ant and for writing well-crafted Ant buildfiles. These tips were inspired by his own mistakes on previous projects, or from horror stories relayed to him from other developers.

Best Practices for Exception Handling (ONJava.com)
Java's concept of exceptions and how they're used has led to controversy and, in some cases, bad programming practices. Gunjan Doshi seeks to lay down some best practices for using exceptions in Java.

Developing with Maven (ONJava.com)
By knowing what developers want in a build tool, Maven hopes to unseat Ant as the favorite build tool of Java developers. Rob Herbst looks at Maven's most compelling features.

Managing Complexity: Keeping a Large Java Project on Track (ONJava.com)
Delivering a software project successfully requires much more than just writing good code. Issue tracking, bug fixing, packaging, deployment, and testing all help solve your customer's actual problem. Tom Copeland explains Dashboard, the continual integration infrastructure behind DARPA's UltraLog, a large Java project distributed among several vendors.

Memoization in Java Using Dynamic Proxy Classes (ONJava.com)
Memoization, or caching previously computed values of functions, can speed up certain classes of problems. Java 1.3's dynamic proxy classes make it possible to write generic memoization routines. Tom White explores this technique and explains when and how it can improve your performance.

A Java Programmer Looks at C# Delegates (ONJava.com)
While C# has taken many features from Java, it's added other interesting ideas. One is delegation; C# treats methods as first-class objects. Steven Lewis and Wilhelm Fitzpatrick explain delegates and provide a working Java implementation.

Black Box Web Testing with HttpUnit (ONJava.com)
No matter how much unit testing you do, how do you know your web site meets your customers' real needs? Giora Katz-Lichtenstein introduces HttpUnit, a Java framework for Black Box web testing, and demonstrates how it can improve your sites.

Surviving Abrupt Shutdown (ONJava.com)
Sometimes letting users save their data isn't enough--you want to make prevent data loss. Java provides an elegant way for programmers to execute code in the middle of the shutdown process, thus making sure your clean-up code is always executed. In this article, Budi Kurniawan shows how to use a shutdown hook to guarantee that clean-up code is always run, regardless of how the user terminates the application.

Java Swing: Menus and Toolbars, Part 7 (ONJava.com)
In the final excerpt from Java Swing, learn how to use toolbars.

Java Swing: Menus and Toolbars, Part 6 (ONJava.com)
In this sixth excerpt from Java Swing, learn how to use complex menu items like radio buttons and checkbox menus.

Advanced Text Indexing with Lucene (ONJava.com)
Lucene is a free text-indexing and -searching API written in Java. In the second of a series of articles, Otis Gospodnetic explains the structure of Lucene indices and introduces several advanced techniques to improve the performance of text-indexing applications.

Java Swing: Menus and Toolbars, Part 5 (ONJava.com)
In this fifth excerpt from Java Swing, learn how to attach menus to menu bars with the JMenu class.

Java Swing: Menus and Toolbars, Part 4 (ONJava.com)
In the fourth excerpt from Java Swing, learn how to create context-sensitive menus with the JPopupMenu class.

Static Analysis with PMD (ONJava.com)
Code review is good, but who has time to run through every line of a large project every night? If only that were automatable. Thankfully, there's PMD. Tom Copeland demonstrates how to analyze your Java code for deleterious constructs and how to add rules to catch more.

Java Swing: Menus and Toolbars, Part 3 (ONJava.com)
In this third excerpt from Java Swing, learn how to add strings and icons to menus with the JMenuItem class.

Java Swing: Menus and Toolbars, Part 2 (ONJava.com)
In this excerpt from Java Swing, 2nd Edition, learn about menu selections and the JMenuBar class.

Java Swing: Menus and Toolbars, Part 1 (ONJava.com)
In this excerpt from Java Swing, 2nd Edition, learn how to use Swing menus.

Servlet Best Practices, Part 3 (ONJava.com)
In this final excerpt on servlets from Java Enterprise Best Practices, we present how to effectively send files for download. Getting it right across Web browsers takes a bit of work, but with this tip you'll have it right in no time.

Servlet Best Practices, Part 2 (ONJava.com)
In part two of three in this series of book excerpts on servlet best practices from Java Enterprise Best Practices, learn about caching with servlets.

Servlet Best Practices, Part 1 (ONJava.com)
Servlets have dominated the recent server-side Java landscape and have become the standard way to interface Java to the Web. This chapter, the first of three book excerpts from Java Enterprise Best Practices, discusses effective servlet-based development and deployment.

Enhance Collection Performance with this Treasure Trove (ONJava.com)
Trove is an open source Collection implementations. You can use these instead of the standard collections to get increased performance.

J2EE Design Patterns: CMP-to-BMP Pattern (ONJava.com)
In EJB 2.0, Sun delivered a revamped container-based persistence model. This article explains how to write a CMP in EJB 2.0 and how to go from CMP to BMP when needed.

Micro-Tuning Step-by-Step (ONJava.com)
Java Performance Tuning author Jack Shirazi offers a step-by-step guide for micro-tuning your Java methods.

Java API Map (ONJava.com)
Is the world of Java getting a little unweildy for you? Use our Java API map and directory to track all significant Java platforms and respective Java APIs. Includes the JAX Pack and MIDlets.

Business Logic, Part 2 (ONJava.com)
In Part 2 of our excerpt from Chapter 8 of Building Java Enterprise Applications, Vol I: Architecture, Brett McLaughlin builds a UserManager component, and illustrates why managers are a good thing.

The Java Platform (ONJava.com)
In this excerpt from O'Reilly & Associates' Java in a Nutshell, 4th Edition, David Flanagan shows you a number of the Java 2SE platform packages, using examples of the most useful classes in these packages.

Java Programming with Oracle JDBC: Performance (ONJava.com)
When it comes to JDBC performance issues, there are two major factors to consider: performance of the database structure and the SQL statements used against it and relative efficiency of the different ways you can use the JDBC interfaces to manipulate a database. This excerpt from Java Programming with Oracle JDBC explores these.

Expiring Data with Hashbelts (ONJava.com)
The final installment in this series on automatic data expiration shows that hashbelts are a new data structure that satisfies all of the requirements for data expiration.

The Hashbelt Data Structure (ONJava.com)
William Grosso continues his Data Expiration series by focusing on the 'hashbelt' algorithm, which is a generic data structure adaptable to a wide variety of time-sensitive data problems.

J2EE Design Patterns (ONJava.com)
Design patterns are a way of bringing clarity to a system architecture; they allow for the possibility of better systems being built. This article covers how to identify and use design patterns in J2EE apps, specifically for the presentation layer.

Tuning JDBC: Measuring JDBC performance (ONJava.com)
Many Java apps are dependent on Java Database Connectivity, but how do you measure JDBC's performance, and which subsystems need optimizing?

Java RMI: Serialization (ONJava.com)
In this excerpt from Java RMI, William Grosso drills down on the serialization mechanism; by the end of it, you will understand exactly how serialization works and how to use it efficiently within your applications.

Generics and Method Objects (ONJava.com)
O'Reilly's Java RMI author William Grosso introduces you to the new Generics Specification and rebuilds his command object framework using it.

Seamlessly Caching Stubs for Improved Performance (ONJava.com)
In Part 2 of this RMI series, William Grosso addresses a common problem with RMI apps -- too many remote method calls to a naming service. In this article he extends the framework introduced in Part 1 to provide seamless caching of stubs.

Faster List Iteration with RandomAccess Interface (ONJava.com)
Merlin's new RandomAccess interface identifies whether a java.util.List class has fast random access. This article tests the impact of RandomAccess in several different loops and shows you how to take full advantage of this interface.

Load Balancing Web Applications (ONJava.com)
This overview of load-balancing schemes compares the relative advantages of DNS round robin, hardware load balancers, and Web server proxies.

Multiprocess JVMs (ONJava.com)
Combining multiple Java processes into a single JVM reduces memory overhead, says Jack Shirazi, author of Java Performance Tuning.

Catching OutOfMemoryErrors to Preserve Monitoring and Server Processes (ONJava.com)
Why would you want to catch an OutOfMemoryError? In some cases, doing so can help you carry on some monitoring and server processes beyond such a fatal error.

Embedded Java (ONJava.com)
Java's strong appeal for embedded applications is sometimes offset by concerns about its speed and its memory requirements. However, Vincent shows you techniques to use for boosting Java performance and reduce memory needs.

The WeakHashMap Class (ONJava.com)
WeakHashMap is a type of Map which differs from other Maps in more than just having a different implementation. WeakHashMap uses weak references to hold its keys, making it one of the few classes able to respond to the fluctuating memory requirements of the JVM.

The Performance of Java's Lists (ONJava.com)
Jack Shirazi examines the performance issues for the three primary java.util.List implementations: Vector, ArrayList and LinkedList.

Java Internationalization and Localization (ONJava.com)
Jaric Sng explains Internationalization and the different issues encountered for displaying Chinese, Japanese and Korean characters on Navigator and IE.

Learning Polymorphism and Object Serialization (ONJava.com)
Learn to use polymorphism and object serialization by playing with Brainy Draw.

Performance Planning for Managers (ONJava.com)
Jack Shirazi presents a ten-point plan for managing adequate Java application performance.

UML Modeling for Java with Rhapsody (ONJava.com)
Rhapsody in J generates Java code from UML diagrams, allowing programmers to focus on Java design rather than writing code in Java.

Optimizing Hash Functions For a Perfect Map (ONJava.com)
O'Reilly's Java Performance and Tuning author Jack Shirazi describes and tests an implementation of a perfect hash map using a perfect hash function.

Java Performance: Efficiently Formatting Doubles (ONJava.com)
O'Reilly's Java Performance Tuning author, Jack Shirazi, examines the formatting of doubles and shows that the conversion of numbers with formatting can be faster than the original unformatted conversion.


Other documents about this topic

Below are other references available on the web for this topic. Since other sites may change their links, please let us know if you find any that may need to be updated.

Java Performance and Scalability Forum
This is a useful forum for learning and applying various Java performance issues, fine tuning and scalability. Also, see Jack Shirazi's series of Java performance articles on ONJava.com [Source: theserverside.com]

Sybase White Papers/Tech Papers
Sybase White Papers, containing info on projects related to Java, JDBC, SQLJ and development for their Web Application Server. [Source: Sybase]

EJB Observer Pattern
This article explains how to implement the observer pattern in a suite of integrated EJB apps. The suite has a shared repository and each EJB application has it own repository. Every application in the suite runs on a separate host. Each application needs to observe changes in the shared repository as they occur -- and within the transaction in which they occur. If a proposed change to the shared data is unacceptable to any given application then the transaction must be aborted before the change is made permanent. [Source: theserverside.com]

J2EE Component Patterns Tutorial
Liou presents J2EE component design patterns in a tutorial session at the 2001 O'Reilly Enterprise Java Conference. [Source: O'Reilly & Associates]

Multithreaded Swing Applications
Swing components are not inherently thread safe, and as a general rule, after Swing components have been made visible on the screen, you can only safely modify their data from the event thread. If you modify Swing component data from any thread other than the event dispatching thread, you must take precautions to ensure data integrity. An exception to this rule is the setText method on a JTextComponent or any of its subclasses, or any Swing component method whose documentation explicitly states it is thread safe. Sometimes, you cannot avoid modifying Swing component data from outside the event dispatching thread after it has been made visible. An example is spawning a thread to handle a long operation such as reading or writing a large file over the net. The advantage to spawning a new thread is that the user interface is made available to the user for other operations during the long file operation. The spawned thread is a new thread, and therefore, not on the event dispatching thread even if it is spawned by an event dispatching thread method. This article explains how to use the InvokeLater method and synchronize keyword to ensure data integrity when modifying data in Swing components. If you are new to multi-threaded programming, see Creating a Threaded Slide Show Applet for an introduction to the threaded applications. [Source: java.sun.com]




spacer

Sponsored by:

About ONJava.comContact UsPrivacy PolicyMedia Kit
Copyright © 2000-2004 O坦eilly Media, Inc. All Rights Reserved.
All trademarks and registered trademarks appearing on the O'Reilly Network are the property of their respective owners.
For problems or assistance with this site, email