|
|
|
We extract tips from any relevant chapters officially available online, and these tips can be found on the tips page. The Book Reviews section has links to reviews on the majority of Java performance books.
After receiving several suggestions/requests that the book URLs should link to a bookshop rather than the publisher, I've set the URLs to link to Amazon's pages for each book.
(From Amazon UK), (From Amazon) Java Performance Tuning 2nd edition (Java Series (O'Reilly))
Author Jack Shirazi. Even better than the previous best performance book (the 1st edition).
(From Amazon UK), (From Amazon) Java Performance Tuning (Java Series (O'Reilly))
Author Jack Shirazi. Everything you could want in a performance tuning book ;-). One chapter available online - see the tips page where the tips from the chapter has been extracted.
(From Amazon UK), (From Amazon) Java Performance and Scalability, Volume 1: Server-Side Programming Techniques
Author Dov Bulka.
(From Amazon UK), (From Amazon) Enterprise Java Performance
Authors Steven Halter, Steven Munroe. Two chapters available online - see the tips page where the tips from the chapters have been extracted.
(From Amazon UK), (From Amazon) Java 2 Performance and Idiom Guide
Authors Craig Larman and Rhett Guthrie. Worth noting that this is one third performance and two thirds idioms.
(From Amazon UK), (From Amazon) Java Platform Performance: Strategies and Tactics
Authors Steve Wilson and Jeff Kesselman. Two chapters available online - see the tips page where the tips from the chapters have been extracted.
(From Amazon UK), (From Amazon) Practical Java Programming Language Guide
Author Peter Haggar. Not purely performance, but does include a good-size section on performance. The Praxis list from that section is on the Tuning Tips page.
(From Amazon UK), (From Amazon) High-Performance Java Platform Computing: Multithreaded and Networked Programming
Authors George K. Thiruvathukal and Thomas W. Christopher. Two chapters available online - see the tips page where the tips from the chapters have been extracted.
(From Amazon UK), (From Amazon) Java Strategies : High-Performance Application Development for the Internet and Intranets
Author Debra Cameron. This book is listed at $280. If anyone wants to send me a used copy, or knows of any chapters officially available online, I'd be delighted. From the look of the editorial review, this is someone's white paper report. My guess is that it's now outdated since it was published in March 1998.
(From Amazon UK), (From Amazon) Inside The Java Virtual Machine, 2nd Edition
Author Bill Venner. Bill's website has lots of interesting information. The Inside the Java 2 Virtual Machine book is mostly available online, and has some useful info for performance tuners.
(From Amazon UK), (From Amazon) Building Scalable and High-Performance Java Web Applications: Using J2EE(TM) Technology
Author Greg Barish.
(From Amazon UK), (From Amazon) Fast Java: Performance Tuning Guide
Author Achut Reddy. Due out Dec 1st 2001 last time I looked.
(From Amazon UK), (From Amazon) J2EE Performance Testing
Authors Peter Zadrozny, Philip Aston.
(From Amazon UK), (From Amazon) Performance Analysis for Java Websites
Authors Stacy Joines, Ruth Willenborg, Ken Hygh. Seems to aimed at WebSphere users.
(From Amazon UK), (From Amazon) Java Enterprise Best Practices (O'Reilly)
Various O'Reilly authors (includes an explicit performance chapter and many performance tips throughout).
(From Amazon UK), (From Amazon) Java Pitfalls: Time-Saving Solutions and Workarounds to Improve Programs
Authors Michael C. Daconta (Editor), Eric Monk, J. Paul Keller, Bohnenberger, Keith Bohnenberger.
(From Amazon UK), (From Amazon) Web Performance Tuning: Speeding Up the Web (O'Reilly Nutshell)
Author Patrick Killelea. Patrick's website includes a lot of book is online, and has some useful info for performance tuners.
(From Amazon UK), (From Amazon) Writing Efficient Programs
Author Jon Louis Bentley. Note this is out of print.
(From Amazon UK), (From Amazon) The Art of Computer Programming, Volumes 1-3
Author Donald E. Knuth.
(From Amazon UK), (From Amazon) Performance Engineering of Software Systems
Author Connie Smith.
(From Amazon UK), (From Amazon) High-Performance Client/Server
Authors Chris Loosley and Frank Douglas.
(From Amazon UK), (From Amazon) System Performance Tuning
Author Mike Loukides.
Automating Web Tests with TestMaker
Author Frank Cohen.
Java Testing and Design, From Unit Testing to Automated Web Tests (Prentice Hall)
Author Frank Cohen
(From Amazon UK), (From Amazon) Linux Performance Tuning and Capacity Planning
by Jason Fink, Matthew Sherer, Kurt Wall.
(From Amazon UK), (From Amazon) Sun Performance and Tuning: Java and the Internet
Authors Adrian Cockcroft and Richard Pettit. Not actually much Java specific in the way of tuning tips, despite the title. More Sun (aka Solaris) than Java really.
(From Amazon UK), (From Amazon) Windows 2000 Performance Guide
Authors Mark Friedman & Odysseas Pentakalos. Chapter 5, "Multiprocessing" is available online at http://www.oreilly.com/catalog/w2kperf/chapter/ch05.html
(From Amazon UK), (From Amazon) Windows NT Performance Monitoring, Benchmarking, and Tuning
Authors Mark T. Edmead and Paul Hinsberg.
(From Amazon UK), (From Amazon) Windows NT Applications: Measuring and Optimizing performance
Author Paul Hinsberg.
(From Amazon UK), (From Amazon) Server Load Balancing (O'Reilly)
by Tony Bourke
(From Amazon UK), (From Amazon) Web Caching (O'Reilly Internet Series)
by Duane Wessels.
(From Amazon UK), (From Amazon) Data Structures & Algorithms in Java
Authors Mitchell Waite and Robert Lafore.
(From Amazon UK), (From Amazon) Data Structures & Algorithm Analysis in Java
Author M. Weiss.
(From Amazon UK), (From Amazon) Java 2 Micro Edition : Professional Developer's Guide (Professional Developer's Guide Series)
Author Eric Giguere. One chapter available online - see the tips page where the tips from the chapters have been extracted.
http://www.javaworld.com/javaworld/jw-03-2001/jw-0323-perfbooks.html
Book review of six Java performance books.
http://www.javaworld.com/javaworld/jw-12-2000/jw-1215-threadbooks.html
Book review of six Java threads books.
http://appdynamics.com/products-editions.php
(Free) AppDynamics application performance management and monitoring
http://www.quest.com/jprobe/profiler_freeware.asp
(Free) JProbe freeware version
http://sourceforge.net/projects/xlink/
(Free) Open source j2ee monitor
http://fprofiler.sourceforge.net/
(Free) Fprofiler, bytecode injection profiler using BCEL.
http://developers.sun.com/dev/coolstuff/jvmstat/docs.html
(Free) jvmstat: Always on, low impact JVM performance monitoring for HotSpot JVMs
http://developers.sun.com/dev/coolstuff/jvmstat/v2/windows.html
(Free) Sun's jvmstat performance analysis tool now available for Windows
http://sourceforge.net/projects/jmechanic/
(Free) jMechanic is an Eclipse Java IDE plugin providing Java Profiling tools such as CPU Sampling and Heap Summary
http://www.sable.mcgill.ca/~bdufou1/AdaptJ/main.html
(Free) AdaptJ: A Dynamic Application Profiling Toolkit for Java
http://www.virtualmachine.de/
(Free) heapprofile, zero-overhead JVMPI plugin: stays inactive during runtime and simply dumps a very simple image of the Java heap on request
http://www.eclipse.org/hyades/"
(Free) Hyades is an integrated test, trace and monitoring environment, based on Eclipse
http://edocs.bea.com/wljrockit/docs81/jra/index.html
(Free) JRockit Runtime Analyzer
http://sourceforge.net/projects/eclipsecolorer/
(Free) Eclipse profiler - plugin for profiling Java applications inside of Eclipse
http://www.cs.usfca.edu/projects/usfjprof/
(Free) USFJProf Java code profiling tool from a masters project
http://research.sun.com/projects/jfluid
(Free) On-the-fly dynamic profiling of HotSpot JVMs. Experimental Sun tool
http://sourceforge.net/projects/jptc/
(Free) Java Performance TestClient
http://oss.metaparadigm.com/jmemprof/
(Free) Java Web-based open source memory profiler
http://www.khelekore.org/jmp/
(Free) Robert Olofsson's Java memory profiler, JMP.
http://alphaworks.ibm.com/tech/heapanalyzer
(Free) HeapAnalyzer IBM Java heap leak analyzer
http://www.mernst.org/ariadna/
(Free) Ariadna JVMTI Heap Analysis Tool for analyzing 5.0+ memory leaks
http://jcoverage.sourceforge.net/
(Free) Wolfgang Jung's performance profiler
http://www.javaworld.com/javaworld/jw-12-2001/jw-1207-hprof.html
(Free) The SDK profiler explained (-Xrunhprof, -prof, -Xprof, -Xaprof, -Xhprof).
http://www.javaworld.com/javaworld/javatips/jw-javatip92.html
(Free) Jesper G?rtz's JVMPI intro article with code to help you start rolling your own profiler
http://mmoebius.gmxhome.de/eclipse/resources.htm#mem_mon
(Free) Eclipse memory monitor plugin
http://starship.python.net/crew/garyp/jProf.html
(Free) Gary Pennington's open source JDK1.2 (JVMPI based) profiler.
http://www.geocities.com/moellep/debug/HeapInspector.html
(Free) Paul Moeller's heap inspector tool for Win32 Java apps.
http://commerce.bea.com/products/weblogicserverconsoleextension/wlsext_home.jsp
(Free) The WebLogic Server Performance Monitor Console Extension
http://www.alphaworks.ibm.com/tech/heaproots?open&ca=daw-rss-s8
(Free) HeapRoots tool for debugging memory leaks in Java applications through analysis of "heap dumps." from IBM JVMs
http://www.thoughtcrime.org/profiler.html
(Free) Contention Profiler, profiles thread contention points in a multi-threaded Java program.
http://www.clarkware.com/software/profiler.zip
(Free) Simple profiler class for timing code.
http://www.clarkware.com/software/JUnitPerf.html
(Free) JUnitPerf, JUnit test decorators to measure performance and scalability.
http://ejp.sourceforge.net/
(Free) EJP, Extensible Java profiler.
http://sourceforge.net/projects/simpleprofiler
(Free) Simple heap profiler (open source).
http://www7b.boulder.ibm.com/wsdd/techjournal/0202_rangaswamy/rangaswamy.html
(Free) Websphere performance monitoring infrastructure.
http://www.alphaworks.ibm.com/tech/jinsight
(Free) IBMs tool for analyzing Java program execution performance and memory.
http://www.experimentalstuff.com/Technologies/TracingJVM/index.html
(Free) Modified JVM for tracing execution
http://www.alphaworks.ibm.com/tech/sockperf
(Free) A Socket level profiler.
http://www.itworld.com/AppDev/716/UIR971001perf/ and
http://www.sun.com/sun-on-net/performance/gpercol/
(Free) Metrognome & Gpercollator profiling tool
http://www.itworld.com/Net/3603/UIR990401perf/
(Free) Adrian Cockroft's percollator.se web site performance monitor
http://yusuke.homeip.net/samurai/?english
(Free) Samurai: GUI application for analyzing JVM thread dumps and verbosegc logs
http://jrat.sourceforge.net/
(Free) JRat Runtime Analysis Toolkit
http://www-1.ibm.com/support/docview.wss?uid=swg24004782
(Free) HeapWizard: Java Heap Analyzer for diagnosing memory leaks, for IBM JVM only
http://developer.java.sun.com/developer/technicalArticles/GUI/perfanal and
http://developer.java.sun.com/developer/technicalArticles/Programming/perfanal/index.html
(Free) Nathan Meyers' PerfAnal Performance Analysis Tool
http://www.tagtraum.com/
(Free) (See the JPT Tool Report) Hendrik Schreiber's GCViewer, which visualizes the output of GC logging generated from the -verbosegc option.
http://developer.java.sun.com/developer/technicalArticles/Programming/GCPortal/
(Free) Sun's GCPortal tool, analyses JVM heap activity from verbosegc output
http://www.hp.com/products1/unix/java/java2/hpjtune/infolibrary/index.html
(Free) (See the JPT Tool Report) HPjtune for analyzing garbage collection from the -verbosegc output
http://www.hp.com/products1/unix/java/hpjmeter/index.html
(Free) (See the JPT Tool Report) HPjmeter views and analyzes Xrunhprof output
http://www.inetmi.com/~gwhi/ProfileViewer/ProfileViewer.html
(Free) Greg White's ProfileViewer views output from running with -prof option (1.1.x JDKs, and -Xrunhprof:cpu=old output of Java 2)
http://www.capital.net/~dittmer/profileviewer/index.html
(Free) Ulf Dittmer has taken over support of ProfileViewer
http://www.physics.orst.edu/~bulatov/HyperProf/
(Free) Vladimir Bulatov's hyperbolic browser (HyperProf) views output from running with -prof option (1.1.x JDKs, and -Xrunhprof:cpu=old output of Java 2)
http://java.sun.com/people/billf/heap/index.html
(Free) Sun's Heap Analysis Tool (HAT) for analysing output from -Xrunhprof (JDK 1.2+)
http://www.experimentalstuff.com/Technologies/GCspy/index.html
(Free) GCSpy garbage collection visualization tool
http://www.websphere-world.com/article.php?sid=690
(Free) PmiTester quries and reports WebSphere performance data
http://www.websphere-world.com/article.php?sid=693
(Free) PerfSummary.jsp, basic performance monitoring assistance for WebSphere
http://www.irongrid.com/catalog/product_info.php?products_id=30
(Free) (See the JPT Tool Report) IronGrid's IronEye SQL: capture and analyze SQL queries.
http://sqlprofiler.jahia.org
(Free) JDBC SQL Profiling tool: SELECT query analysis which can generate an SQL script that creates the most efficient indexes, based on the results of profiling SQL.
http://www.onjava.com/pub/a/onjava/2001/12/05/optimization.html
(Free) Explaining how to create JDBC wrappers for measuring and logging JDBC calls, classes included.
http://www.p6spy.com/
(Free) P6Spy for logging JDBC calls (open source)
http://java.isavvix.com/codeexchange/codeexchange-viewdetail.jsp?id=11
(Free) GenDbClasses, generates JDBC wrapper classes. Useful for logging.
http://corbatrace.tuxfamily.org/
(Free) Tool for tracing communications between Corba objects.
Note that several IDEs have their own integrated profilers, but I don't list most of those here.
See Our APM article for more about APM.
http://www.tidalsoftware.com/products/products_Tidal_Intersperse.asp
(Commercial) Tidal Intersperse, APM solution with application mapping, business process tracing, and aggregate SLA monitoring capabilities.
http://www.dynatrace.com/en/Diagnostics.aspx
(Commercial) dynaTrace Diagnostics application performance management solution
http://www.wilytech.com/solutions.html
(Commercial) Wily Introscope J2EE performance analyser
http://www.precise.com/Products/www?c=product&refId=169
(Commercial) Veritas's Indepth, providing server-side J2EE performance monitoring
http://www.sitraka.com/performasure/
(Commercial) (See the JPT Tool Report) Quests's PerformaSure J2EE performance analyser
http://www.cyanea.com/solution_home.html
(Commercial) Cyanea/One J2EE monitor
http://www.candle.com/performanceanalyzer
(Commercial) Candle's PathWAI J2EE monitor
http://www.performant.com/products.html
(Commercial) Performant's OptiBench J2EE performance analyser
http://www.dirig.com/solutions/dirig_app.html
(Commercial) Dirig Application Performance Platform (APP) integrated J2EE performance management suite
http://www.ca.com/solutions/enterprise/networks/athena/welcome.htm
(Commercial) CA's Athena, providing server-side J2EE performance monitoring.
http://www.hyperformix.com/products/products.htm
(Commercial) HyPerformix J2EE performance analyzers
http://www.altaworks.com/product/index.htm
(Commercial) Altaworks Panorama J2EE performance monitor.
http://www.proactivenet.com/
(Commercial) ProActive Net J2EE application server monitor.
http://www.compuware.com/products/vantage/vantageanalyzer.asp
(Commercial) (See the JPT Tool Report) Compuware's Vantage Analyzer Java performance monitoring and analysis solution.
http://www.compuware.com/products/devpartner/java/
(Commercial) "Improve Java Code Performance and Reliability with DevPartner Java Edition"
http://www.compuware.com/products/strobe/default.htm
(Commercial) Compuware Strobe APM solution
http://www.jinspired.com/products/jxinsight/index.html
(Commercial) JInspired's JInspired's JXInsight application performance management solution
http://www.appperfect.com/products/devsuite/jp.html
(Commercial) AppPerfect J2EE / JVM Profiler
http://www.j-sprint.com
(Commercial) (See the JPT Tool Report) Cheap fully featured Java profiler.
http://www.ej-technologies.com/jprofiler/overview.html
(Commercial) (See the JPT Tool Report) EJ-Technologies provide the jprofiler profiler.
http://www.javix.com/
(Commercial) The Javix Program Analyzer
http://www.borland.com/optimizeit/index.html
(Commercial) (See the JPT Tool Report) Borland's OptimizeIt! performance profiler
http://java.quest.com/jprobe/jprobe.shtml
(Commercial) (See the JPT Tool Report) Quest's JProbe performance profiler
http://www.semdesigns.com/Products/Profilers/JavaProfiler.html
(Commercial) Semantic Designs Java profiler
http://www.yourkit.com/home/index.jsp
(Commercial) YourKit Memory Profiler
http://www-3.ibm.com/software/ad/studioappdev/
(Commercial) (See the JPT Tool Report) WebSphere Studio (includes Profiling Tool)
http://developer.intel.com/vtune/analyzer/index.htm
(Commercial) The VTune Performance Analyzer
http://www.rational.com/products/quantify/index.jtmpl
http://www.rational.com/products/quantify_nt/index.jsp
(Commercial) Visual Quantify profiling tool by Rational Software
http://www.towerj.com/pressroom/analyzer.shtml
(Commercial) TowerJ Application Performance Analyzer
http://www.ilog.com/products/oplstudio/overview.cfm
(Commercial) ILOG Studio profiling tools.
http://www.eqase.com
(Commercial) eQASE Auditor performance profiler
http://www.segue.com/html/s_solutions/s_corba/s_sobserver_overview.htm
(Commercial) A distributed application profiler.
http://www.parasoft.com/wizard
(Commercial) CodeWizard for Java from ParaSoft Corporation
http://www.4thpass.com
(Commercial) SourceGuard
http://www.metamata.com/products/debug_top.html
(Commercial) Metamata Debugger (some people list this as a profiler, though it looks like a plain debugger to me)
http://www.visicomp.com/
(Commercial) VisiVue: Runtime Software Visualization for Java. Not a profiler but a graphical displayer of program execution. However does give a high level view of performance.
http://gcc.gnu.org/java/
(Free) The Java GNU Compiler (GCJ) is part of GCC. GCJ can compile Java source or Java bytecodes to either native code or Java class files.
http://www.excelsior-usa.com/jet.html
(Commercial) JET is an optimizing Java to native code compiler that statically compiles Java bytecodes directly into native code, just like traditional C, C++ compilers.
http://www.naturalbridge.com/bullettrain.html
(Commercial) NaturalBridge BulletTrain Java to native code compiler
http://www.windriver.com/products/html/fastj_compiler.html
(Commercial) Wind River Systems Diab FastJ Java to native code compiler
http://www.metrowerks.com/desktop/java/?features
(Commercial) Metroworks Codewarrior for Java, Java to native code compiler.
http://www.cs.vu.nl/manta/
(Free) Manta compiler with Fast RMI.
http://trove4j.sourceforge.net
(Free) The Trove project, an open source free fast implementation for Java collections and additional collection classes.
http://sourceforge.net/projects/amberarcher
(Free) The AmberArcher class library is open sourced. Includes Classfile parser/writer; reloading Classloader; UNIX syslog client protocol; an asynchronously updated Map; and cache and pool framework support.
http://jakarta.apache.org/commons/collections.html
(Free) Jakarta collections, which includes some performance optimized classes
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html
(Free) Doug Lea's util.concurrent library contains more efficient versions of things like linked lists that are optimized for use concurrent by producer-consumer applications.
http://jade.dautelle.com/
(Free) JADE. Many optimized packages: XML parser, readers/writers, string manipulators
http://www.mathcs.emory.edu/dcl/util/
(Free) VolatileHashMap (WeakHashMap with weak values rather than keys), int key HashMaps, 5.0 java.util.concurrent backports, connection pool, socket wrappers, in-process sockets, various Stream classes (Fork, redirecting, tee, null, compressed)
http://alphaworks.ibm.com/tech/aio4j
(Free) Asynchronous IO for Java replaces java.io and java.nio functionality but is intended to be more scalable
http://alphaworks.ibm.com/tech/ms4j
(Free) Method Scheduler for Java (MS4J) is a robust scheduler component that allows developers to execute methods on Java objects asynchronously and/or repeatedly.
http://valuelist.sourceforge.net/
(Free) Implementation of the Core J2EE Patterns - Value List Handler
http://pcj.sourceforge.net/
(Free) Primitive collections
http://spin.sourceforge.net/
(Free) Spin is a transparent threading solution for non-freezing Swing applications.
http://www.kataba.com/func/Func.asp
(Commercial) Kataba Functions library, up to 100 X faster than reflection by converting reflection calls to compiled interface calls.
http://foxtrot.sourceforge.net/
(Free) Foxtrot API to use threads with the Swing.
http://uic.sourceforge.net/
(Free) UICompiler rapid prototyping tool for GUI building, includes action policies for threading Swing actions
http://speedo.objectweb.org/
(Free) JDO implementation with caching, prefetching, and both optimistic and pessimistic transaction modes
https://animation.dev.java.net/
(Free) JGoodies Animation framework enables you to produce time-based real-time animations in Java
http://jodd.sourceforge.net/
(Free) Various classes including SQL execution time monitor and a connection pool
http://www.kataba.com/coll/About.asp
(Commercial) Kataba collection classes, improved versions of the core collection classes
http://xml.coverpages.org/ni2002-08-20-b.html
(Free) Tiny lightweight XML processor for J2ME apps.
http://www.builtsoftware.com/products/StringTheory/
(Commercial) StringTheory, optimized String classes
http://kxml.enhydra.org/
(Free) Small footprint XML pull parser and writer suitable for all Java platforms including the J2ME
http://www.japisoft.com/fastparser/
(Free) FastParser: a High performance Java XML parser
http://java-game-lib.sourceforge.net
(Free) A Lightweight Java Games Library extension. Includes high-performance 3D, memory addresses and hi-res timers.
http://gongolo.usr.dsi.unimi.it/~vigna/MG4J/
(Free) MG4J: open source implementation of Managing Gigabytes inverted-index compression techniques.
http://xmlenc.sourceforge.net/
(Free) Light-weight XML Encoding Library
http://www.crionics.com/projects/fhm/fhm.html
(Free) Olivier Refalo's Fast Hash Map class and supplementary classes.
http://www.jars.com/classes/jresout.cgi?resource=10376
(Free) Fast XML parser.
https://whirlycache.dev.java.net/
(Free) Whirlycache is a fast, configurable in-memory object cache for Java
http://valuelist.sourceforge.net/
(Free) Implementation of the Value List Handler Patterns
http://piccolo.sourceforge.net/
(Free) Piccolo is a small, extremely fast XML parser for Java.
http://proxool.sourceforge.net/
(Free) Proxool JDBC driver that provides a connection pool wrapper around another Driver of your choice.
http://java.isavvix.com/codeexchange/codeexchange-viewdetail.jsp?id=102
(Free) Timed and Softreference caches.
http://www.devx.com/java/free/articles/gt052002/gt052002-1.asp
(Free) Article detailing a bit stream class, for saving space when dealing with bits.
http://fastutil.dsi.unimi.it/
(Free) Sebastiano Vigna's fastUtil. Type-specialized hash maps and sets with a small memory footprint faster access and insertion.
http://java.isavvix.com/codeexchange/codeexchange-viewdetail.jsp?id=7
(Free) ConnectionPoolManager. A JDBC connection pool manager.
http://www.JavaPerformanceTuning.com/tools/jamon/index.shtml
(Free) (See the JPT Tool Report) Steve Souza's JAMon (Java Application Monitor) framework for monitoring applications. Suitable for production systems.
http://grinder.sourceforge.net/
(Free) The Grinder pure Java load-testing framework.
http://alphaworks.ibm.com/tech/apera
(Free) Application Performance Evaluator and Resource Allocation Tool APERA is a tool for performance modeling and evaluation, resource allocation, and capacity planning. APERA helps to build performance models for J2EE applications, solve the models, and choose the right configurations for the applications. It is a plug-in in Eclipse or WebSphere Studio.
http://www.sable.mcgill.ca/step/
(Free) STEP system for encoding general program trace data in a flexible and compact format.
http://www.orbeon.com/oxf/oxfmark
(Free) OXF Mark is a server-side Java benchmark intended to be representative of real server code
http://www.welofunc.com/
(Free) Welofunc open source load tester
http://www.opendemand.com/openload/
(Commercial) OpenDemand's OpenLoad Load testing solution
http://alphaworks.ibm.com/tech/cprt
(Free) Client Perceived Response Time, for measuring web service performance a from client perspective
http://www.alphaworks.ibm.com/tech/bwlm
(Free) Business Workload Manager, enables instrumentation of applications in order to monitor the performance of transactions across a distributed environment.
http://aopclsuite.sourceforge.net/tracing.html
(Free) Tracing classloader.
http://sourceforge.net/project/showfiles.php?group_id=51479
(Free) Java GUI testing utility.
http://www.alphaworks.ibm.com/tech/wptools
(Free) IBMs Web performance tools: stress and record, for web load testing
http://www.experimentalstuff.com/Technologies/GCold/index.html
(Free) GCold garbage collection stress benchmark
http://www.harringtonweb.com/~brh/jnetsim/
(Free) JNetSim, Java network simulator for analyzing Java network communications.
http://java.sun.com/j2ee/ecperf/
(Free) Kit and Specification for a performance workload meant to measure the scalability and performance of Enterprise JavaBeans (EJB) servers and containers.
http://www-3.ibm.com/software/webservers/appserv/benchmark3.html
(Free) Trade3 is the third generation of the WebSphere end-to-end benchmark and performance sample application.
http://www.urbancode.com/projects/ejbbenchmark/default.jsp
(Free) Urbancode's EJB benchmark recently updated
http://www.pushtotest.com/ptt/saskit.html
(Free) PushToTest open source benchmark Web Services Performance Kit, measures the performance of Web Services.
http://www.empirix.com/empirix/web+test+monitoring/testing+solutions/ejb+component+testing.html
(Commercial) Empirix's Bean-test EJB testing tool, automatically generates test scripts to help determine EJB performance bottlenecks.
http://www.yoda.arachsys.com/java/jbench/
(Free) Simple benchmarking framework
http://java.sun.com/j2ee/ecperf
(Free) ECperf benchmark toolkit
http://www.objexcel.com/workingjava.htm
(Free) Some benchmarks of servlets in web servers. Includes code.
http://www.pankaj-k.net/xpb4j/
(Free) XPB4J Java XML benchmark.
http://www.sunworld.com/sunworldonline/swol-10-1997/swol-10-perf_p.html
(Free) Article describing Adrian Cockroft's Metrognome class and GPercollator tool (Page last updated October 1997).
http://www.volano.com/mark.html
(Free) Volano benchmarking tool.
http://www.minq.se/products/pureload/index.html
(Commercial) Stress tester.
http://www.nq4.de/webSite/JoGa/joga.html
(Free) JoGa Java optimizer with global analysis
http://www.jars.com/classes/jresout.cgi?resource=11661
(Free) JCMP is a java byte code optimizer/compressor/obfuscator.
http://freshmeat.net/projects/jamit/
(Free) Jamit intended for analyzing access modifiers, but can eliminate dead code for smaller class sizes.
http://dev2dev.bea.com/codelibrary/code/wlp_cache_monitoring_tool.jsp
(Free) Weblogic Portal Cache Monitoring Tool
http://www.Velocitop.com/product.html
(Commercial) (See the JPT Tool Report) Velocitop's Catapult JDBC performance analyzer and optimizer.
http://www-svca.mercuryinteractive.com/products/production_tuning/
(Commercial) Mercury Interactive ProTune optimizer.
http://www-i2.informatik.rwth-aachen.de/~markusj/jopt/
(Free) Jopt: Markus Jansen's free Java Class File Optimizer
http://www.preemptive.com/index.html
(Commercial) PreEmptive's DashO optimizing recompiler.
http://www.flex-compiler.lcs.mit.edu/Harpoon/
(Free) FLEX: An optimizing Java compiler framework from MIT
http://www.alphaworks.ibm.com/tech/jax
(Commercial) JAX size optimizer from IBM - alphaWorks
http://www.alphaworks.ibm.com/formula/jres
(Free) jres resource manager and compressor from IBM - alphaWorks
http://www.e-t.com/jshrink.html
(Commercial) Jshrink size optimizer from Eastridge Technology
http://www.condensity.com
(Commercial) Condensity optimizer/obfuscater utility from Plumb Design
http://proguard.sourceforge.net
(Free) ProGuard class file shrinker
http://jarg.sourceforge.net/
(Free) Jarg bytecode optimizer and classfile shrinker
http://jode.sourceforge.net/
(Free) Jode bytecode optimizer
http://www.cs.purdue.edu/homes/hosking/bloat/
(Free) Bloat, Bytecode-Level Optimization and Analysis Tool
http://jcache.sourceforge.net/index.html
(Free) JCache Open Source version of JSR-107 JCache (in alpha)
(Free) HotSwap class reloading client (1.4+ tool)
http://www.quartzscheduler.org/
(Free) OpenSymphony Quartz Job Scheduler
http://www.jgroups.org/javagroupsnew/docs/index.html
(Free) Toolkit for Reliable Multicast Communication
http://abbot.sourceforge.net/
(Free) Abbot Java GUI Test Framework
http://jocache.sourceforge.net/
(Free) ShiftOne JOCache Java open source object caching library.
http://jniosocket.sourceforge.net/
(Free) framework for creating a highly scalable application (10000+ socket connections) using NIO.
http://www.842technology.com/product.jsp
(Commercial) Engine/J, highly scalable efficient HTTP server enhancer
http://www.objectweb.org/c-jdbc/
(Free) Database cluster middleware that allows any Java application to transparently access a cluster of databases through JDBC
http://sourceforge.net/projects/prevayler/
(Free) Prevalence fast, simple and transparent business object persistence, with ACID transaction, fault-tolerance, replication and load-balancing.
http://classworlds.codehaus.org/
(Free) classworlds is a framework for container developers who require complex manipulation of Java's ClassLoaders.
http://www.leesw.com/timewindow/index.html
(Free) Timewindow is a utility for time-limiting java classes by inserting time-limiting code.
http://www.gemstone.com/products/gemfire/index.html
(Commercial) GemStone's GemFire provides high performance shared-memory objects, objects sharable across multiple JVMs
http://www.isocra.com/products/livestoreregister.php
(Commercial) (See the JPT Tool Report) Isocra's livestore, a transparent JDBC data cache
http://www.gemstone.com/products/facets.html
(Commercial) Shared scalable transactional workspace
http://www.bluestream.com/dr/?page=Home/Products/StreamStore/&level=2
(Commercial) StreamStore pure Java efficient embeddable database engine.
http://bcel.sourceforge.net/
(Free) BCEL, the Bytecode Engineering Library, a bytecode generator.
http://www.experimentalstuff.com/Technologies/HotSwapTool/index.html
(Free) HotSwap: GUI front-end to dynamic class redefinition capability of 1.4 JVMs
http://wrapper.sourceforge.net/doc/english/index.html
(Free) The Java Service Wrapper, tool to make your Java application a service on various OSs. Essential for 24/7.
http://www.brics.dk/JSA/
(Free) BRICS Java String Analyzer
http://www.javaforu.com/speeddemon/speeddemonIndex.htm
(Free) Open source tool to accelerate file HTTP transfers by accessing multiple parts of files in parallel.
http://mckoi.com/database/index.html
(Free) Open Source Java SQL Database System.
http://www.acelet.com
(Commercial) SuperLogging, logging tool designed to serverside requirements.
http://jakarta.apache.org/jmeter/index.html
(Free) Apache Jmeter load test tool
http://www.load4j.org/
(Free) load4j open source stress testing framework
http://www.coopsoft.com/JavaProduct.html
(Free) Fault tolerant multithreaded queueing container
http://wwwhome.cs.utwente.nl/~bakkerj/jmunger/
(Free) JMunger, a tool that lets you add code to classes at runtime.
http://ikplab11.inf.ethz.ch:9000/prose/Wiki.jsp
(Free) Prose, a tool that lets you add code to classes at runtime.
http://www.rolemaker.dk/articles/evaljava/
Evaluation of Java for games. Includes the latest comparison of C++ vs Java speed. Shows that performance tuned Java code runs at a similar speed to C++.
http://webperformance.com/library/reports/index.html
WebPerformanceInc's Servlet engine performance report
http://java.sun.com/products/hotspot/docs/whitepaper/Java_HotSpot_WP_Final_4_30_01.html
The Java HotSpot Virtual Machine (updated to the version released with SDK 1.3.1)
http://www.fawcette.com/wireless/grehan/
Survey of J2ME devices looking at performance, from July 2002
http://developer.java.sun.com/developer/technicalArticles/xml/JavaTechandXML_part2/
Report comparing the performance of various Java XML technologies.
http://www.volano.com/report.html
The Volano report.
http://www.electronicstimes.com/story/OEG20010131S0032
Report on the Insilicon Java coprocessor
http://www-4.ibm.com/software/webservers/appserv/wcat.pdf
A "we're great and they suck" performance comparison by IBM of IBM WebSphere vs. Microsoft IIS.
http://www.adtmag.com/Pub/article.asp?ArticleID=2009
Non-technical article with basic performance comparisons of some leading application servers (Page last updated November 2000, Added 2001-01-19, Author Rich Seeley). Tips:
http://developer.java.sun.com/developer/technicalArticles/Networking/HotSpot/
Steven Meloan's in depth look at the HotSpot Performance Engine (June 1999)
http://www.javalobby.org/features/jpr/part3.html
The Java Performance Report, Part III from September 2, 2000, by Osvaldo Pinali Doederlein. If you are still looking for comparitive performance reports (JVM vs JVM, Java vs C), this is pretty useful.
http://www.devresource.hp.com/JavaATC/JavaPerfTune/HotSpotBench.html
Analysis of running benchmarks on HotSpot. Note that it only applies to HotSpot 1.0. HotSpot 2.0 is able to swap interpreted methods for compiled ones while the method is running.
http://www.research.ibm.com/journal/sj39-1.html
IBM research journal edition dedicated to Java performance. Mostly reports for VM or compiler builders.
http://www.developer.ibm.com/java/j2/j2perfpaper.html
IBM's VM technology and their optimizations.
http://www.javalobby.org/features/jpr/
Java performance report, comparing VMs.
http://www.netlib.org/benchmark/linpackjava/
Java Linpack Benchmark.
http://www.sunworld.com/sunworldonline/swol-10-1995/swol-10-perf_p.html
Complete answer about how memory is managed by Solaris. On modern operating systems, this tends to be the most difficult thing to directly measure because of the convoluted memory management of modern systems.
http://www-cse.ucsd.edu/users/wgg/JavaProf/javaprof.html
Bill and Paul's UCSD Benchmarks for Java.
http://www.webfayre.com/pendragon/cm2/index.html
Caffeine Java performance benchmarks.
http://www.meurrens.org/ip-Links/Java/CodeEngineering/papers/jcc.html
Java to C converter.
http://www.preemptive.com/performance/article.html
Article about DashO, called "Fine Tuning Java Applications" from November 1999 issue of Java Report (Page last updated November 1999, Authors Matt Weisfeld and Gabriel Torok).
http://www.irisa.fr/compose/harissa/harissa.html
Java to C converter.
http://www.unixsolutions.hp.com/products/java/mjp2/
HP report on improving Java at the VM level.
http://www.javaworld.com/javaworld/jw-09-1998/jw-09-speed.html
Mark Roulo's analysis of various VMs performances.
http://www.visionnaire.com.br/informes/JvPerfor/JvPerfor.htm
Full report on a variety of VMs and benchmarks.
http://www.manageability.org/blog/stuff/open-source-profilers-for-java
Open Source Profilers for Java
http://www.math.tau.ac.il/~guy/pa/java.html
Huge list of academic papers on Java performance related issues
http://www.geocities.com/marcoschmidt.geo/jcomp.html
List of Java compilers
http://www.javaspecialists.co.za
Dr. Heinz Kabutz's newsletters. Not always performance focused, but usually interesting
http://www.bearcave.com/software/java/comp_java.html
Somewhat idiosyncratic set of links on compiling Java (aimed at static compilation to native code).
http://www.jdance.com/optimization.shtm
Set of optimization focused links.
http://www.javaworld.com/channel_content/jw-performance-index.shtml
Javaworld's list of their own performance related articles.
http://www.planetjavainc.com/Performance_Tips/
Nice set of organized links on various different performance areas: EJB, JDBC; JSP & servlets.
http://www.precisejava.com
Site dedicated to J2EE performance tips.
http://www.alife.co.uk/links/jdev/
Java links, including optimizers, compilers, etc.
http://www.javaolympus.com/java/PerformanceDirectory.html
Another short list of performance relaed articles.
http://tilde-hoschek.home.cern.ch/~hoschek/colt/index.htm
The Colt distribution: A set of open source libraries for High Performance Scientific and Technical Computing in Java. Contains efficient and usable data structures and algorithms competitive or superior to other toolkits.
http://www.extreme.indiana.edu/hpjava/
Java high performance comptuing links.
http://www.research.ibm.com/ninja/jhpc.html
Second Workshop on Java for High Performance Computing.
http://www.sun.com/sun-on-net/performance.html
Sun page link to performance tuning, but not much Java specific
http://internet.about.com/industry/internet/msubjavaperformance.htm
Nice list of Java performance related pages.
http://www.sunworld.com/common/swol-backissues-columns.html#perf
List of Sun articles, mostly Sun specific but some Java and some Web.
http://www.webreference.com/programming/optimize/
List of web server/html optimization links.
http://developer.netscape.com/docs/articles/tips.html
Netscape Java tips
http://os2.about.com/compute/os2/msubperftun.htm
OS/2 Link site for Java perf tuning
http://www.javaworld.com/javaworld/tools/jw-tools-testing.html
List of Java tools.
http://www.spec.org/
Spec website. Not so much Java specific info.
http://www.sun.com/sun-on-net/performance/book2ref.html
References Appendix from "Sun Performance and Tuning: Java and the Internet"
http://www.javaranch.com
The Java Ranch has a number of Java discussion forums, including one devoted to performance with some interesting discussions. JavaRanch Performance Forum
http://www.theserverside.com
The Server Side has a number of Java server-side (EJB etc) focussed discussion forums, including one devoted to performance with some interesting discussions. TheServerSide Performance Forum
http://java.isavvix.com/forums/viewForum.jsp?forum=38
Performance and scalability group at Isavvix
http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=xover&group=weblogic.developer.interest.performance&utag=
BEA has a performance discussion forums for its Weblogic application server
http://www.javagaming.org/discus/
JavaGaming.org has a number of Java discussion forums, including one devoted to performance with some interesting discussions. http://www.javagaming.org/discus/messages/27/27.html
http://javadevtalk.com/
JavaDevTalk has a number of Java discussion forums, including one devoted to performance with some interesting discussions.