Java Tip 92: Use the JVM Profiler Interface for accurate timing
Improve performance analysis by measuring Java thread CPU time The textbook approach to simple performance analysis is to call System.currentTimeMillis() before and after the code to be measured. This is comparable to using a stopwatch when testing GUI activity, and…
Java Tip 91: Use nested exceptions in a multitiered environment
Automatically capture the context of remotely thrown exceptions through nesting In this brave new world of business computing, multitiered applications based on RMI, or Remote Method Invocation, running across many computers have overrun the realm of the business application, also…
New Product Briefs (March 31, 2000)
Ezlogin.com adds LiveClips to customized offerings Ezlogin.com has expanded its suite of personalization tools with the addition of LiveClips, a tool that lets Internet users clip content, such as ski reports or news headlines, and post the clips on a…
JNDI overview, Part 4: the Doc-u-Matic, a JNDI application
Pull together your JNDI knowledge with a JNDI-enabled application Let’s dive in. I’ve spent the last three months describing the Java Naming and Directory Interface (JNDI). By now, you should feel comfortable with naming and directory services and the operations…
Interprocess communications in Java
How can Java processes communicate without RMI? Q: How can two Java processes (two JVMs) on the same computer interact — that is, read each other’s methods and exchange objects? I’m using RMI, but it seems that a simpler solution…
Cleaning up after Jini services
Standardize the way Jini clients release finite nonmemory resources In May 1998, I published “Object finalization and cleanup” in my Design Techniques column of JavaWorld. In this article, I gave advice on designing the end of object lifetimes. In particular,…
LDAP and JNDI: Together forever
Learn how LDAP and JNDI combine to form a powerful directory and Java object storage facility The Lightweight Directory Access Protocol (LDAP), which traces its roots to the X.500 protocol, was developed in the early 1990s as a standard directories…
StringBuffer versus String
What is the performance impact of the StringBuffer and String classes? Java provides the StringBuffer and String classes, and the String class is used to manipulate character strings that cannot be changed. Simply stated, objects of type String are read…
Using the if-then-else framework, Part 1
Code maintainable branching logic with the if-then-else framework No one should have to read or maintain code shown in Listing 1 below. Code that includes nested ifs, as in this example, can be a maintenance nightmare. It is usually difficult…
Choosing an enterprise-wide standard Java IDE
Reap the benefits of a cross-platform IDE for enterprise development Today, as more corporations and systems integration vendors choose Java as the preferred language for development across n-application tiers, and the Enterprise JavaBeans (EJB) and the Java Platform 2 Platform,…