Jeff Friesen

Jeff Friesen teaches Java technology (including Android) to everyone via articles, blogs, books, and software. In addition to writing Java books for Apress, Jeff has written numerous articles on Java and other technologies for JavaWorld, InformIT, Java.net, and SitePoint. Jeff can be contacted via his website at JavaJeff.ca.

Data structures and algorithms in Java, Part 4: Singly linked lists

Data structures and algorithms in Java, Part 4: Singly linked lists

Learn how to search and sort linked lists in Java! Find out which algorithms are most used to sort linked lists and how each one stacks up for performance

Java language oddities

Java language oddities

The Java language includes various behaviors that may puzzle newcomers to the language. This post examines three such behaviors involving arrays, bytes and shorts, and private fields and methods.

Data structures and algorithms in Java, Part 3: Multidimensional arrays

Data structures and algorithms in Java, Part 3: Multidimensional arrays

Multidimensional arrays are useful for complex computing scenarios, and ragged arrays can help conserve memory for big data applications. Learn how to create multidimensional arrays and ragged arrays and use them in your Java programs ...

Base64 encoding and decoding in Java 8

Base64 encoding and decoding in Java 8

Java 8 will be remembered mainly for introducing lambdas, streams, a new date/time model, and Nashorn--but don't miss the new Base64 API. It could be just what you need to ensure data integrity in transit.

Data structures and algorithms in Java, Part 2: One-dimensional arrays

Data structures and algorithms in Java, Part 2: One-dimensional arrays

Get started with one-dimensional arrays and array variables, then try out five algorithms for searching and sorting arrays in your Java programs

Web services in Java SE, Part 4: SOAP with Attachments API for Java

Learn about SAAJ and other advanced Java SE Web service features

Web services in Java SE, Part 3: Creating RESTful Web services

Learn how to use Java SE's JAX-WS API to create a RESTful-based library Web service

Web services in Java SE, Part 2: Creating SOAP web services

Learn how to use Java SE's JAX-WS API to create a SOAP-based units-conversion Web service.

Data structures and algorithms in Java, Part 1: Overview

Data structures and algorithms in Java, Part 1: Overview

Get an overview of data structures and algorithms and how they work together in your Java programs

Web services in Java SE, Part 1: Tools overview

Web services in Java SE, Part 1: Tools overview

This post launches a four-part series introducing you to Java SE 6's support for Web services. Later in the series we'll build SOAP-based and RESTful-based Web services and explore advanced Web services topics.

Java library evolution and other puzzlers

Exploring puzzling code to figure out why it doesn't do what seems obvious is one way to improve your programming skills. Puzzle yourself today!

Java 9's other new enhancements, Part 6: Concurrency

Java 9's other new enhancements, Part 6: Concurrency

Java 9 introduces a publish-subscribe framework for reactive streams, improvements to the CompletableFuture class, and other concurrency enhancements

Regular expressions in Java, Part 2: The Regex API

Regular expressions in Java, Part 2: The Regex API

Complete your introduction to the Regex API, then find out how regular expressions make quicker work of common tasks like code documentation and lexical analysis.

Regular expressions in Java, Part 1: Pattern matching and the Pattern class

Regular expressions in Java, Part 1: Pattern matching and the Pattern class

Pattern matching is an important technique used in text processing, and Regex is here to help. Find out how to use the Pattern class and constructs like quantifiers and boundary matchers to describe patterns in your Java programs.

Java 9's other new enhancements, Part 5: Stack-Walking API

Java 9's other new enhancements, Part 5: Stack-Walking API

Replacing StackTraceElement, the new Stack-Walking API supports filtering and lazy access to stack trace information, and makes it easier to obtain the caller class

Java 9's other new enhancements, Part 4: Multi-release JAR files

Java 9's other new enhancements, Part 4: Multi-release JAR files

A Java 9 extension to the JAR file format makes it easier for third-party libraries and frameworks to use language and API features from newer Java releases

Java 9's other new enhancements, Part 3: The Process API

Java 9's other new enhancements, Part 3: The Process API

Updates to the Process API will make it easier to obtain a process ID, get additional information about a process, and execute actions on process termination

Java 9's other new enhancements, Part 2: Milling Project Coin

Java 9's other new enhancements, Part 2: Milling Project Coin

JEP 213 builds on Java 7's Project Coin with small language improvements and additions for your Java programs

Java 9's other new enhancements, Part 1: Collections factory methods

Java 9's other new enhancements, Part 1: Collections factory methods

The module system and REPL tool have received widespread attention, but Java's newest release has much more to offer. This series introduces other enhancements to Java 9, beginning with the new convenience factory methods in the Java...

Are checked exceptions good or bad?

While some programmers believe checked exceptions are a good language feature, others would disagree. In this post, Jeff introduces checked exceptions, then dives into the debate.

Load More