 |
Brian Goetz
Publications
|
|
|
| Books |
|
| Regular columns |
- Java
Theory and Practice: a monthly column in IBM
developerWorks on Java programming concepts, techniques, and
best practices.
- Going wild with generics, Part II. July 2008.
- Going wild with generics. May 2008.
-
Stick a fork in it, Part II. March 2008.
-
Stick a fork in it, Part I. November 2007.
-
Managing volatility. June, 2007.
-
The Closures debate. April 2007.
-
Using Java 5 language features in earlier JDKs.
February 2007.
-
Instrumenting applications with JMX. September
2006.
-
Testing with leverage, part III.
August 2006.
-
Testing with leverage, part II.
July 2006.
-
Testing with leverage, part I.
June 2006.
-
Dealing
with InterruptedException. May 2006.
-
Introduction
to nonblocking algorithms. April 2006.
-
Good
housekeeping practices. March 2006.
-
The
pseudo-typedef antipattern. February 2006.
-
Plugging memory leaks with soft
references. December
2005.
-
Plugging memory leaks with weak
references. November 2005.
-
Looking ahead: synchronization optimizations in
Mustang. October 2005.
-
Urban
performance legends revisited: slow object
allocation. September 2005.
-
Decorating with dynamic
proxies. August 2005.
-
Be
a good (event) listener. July 2005.
-
Borrowing a data
model. May 2005.
-
Initialization
atomicity. April 2005.
-
Screen
scraping with XQuery. March 2005.
-
Anatomy
of a flawed microbenchmark. February 2005.
-
Gotchas
with generics. January 2005.
-
Dynamic
compilation and performance measurement. December
2004.
-
Going
Atomic. November 2004.
-
More
flexible, scalable locking in JDK 5.0. October
2004.
-
State
replication in the web tier. July 2004.
-
Kill
bugs dead. June 2004.
-
The
Exceptions debate. May 2004.
-
Coaxing
J2EE out of the container. April 2004.
-
Fixing
the Java Memory Model, Part 2. March 2004.
-
Fixing
the Java Memory Model, Part 1. February 2004.
-
Garbage
collection and performance. January 2004.
-
Garbage
collection in the 1.4.1 JVM. November 2003.
-
A
brief history of garbage collection. October 2003.
-
Characterizing
thread-safety. September 2003.
-
Building
a better HashMap. August 2003.
-
Concurrent
collection classes. July 2003.
-
Whose
object is it, anyway? June 2003.
-
Hashing
it out. May 2003.
-
Urban
Performance Legends. April 2003.
-
Performance
management -- do you have a plan? March 2003.
-
To
mutate, or not to mutate? February 2003.
-
What's
your point? January 2003.
-
Concurrency
made simple (sort of.) November 2002.
-
Is
that your final answer? October 2002.
-
Hey,
where'd my thread go? September 2002.
-
I
have to document THAT? August 2002.
-
Thread
Pools and Work Queues. July 2002.
-
Safe
Construction Techniques. June 2002.
-
Understanding
the Java Transaction Service, part 3: Balancing safety and
performance. May 2002.
-
Understanding
the Java Transaction Service, part 2: The magic behind the
scenes. April 2002.
-
Understanding
the Java Transaction Service, part 1: An introduction to
transactions. March 2002.
-
Should
you use JMS in your next enterprise application?.
February 2002.
|
| Other articles and publications |
-
Optimistic Thread Concurrency. Azul Systems
(whitepaper), January
2006.
-
Realizing the Elegance of Java Technology. Azul
Systems (whitepaper), January 2006.
- The Azul
Virtual Machine. Azul Systems (whitepaper), August 2005.
-
The
next wave in J2EE deployment. JavaWorld, April
2005.
- Tutorial:
Introduction to generic types in JDK 5.0. IBM
developerWorks Java Zone, December 2004.
- Tutorial: Concurrency
in JDK 5.0, IBM developerWorks Java Zone, November
2004.
- Making
concurrency easier, JavaPro, June 2004.
- New
J2ME Standards. MobilizedSoftware.com, March 2004.
- A
first look at JSR 166: Concurrency Utilities. java.net,
February 2004.
- Web
services are outgrowing their name. Intel Developer,
June 2003.
- How Amazon uses Web services to connect with partners.
Intel Developer, May 2003.
- The
Web services tools landscape. Intel Developer, March
2003.
- Web
services brings enterprise computing out of the data center.
Intel Developer, February 2003.
- Tutorial: Introduction
to Java Threads. IBM developerWorks Java Zone,
September 2002.
- Stamp
out spam with SpamAssassin. IBM developerWorks Linux Zone,
September 2002.
- JNDI
without J2EE. JavaWorld, April 2002.
- Can
ThreadLocal solve the double-checked locking problem? JavaWorld,
November 2001.
- Avoiding
synchronization deadlocks. JavaWorld, October 2001.
- Exceptional Practices: a series on the use and misuse
of exceptions. JavaWorld, August-November 2001.
- Threading Lightly; a three-part series on creating
efficient multithreaded applications. IBM developerWorks,
July-October 2001.
- Can
double-checked locking be fixed? JavaWorld, May 2001.
- Double-checked
locking: Clever, but broken. JavaWorld, February 2001.
- Design for Performance; a three part series in
JavaWorld on how design decisions made early in the development
process can have significant consequences for program
performance. January-March 2001.
- Tweak
your IO performance for faster runtime. JavaWorld, November
2000.
- The
Lucene Search Engine -- Powerful, Flexible, and Free.
JavaWorld, Sept 2000.
|
|
|
| Acknowledgements |
Thanks to all the folks that have helped me develop
these articles and contributed great ideas -- Joe Bowbeer, Doug Lea,
Josh Bloch, Jack Shirazi, Jeffrey Siegal, Michael Maurer, Jeremy
Manson, Tim Peierls, David Holmes, Cliff Click, Richard Jones, Jason
Hunter, Tony Printezis, Sam Pullara, Bill Scherer, and Barry Hayes for their valuable technical feedback; Jenni
Aloi, Jennifer Orr, Patrick Vincent, and Jessica Lane for their
editorial advice; and all the readers and colleagues who have made
great comments and suggestions. |
|
Got comments? Feedback? Suggestions for future
articles? Let me know! |
|
|