How-To

Java 101: The next generation: The essential Java language features tour, Part 3

Get introduced to the last but not least of new features that have improved Java's productivity since JDK 5: Autoboxing and unboxing, the enhanced for loop, static imports, varargs, and covariant return types.

03/13/14

How-To

Java 101: The next generation: The essential Java language features tour, Part 2

Learn how to use typesafe enums in switch statements, then get started with Java annotations and meta-annotations types like Target, which can clarify the meaning of annotations in your Java code.

01/21/14

Tutorial

Java 101: The next generation: The essential Java language features tour, Part 1

From assertions in JDK 1.4 to the forthcoming lambdas in Java 8, the Java language has evolved considerably since its inception. The next several articles in Java 101: The next generation present a toolbox of essential Java...

09/19/13

How-To

Java 101: The next generation: Java concurrency without the pain, Part 2

Learn how the Java Concurrency Utilities handle locking, atomic variables, and fork/join operations. Then prepare for the future with an overview of anticipated changes to the Java Concurrency Utilities coming in Java 8.

08/13/13

Feature

Java 101: The next generation: Java concurrency without the pain, Part 1

When concurrency gets complex, Java developers can count on the Java Concurrency Utilities to smooth the bumps. Get started with the Executor framework, concurrent synchronizer types, and the Java Concurrent Collections package, and

06/19/13

Feature

Java 101: The next generation: It's time for a change

Find out how the Java Date and Time API addresses the need for a more robust date and time infrastructure in Java SE, then familiarize yourself with the java.time classes you're most likely to use, in this inaugural installment of...

04/08/13

Feature

Java 101: Datastructures and algorithms, Part 2

Learn about the linked-list datastructure in all its variants -- single, double, and circular. Then discover the related linked-list algorithms for node-insertion/deletion, concatenation, inversion, and insertion-sort. Finally,...

06/13/03

How-To

Java 101: Datastructures and algorithms, Part 1

This is the first article in a two-part series that explores datastructures and algorithms. Start by learning basic concepts, then take a tour of the array datastructure. You'll learn about one-dimensional, two-dimensional, and ragged

05/02/03

How-To

Regular expressions simplify pattern-matching code

Text processing frequently requires code to match text against patterns. That capability makes possible text searches, email header validation, custom text creation from generic text (e.g., "Dear Mr. Smith" instead of "Dear...

02/07/03

How-To

Tools of the trade, Part 3

What task do you perform after creating your Java program with a development tool, such as JCreator, and thoroughly testing that program with a testing tool, such as Jtest? Answer: Prepare the program for installation on your...

01/03/03

How-To

Tools of the trade, Part 2

Sun Microsystems' Java 2 SDK tools prove helpful for building small Java programs. However, they lack features for the rapid development and thorough testing that large Java programs need. Furthermore, no SDK tool simplifies the...

12/06/02

How-To

Tools of the trade, Part 1

Although I use Java 2 Platform, Standard Edition (J2SE) tools (such as javac) throughout Java 101, a world of Java tools exists beyond the SDK. I would do you a disservice if I did not explore some of those tools in this column....

11/01/02

How-To

Java's character and assorted string classes support text-processing

Text can represent a combination of digits, letters, punctuation, words, sentences, and more. Computer programs that process text need assistance (from their associated languages) to represent and manipulate text. Java provides such...

10/04/02

How-To

Packages organize classes and interfaces

Why reinvent the wheel? That cliche applies to software development where some developers frequently rewrite the same code for different programs. Two disadvantages with that approach are:

09/06/02

How-To

Java 101: Understanding Java threads, Part 4: Thread groups, volatility, and thread-local variables

The "Understanding Java threads" series concludes by uncovering some of the loose ends of threading: thread groups, volatility, thread-local variables, timers, and thread death.

08/02/02

How-To

Java 101: Understanding Java threads, Part 3: Thread scheduling and wait/notify

Jeff Friesen keeps the Java 101 focus on Java threads this month, introducing the mechanisms that allow you to select and manage thread priority. Learn how thread scheduling, the wait/notify mechanism, and thread interruption should...

07/05/02

How-To

Java 101: Understanding Java threads, Part 2: Thread synchronization

Multithreaded programming brings a new order of complexity to Java threads, and you'll need some new tools to manage it successfully. In this second article in the Java 101 "Understanding Java threads" series, Jeff Friesen eases into...

06/07/02

How-To

Java 101: Understanding Java threads, Part 1: Introducing threads and runnables

Java application users have little patience with poor performance, and threading is one of the best tools we have for allocating application resources efficiently. Jeff Friesen spends the next four articles in the Java 101 series...

05/03/02

How-To

Exceptions to the programming rules, Part 2

Last month's Java 101 article introduced you to exceptions. You learned that an exception diverges from normal execution and observed how C, C++, and Java programs handle exceptions. This month, I delve into Java's...

04/05/02

How-To

Exceptions to the programming rules, Part 1

Apart from the simplest programs, programs usually fail. Causes range from coding mistakes to bad user input, to operating system flaws. Regardless of the failure's cause, as a software developer, you're charged with designing...

03/01/02

Load More