Jeff Friesen

Jeff Friesen is a freelance tutor and software developer with an emphasis on Java and Android. In addition to writing Java and Android books for Apress, Jeff has written numerous articles on Java and other technologies for JavaWorld, InformIT,, DevSource, and SitePoint. Jeff can be contacted via his website at

Java Q&A: The ultimate superclass, Part 2

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.

Java Q&A: The ultimate superclass, Part 1

This post launches a three-part series in which I present and answer questions about Object and its methods.

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.

Java Library Evolution Puzzlers

Exploring puzzling code to figure out why it doesn't do what seems obvious is one way to improve your programming skills. Java gurus Joshua Bloch and Neal Gafter took this tactic to heart when they wrote the popular Java Puzzlers...

Reading and Writing Excel Spreadsheets

The open source community has created many open source Java projects, which range from charting software to game frameworks to word processors. In this post, I introduce an open source library project for reading and writing Microsoft

Useful Utility Applications

Simple utility applications can be very helpful to Java developers. For example, you might need an application that generates a hexadecimal listing of a binary file.


The Java language's transient keyword isn't as well known as for , class , synchronized , and other familiar keywords; which makes it a perfect candidate for inclusion in a job interview questionnaire.

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...

Collections Framework Idioms

Java's Collections Framework provides many convenient idioms for accomplishing common tasks (e.g., removing a collection's null elements). In this post, I present a handful of these idioms, which can help you write clearer and shorter

Customizing Swing's File Chooser

The javax.swing.JFileChooser class describes a Swing component for choosing files, usually via its int showOpenDialog(Component parent) and int showSaveDialog(Component parent) methods. In this post, I enumerate various ways to...

Java Q&A: A New Beginning

Welcome to Java Q&A . In this new blog, I answer all kinds of technical questions related to Java. Each post presents one or more Java questions (based on a theme) and offers answers.

Load More