JProbe Suite
Sitraka
Perceptions of Java performance are reminiscent of a classic Midwestern complaint: "Everyone's talkin' about the weather, but nobody's doin' a darn thing about it." How true for Java performanceand how peculiar. Despite the hundreds of Java IDEs, libraries, components and other tools, virtually no company provides tools for speeding up Java code.
The lone exception is Sitraka, a Toronto, Canada-based company (www.sitraka.com) that had the gumption to tackle this task. The JProbe suite comprises several products of which the centerpiece is the eponymous profiler and memory debugger. Run a program on this profiler and up pops a series of detailed and extensive views of code performance. The usual by-line, by-function data is supplemented by advanced graphing elements and numerous filtering options.
The profiler, like all Sitraka tools, can be used for years without recourse to the manual or the help file. The profiler also has memory debugging tools, which lets you examine memory allocations and objects on the heap so as to reduce the frequency of garbage collection. The thread analyzer helps you in the tricky business of predicting and detecting stalls, deadlocks and race conditions. Finally, the coverage tool locates and measures untested Java code, aiding in accurate assessments of the reliability of test runs. All the tools come in both client and server implementations.
With JProbe Suite, it's easy to show off your code in its Sunday-go-to-meeting best.
Andrew Binstock
Ant
It's a truism that open-source projects start with a programmer's personal itch. So it was with Apache Ant (jakarta.apache.org/ant): Existing build tools all had limitations that drove Ant's original author (James Duncan Davidson) to create one that was truly cross-platform, with no dependencies on the format of shell commands, the existence of command-line tools, or indeed much of anything besides a Java virtual machine (and programmers who can handle XML files).
Since its genesis as a special-purpose build tool for Tomcat, Ant's popularity has exploded, making it the builder of choice for projects across the Apache spectrum, then far beyond it. Ant plays nicely with many tools and IDEs, including the AspectJ compiler, the NetBeans and Sun Forte IDEs, Borland's JBuilder, Oracle's JDeveloper and IntelliJ's IDEA.
Rick Wayne
VM Workstation
VM Workstation by VMWare (Palo Alto, Calif.; www.vmware.com) allows you to run multiple virtual machines on top of a Windows (NT, 2000, XP) or Linux host. Each virtual machine can run its own operating system, such as DOS, FreeBSD, OS/2 or any flavor of Windows. All virtual machines have access to system hardware such as network adapters, USB adapters, and the display and software such as the clipboard.
Software developers and testers can now develop and test on multiple platforms using a single PC without requiring a multiple-boot manager. The disk rollback feature allows each virtual machine the ability to accept or reject all changes made during the session.
Dana Cline
DashO-Pro
DashO-Pro by preEmptive Solutions (Cleveland, Ohio; www.preemptive.com) solves three problems for Java developers: It reduces the size of, improves performance of and obfuscates compiled Java code to make reverse-engineering more difficult. DashO-Pro determines exactly what classes, methods and variables an application needs and creates a package with only the needed elements. It renames methods, fields and classes using compact, usually single-character, names. Further, it reuses names whenever possible, making reverse-engineering more difficult. Application size is greatly reduced and performance is increased. Serialized classes can be obfuscated, too. Extensive configuration options allow DashO-Pro to support reflection, building API libraries, class inclusion or exclusion, and special naming needs.
Guy Scharf
Lee Garrison, vice president of marketing, Sitraka
The Apache Project
VMWare
preEmptive Solutions