Multicore: New chips mean new challenges
As multicore processors become more prominent, developers need all the support they can get. Infoworld's Paul Krill reports
on how Intel, Sun, and Microsoft are approaching Multicore.
Paul Krill,
November 2008
Web development with Wicket, Part 3: Many ways to persist
Wicket's fierce independence leaves you with lots of options for persisting your data. Find out how Wicket makes the marriage
work, whether you want to settle down with Spring/Hibernate or live on the edge with Databinder and ActiveObjects.
Nathan Hamblen,
September 2008
Vendors leading the race on multicore
Hardware vendors are way ahead of developers on multicore, but times are changing.
Tom Kaneshige,
August 2008
Four harmful Java idioms, and how to fix them
John O'Hanley reveals the fault lines of four widespread Java idioms, then tickles our brains with new ideas about optimizing
Java code for maintainability.
John O'Hanley,
July 2008
JRuby 1.1 released
Second major project release features performance improvements, a re-factored IO implementation, and improved memory consumption.
Paul Krill,
April 2008
Ajax on the network side
Ajax programming is just one piece of bringing more dynamic, responsive Web applications to your users. Ajax expert Thomas
A. Powell fills in the blanks for the network admins who oversee the performance and security of your Ajax apps.
Thomas A. Powell,
March 2008
JEOPARD to leverage multicore for real-time
The Open Group has partnered with a consortium of European real-time technology developers, industrial manufacturers, universities,
and research organizations to build a framework for Java-based, real-time applications on modern multicore chips and parallel
processor systems.
Paul Krill,
February 2008
Book excerpt: Executing tasks in threads
Learn how to execute tasks in threads in this excerpt from Java Concurrency in Practice (Brian
Goetz et al. (Addison Wesley Professional, May 2006)). The authors
present the Executor interface as the basis for a
flexible and powerful framework for asynchronous task execution
that supports a wide variety of task execution policies.
Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes and Doug Lea,
September 2006
Is your code ready for the next wave in commodity computing?
We are standing on the cusp of a real sea change in commodity
hardware architectures—the move away from individual
processing units that run at high speeds and temperatures to a
team of connected units that individually (now at least)
are less powerful, but make up for that several times over in sheer
numbers. This shift is pervasive, from Unix servers to game
consoles. Read on as Humphrey Sheil maps out the history of
parallelism, examines the current hardware offerings from the main
vendors, looks at some of the seminal software theory, and
identifies the strong and weak areas of the Java platform as they
relate to parallelism.
Humphrey Sheil,
July 2006
Build application search features modeled on Web searches
Building search features in applications modeled on Web searches
provides users with a familiar and intuitive search interface. It
keeps the user interface for searching simple and consistent across
the application. This article presents a framework that can be used
to develop simple yet powerful and extensible searching
functionality in applications, more specifically, database-driven
applications.
Suneel Parthasarathy,
March 2005
Pool resources using Apache's Commons Pool Framework
Resource pooling is not new and is being widely used to conserve
and optimize the usage of resources like threads, sockets, and
database connections. Web server implementations routinely use
thread pool implementations for performance and scalability
reasons. Commons Pool, from the Apache Software Foundation, may not
be the first when it comes to implementation, but it deserves its
own place for defining a framework that allows any arbitrary object
to be pooled. This article discusses Commons Pool and shows how to
use it to implement a thread pool.
Murali Kosaraju,
January 2005
Write thread-safe servlets
You finished your Web application, thoroughly tested it, and it's
now deployed. You're feeling bullet proof and 10-feet tall, and
then it happens...the customer-support calls start coming in:
"We're seeing some strange things. A customer is seeing someone
else's information!" As your professional career flashes before
your eyes, you scan for any possible scenarios that you may have
missed. "Did I test it under load? Could that make a difference? I
haven't run into this kind of problem before. Why now?" Well, if
you're a Java programmer and developing Web applications, then
thread safety is an issue you must contend with regardless of your
application type or project size. Your servlet and JavaServer Pages
code is subject to thread safety issues due to the way your servlet
container uses it. This article presents thread safety in simple
terms and explains why it can be an issue for your servlets. You
also learn how to avoid writing non-thread-safe servlets and how to
make servlets thread-safe.
Phillip Bridgham,
July 2004
Customize SwingWorker to improve Swing GUIs
The presentation layer of Swing-based applications mainly consists
of event-handling logic, layout properties, and graphical user
interface (GUI) components. While such code should be easy to
program because of the Swing programming model's single-threaded
nature, more complicated concurrent constructs such as
SwingWorker are often needed to perform time-consuming
tasks while preserving screen liveliness. In this article, Yexin
Chen discusses some negative consequences caused by
SwingWorker usage and illustrates how to customize
SwingWorker to achieve additional architectural design
goals.
Yexin Chen,
June 2003
Simply Singleton
Sometimes it's appropriate to have exactly one instance of a class: window managers, print spoolers, and filesystems are prototypical
examples. Typically, those types of objects—known as singletons—are accessed by disparate objects throughout a software system,
and therefore require a global point of access. Of course, just when you're certain you will never need more than one instance,
it's a good bet you'll change your mind.
David Geary,
April 2003
The thread threat
February 14, 2003
Vladimir Roubtsov,
February 2003
Recent articles:
Popular archives:
Java: A platform for platforms
Sun's reorg may seem promising to shareholders but it's also a scramble for position. The question now is whether Sun can,
or wants to, maintain its hold on Java technology. Especially with enterprise leaders like SpringSource and RedHat investing
heavily in Java's future as a platform for platforms
Also see:
Discuss: Java: A platform for platforms?