|
||||||
Currently writing about iPhone Development, GWT, Ajax, Leopard, and Java.DTrace: Why Java 6 on Leopard MattersSaturday, November 03, 2007
In all the hullabaloo and developer discontent about Mac OS 10.5 shipping with Java 1.5, one question has been frequently overlooked: why do we need Java 6? Why is Java 1.6 so much better than Java 1.5?
The standard answer is performance. And it's true, Java 6 smokes Java 5, especially in GUI applications. But I spend most of my time in the server world, so the Java 6 performance improvements don't impact my life that much. There are some other nice-to-haves like XML binding, better exception logging, and improved web service support - but nothing on the scale of the Java 1.4->1.5 changes. So why does Java 6 on Leopard Matter? DTrace! DTrace is a kernel debugging framework created by Sun. Apple built DTrace support into Leopard and created a Garageband-like GUI around it: Instruments, aka Xray. Apple is pretty proud of DTrace (5 of Leopard's 300 new features are DTrace related), and rightfully so. The developer community is also excited about it - in his seminal Mac OS 10.5 review, John Siracusa called it "indistinguishable from magic" and said DTrace "can't help but lead to better, faster, more stable applications." For an in depth description of DTrace, I highly recommend you read Siracusa's review, Sun's page, or the developers' blogs. If you're short on time, here's the poor man's guide to DTrace: How developers monitored & debugged applications before DTrace: ![]() How developers monitor & debug applications after DTrace: ![]() DTrace and Java 6 So what does DTrace have to do with Java? DTrace allows developers to get a top-to-bottom view of application activity and see what happens across the entire stack. You can look "beneath the JVM" and understand how your application interacts with the kernel. Very cool stuff. Unfortunately, DTrace probes are only available in Java 6 - it can't be hooked up to Java 5, which ships with Leopard. So there's this incredibly useful tool that developers are dying to use for debugging Java applications. It's sitting there in the terminal, taunting techies. But everytime they type "dtrace -l", 21,527 probes scroll by without a hotspot in sight. Performance & parity are all great reasons to want Java 6 on Leopard, but I'm looking forward to DTrace support. ![]() |
||||||
|
|
Blog - Apps - About Adam
![]()
Twitter: adamhoughton
© Copyright 2008, Adam Houghton