Thursday, August 17, 2006
An accelerated look at performance tools
O'REILLY NETWORK'S ONJava.com NEWSLETTER
--------------------------------------------------
The Independent Source for Enterprise Java
==================================================================
Managed Hosting Solutions Powered by Rackspace
Need Managed Servers with 100% Uptime? By integrating top Linux and
Windows technologies with Fanatical Support (TM) customer service,
Rackspace Managed Hosting created two distinct and powerful hosting
solutions. Visit Rackspace's Dev Zone to learn more about Managed Hosting,
and to find out why Rackspace is ideal for any company running Java EE or
LAMP configurations.
Click here to learn more: http://www.onlamp.com/onlamp/zones/rackspace/
==================================================================
Greetings...
Is it still all about speed? It seems like almost ten years ago that I
remember a big diagram in Byte magazine assessing various tactics for
getting more performance out of Java, from just-in-time compilers
(obviously, this was before the HotSpot era) to specialized Java chips to
execute JVM instructions in highly optimized hardware. And the approach
that had the best balance of practicality and results was, unsurprisingly,
writing better code. Of course, that's a lovely concept to talk about,
but once you've pruned out the stupid code (like repeatedly concatenating
Strings with the + operator instead of using a StringBuffer), what are you
really supposed to do to write better code? In a big project, how are you
even supposed to know where you can make a difference? This is where tools
can make a big difference, to show you what's going on at runtime,
discover memory leaks and other subtle problems, and expose which parts of
your code are used the most, and thus offer the greatest potential payoff
for optimization. This week's ONJava takes two looks at two products that
can help accelerate your code.
Among the many pieces of the Eclipse "Callisto" release, one of the most
exciting is the Test and Performance Tools Platform (TPTP). John Ferguson
Smart takes a look at these tools in "Profiling Your Applications with
Eclipse Callisto," in which he writes, "TPTP provides a comprehensive
suite of open source performance-testing and profiling tools, including
integrated application monitoring, testing, tracing and profiling
functionalities, and static-code analysis tools. Profiling tools are
invaluable aids for localizing and identifying performance issues in all
sorts of Java applications. In this article, we will look at how you can
use TPTP to guarantee high-quality and high-performance code, even during
unit and integration testing."
<http://www.onjava.com/pub/a/onjava/2006/08/16/profiling-with-eclipse-callisto.html>
Apache's JMeter is another interesting performance-testing tool, allowing
access via HTTP or FTP and supporting extensive scripting features--highly
appealing features for the web service developer. Dmitri Nevedrov takes a
look at using JMeter in the dev2dev article "Using JMeter to Performance
Test Web Services." He writes, "JMeter is a flexible tool that not only
allows you to test the HTTP servers but also to load-test Web services. A
skilled developer can write his or her own scripts to simulate or
customize the client requests or add a customized visualization of test
results. Web service and SOAP samplers are new features of JMeter;
hopefully they will evolve as Web services gets a wider acceptance in
industry and among developers."
<http://dev2dev.bea.com/pub/a/2006/08/jmeter-performance-testing.html>
In this week's feature article from java.net, Peter Becker unveils
critical flaws in common-sense thinking about Java's concepts of equality.
In "You Are What You Is: Defining Object Identity," Peter shows how the
common use of equals() in collections like Set, which don't allow
duplicates, can be thrown off by something as simple and common as a
set...() method. He writes, "the notion of 'identity' seems trivial at
first but it can be important for the design and, consequently, the
correct behavior of an object-oriented application. Through implementing
equals(), the Java programmer has the option to define a specific type of
identity, a very powerful but dangerous thing to do."
<http://today.java.net/pub/a/today/2006/07/27/defining-object-identity.html>
Recent O'Reilly Network weblogs of interest to Java developers:
Dejan Bosanac - Java open source roadmap
<http://www.oreillynet.com/onjava/blog/2006/08/java_opensource_roadmap.html>
Hari K. Gottipati - Java to support Visual Basic
<http://www.oreillynet.com/onjava/blog/2006/08/java_to_support_visual_basic.html>
Robert Cooper - Phoning the Shark
<http://www.oreillynet.com/onjava/blog/2006/08/phoning_the_shark.html>
Mike Loukides - Hibernate 3.0 Shortcut out!
<http://www.oreillynet.com/onjava/blog/2006/08/hibernate_30_shortcut_out.html>
Timothy M. O'Brien - Upgrade Rails Now: Critical Security Bug
<http://www.oreillynet.com/onjava/blog/2006/08/upgrade_rails_now_critical_sec.html>
Check out more O'Reilly Network Java weblogs at:
<http://www.oreillynet.com/onjava/blog/>
Please join us again next week.
Chris Adamson, Editor
ONJava.com
cadamson@oreilly.com
==================================================================
The First European RailsConf 2006 - September 14-15 London
Learn why Ruby on Rails is taking Europe by Storm! Find out what's new
cool and exciting from more than 25 leading web 2.0 experts, including
David Heinemeier Hansson - creator of Rails, Pragmatic Programmer Dave
Thomas, Rake author Jim Weirich, Why the Lucky Stiff and more!
http://www.oreilly.com/go/railsconf_linux
==================================================================
*** Java News and Weblogs ***
java.net Weblogs
http://weblogs.java.net/
O'Reilly Network Java Weblogs
http://www.oreillynet.com/pub/q/weblog_s?x-subject=3
Other Java News (channel -- LANG: JAVA)
http://www.oreillynet.com/meerkat/index.php
Java Cookbook Recipe of the Day
http://www.onjava.com/onjava/javacook/solution.csp?day=1
Java Events
http://www.onjava.com/onjava/events/
==================================================================
Sponsored by GoToMyPC(R)
GoToMyPC(R) allows small businesses and individuals to achieve instant
flexibility. This award-winning remote-access solution enables users to
securely access email, applications and network resources from home or on
the road from any Internet-connected computer. Citrix offers a 30-day
risk-free trial.
Learn more. http://www.oreillynet.com/etel/citrix
==================================================================
*** Other Related O'Reilly Network sites ***
O'Reilly Network
http://www.oreillynet.com
XML.com
http://xml.com/
ONLamp.com
http://onlamp.com
O'Reilly Media
http://www.oreilly.com/
O'Reilly Java
http://java.oreilly.com/
***
ONJava.com Affiliates
Servlets.com
http://www.servlets.com/
JDOM.org
http://www.jdom.org/
------------------------------------------------------------------
Visit our Sponsored Developer Resource Pages and learn about cool
stuff from our sponsors!
Downloads - Free Training - Webinars - Updates
Driver Agents Driver Updates: http://www.oreilly.com/go/driver_updates
GoToMyPC(R) Remote Access: http://www.oreillynet.com/etel/citrix/
Inside Lightroom: http://digitalmedia.oreilly.com/lightroom/
Rackspace Managed Hosting: http://www.onlamp.com/onlamp/zones/rackspace/
------------------------------------------------------------------
Interested in sponsoring the ONJava.com newsletter? Please email us
at advertising@oreilly.com for rate and availability information.
Thank you!
------------------------------------------------------------------
To change your newsletter subscription options, please visit
http://www.oreillynet.com/cs/nl/home
For assistance, email help@oreillynet.com
O'Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
(707) 827-7000
------------------------------------------------------------------