Datastructures and algorithms, Part 2
Last month's column brought you into the computer science world of datastructures and algorithms by focusing on the array datastructure and associated algorithms. Developers view the array as a fundamental datastructure because it serves as the basis for more complex datastructures, such as stacks, queues, and trees. Developers also view the fundamental linked-list datastructure as a foundation for more complex datastructures.
Jeff Friesen, June 2003

Study guide: Datastructures and algorithms, Part 2
Welcome to the Java 101 study guide. This guide complements " Datastructures And Algorithms, Part 2." It provides a glossary of terms specific to that article, tips and cautions, solutions to last month's homework, and Jeff Friesen's answers to questions from your fellow students. The Java 101 study guides are evolving documents—they change periodically. For example, if you submit a question long after Jeff posts the relevant study guide, your question and his answer will eventually make its way onto that guide. Furthermore, from time to time, he will post additional examples and other material that clarifies an article's topic, so be sure to revisit the study guides periodically.
Jeff Friesen, June 2003

Datastructures and algorithms, Part 1
Computer science emphasizes two important topics: datastructures and algorithms. Those topics are important because the choices you make for a program's datastructures and algorithms affect that program's memory usage (for datastructures) and CPU time (for algorithms that interact with those datastructures). When choosing a datastructure or algorithm, you sometimes discover an inverse relationship between memory usage and CPU time: the less memory a datastructure uses, the more CPU time associated algorithms need to process the datastructure's data items, which are primitive type values or objects, via references. Also, the more memory a datastructure uses, the less CPU time associated algorithms need to process the data items—and faster algorithms result. This inverse relationship appears in Figure 1.
Jeff Friesen, May 2003

Study guide: Datastructures and algorithms, Part 1
Welcome to the Java 101 study guide. This guide complements " Data Structures And Algorithms, Part 1." It provides a glossary of terms specific to that article, tips and cautions, homework, and Jeff Friesen's answers to questions from your fellow students. The Java 101 study guides are evolving documents—they change periodically. For example, if you submit a question long after Jeff posts the relevant study guide, your question and his answer will eventually make its way onto that guide. Furthermore, from time to time, he will post additional examples and other material that clarifies an article's topic, so be sure to revisit the study guides periodically.
Jeff Friesen, May 2003

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 Customer"), and so on. Java supports pattern matching via its character and assorted string classes. Because that low-level support commonly leads to complex pattern-matching code, Java also offers regular expressions to help you write simpler code.
Jeff Friesen, February 2003

Study guide: Regular expressions simplify pattern-matching code
Welcome to the Java 101 study guide. This guide complements " Regular Expressions Simplify Pattern-Matching Code." It provides a glossary of terms specific to that article, tips and cautions, new homework, solutions to last month's homework, and Jeff Friesen's answers to questions from your fellow students. The Java 101 study guides are evolving documents—they change periodically. For example, if you submit a question long after Jeff posts the relevant study guide, your question and his answer will eventually make its way onto that guide. Furthermore, from time to time, he will post additional examples and other material that clarifies an article's topic, so be sure to revisit the study guides periodically.
Jeff Friesen, February 2003

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 customers' computers. How do you accomplish that task? Either create your own installation program, which might take as long to create as the program to be installed, or obtain a tool that creates that installation program for you. However, the J2SE (Java 2 Platform, Standard Edition) SDK doesn't provide such a tool. Although the SDK provides a jar tool that simplifies distribution by packaging a program's classfiles and other files into a jar file, that tool proves appropriate only for simple installations. For more complex installations, which might involve displaying a license agreement a customer must accept before installation proceeds, you must use an appropriate non-SDK installation tool, such as InstallAnywhere, which this article explores.
Jeff Friesen, January 2003

Study guide: Tools of the trade, Part 3
Welcome to the Java 101 study guide. This guide complements " Tools of the Trade, Part 3." It provides a glossary of terms specific to that article, tips and cautions, new homework, solutions to last month's homework, and Jeff Friesen's answers to questions from your fellow students. The Java 101 study guides are evolving documents—they change periodically. For example, if you submit a question long after Jeff posts the relevant study guide, your question and his answer will eventually make its way onto that guide. Furthermore, from time to time, he will post additional examples and other material that clarifies an article's topic, so be sure to revisit the study guides periodically.
Jeff Friesen, January 2003

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 installation of a Java program's classfiles (and other files) on multiple platforms. Thus, a world of non-SDK Java tools have evolved, tools that facilitate the development, testing, and installation of Java programs. In this series, I explore some of those tools: the JCreator development tool (which I explored in Part 1), the InstallAnywhere installation tool (which I will explore in Part 3), and the Jtest testing tool (which I explore this month). Before exploring Jtest, I introduce testing in a Java context.
Jeff Friesen, December 2002

Study guide: Tools of the trade, Part 2
Welcome to the Java 101 study guide. This guide complements " Tools of the Trade, Part 2." It provides a glossary of terms specific to that article, tips and cautions, new homework, solutions to last month's homework, and Jeff Friesen's answers to questions from your fellow students. The Java 101 study guides are evolving documents—they change periodically. For example, if you submit a question long after Jeff posts the relevant study guide, your question and his answer will eventually make its way onto that guide. Furthermore, from time to time, he will post additional examples and other material that clarifies an article's topic, so be sure to revisit the study guides periodically.
Jeff Friesen, December 2002

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. Therefore, this month's Java 101 article introduces a three-part series that explores one non-SDK Java tool from each of the following three categories:
Jeff Friesen, November 2002

Study guide: Tools of the trade, Part 1
Welcome to the Java 101 study guide. This guide complements " Tools of the Trade, Part 1." It provides a glossary of terms specific to that article, tips and cautions, new homework, solutions to last month's homework, and Jeff Friesen's answers to questions from your fellow students. The Java 101 study guides are evolving documents—they change periodically. For example, if you submit a question long after Jeff posts the relevant study guide, your question and his answer will eventually make its way onto that guide. Furthermore, from time to time, he will post additional examples and other material that clarifies an article's topic, so be sure to revisit the study guides periodically.
Jeff Friesen, November 2002

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 assistance through the Character, String, StringBuffer, and StringTokenizer classes. In this article, you'll create objects from these classes and examine their various methods. You'll also receive answers to three mysteries: why Java regards a string literal as a String object, why String objects are immutable (and how immutability relates to string internment), and what happens behind the scenes when the string concatenation operator concatenates two strings into a single string.
Jeff Friesen, October 2002

Study guide: Java's character and assorted string classes support text-processing
Welcome to the Java 101 study guide. This guide complements " Java's Character and Assorted String Classes Support Text-Processing." It provides a glossary of terms specific to that article, tips and cautions, new homework, solutions to last month's homework, and Jeff Friesen's answers to questions from your fellow students. The Java 101 study guides are evolving documents—they change periodically. For example, if you submit a question long after Jeff posts the relevant study guide, your question and his answer will eventually make its way onto that guide. Furthermore, from time to time, he will post additional examples and other material that clarifies an article's topic, so be sure to revisit the study guides periodically. Updated: October 21, 2002
Jeff Friesen, October 2002

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:
Jeff Friesen, September 2002

Find more >

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?

Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:
Featured Whitepapers