Will Oracle kill the Java community?
Will Oracle be good to Java's developers?
Robert McMillan
,
June 2009
Microsoft to give its first JavaOne keynote
Here's a first: Microsoft will be giving a keynote address at the JavaOne conference in San Francisco next month.
Robert McMillan
,
May 2009
Writing good unit tests, Part 2: Follow your nose
Klaus Berg continues his investigation of the tools and best practices that facilitate programming with GUTs. Get tips for
writing cleaner,
more efficient assertions, handling checked and unchecked exceptions, and knowing when and how to refactor your test code.
Examples are based on
JUnit 3 and 4, TestNG, and Hamcrest.
Klaus P. Berg,
April 2009
REST for Java developers, Part 4: The future is RESTful
Find out why REST interfaces are foundational for emerging architectures such as the Semantic Web. Brian Sletten takes a big-picture
view of REST, now and in the future, in this final article in his series.
Brian Sletten,
April 2009
Lamport's one-time password algorithm (or, don't talk to complete strangers!)
The Lamport algorithm provides an elegant scheme for generating and applying one-time passwords, or OTP. Find out how Lamport
works, then see it in action with an OTP reference implementation for an extensible, Java-based library.
Louis J. Iacona,
March 2009
Writing good unit tests, Part 1: Follow your GUTs
What do you know about the quality of your unit tests? Probably not as much as you know about your production code. Klaus
Berg explains why craft matters just as much for test code as for production code, then provides a comprehensive listing
of agile tools and best practices for improving the quality of your unit tests.
Klaus P. Berg,
March 2009
Building cloud-ready, multicore-friendly applications, Part 1: Design principles
Atomicity, statelessness, idempotence, and parallelism: that's your ticket to code that's ready for both modern multicore
chips and the future of distributed -- or cloud -- computing. Appistry engineer Guerry Semones introduces these four pillars
of distributed design.
Guerry Semones,
March 2009
Understanding actor concurrency, Part 1: Actors in Erlang
As multicore hardware continues to mature, the shared-state concurrency model that Java and other mainstream languages depend
on is headed toward obsolescence. Learn how Erlang, a functional language, implements an increasingly relevant alternative
for structuring concurrent applications.
Alex Miller,
February 2009
Asynchronous processing support in Servlet 3.0
The revolution didn't stop with Ajax, and the incoming Servlet 3.0 specification will prove it. Find out why Servlet 3.0's
support for asynchronous processing is the next big leap forward for developing collaborative, multi-user applications for
Web 2.0.
Dr. Xinyu Liu,
February 2009
Measuring Web application response time: Meet the client
Server-side response time says your Web application is blazing fast; but if you're not measuring the client you're missing
the full picture. Learn how to fill in the blanks by capturing and logging end user events.
Srijeeb Roy,
November 2008
Open source Java projects: Java Caching System
Caching frequently accessed objects is a sure way to improve application performance. Steve Haines joins the OSJP series to
introduce Java Caching System, a full-featured, easily configured tool for enterprise-level caching.
Steven Haines,
November 2008
MapReduce programming with Apache Hadoop
Google's MapReduce framework handles massive data sets in the blink of an eye. Lucky for you, it's possible to harness similar
power for your own distributed data processing needs, with the open source Java-based Hadoop.
Ravi Shankar and Govindu Narendra,
September 2008
The case for Java modularity
It never rains but it pours! Get some background on the long and winding road to Java modularity, then compare the two specification
requests vying for inclusion in Java 7: JSR 291: Dynamic Component Support for Java SE and JSR 277: (Sun's) Java Module System.
Jeff Hanson,
August 2008
Creating DSLs in Java, Part 3: Internal and external DSLs
Learn about the importance of method chaining in internal DSLs, then try creating an external DSL using a powerful language
recognition tool, openArchitectureWare.
Venkat Subramaniam,
August 2008
Is unit testing doomed?
Andrew Binstock follows up his recent blog posts with a deeper inquiry into why fewer Java developers are unit testing code,
and why some may regret the decision later.
Andrew Binstock,
August 2008