Archive for the ‘Learn Java’ Category

In Datastructures and algorithms in Java, Part 2 I introduced a variety of techniques for searching and sorting one-dimensional arrays, which are the simplest arrays. In this article we’ll explore multidimensional arrays. I’ll introduce the three techniques for creating multidimensional arrays, then show you how to use the Matrix Multiplication algorithm to multiply elements in a two-dimensional array. I’ll also introduce ragged arrays and show you why they are popular for big data applications. Finally, I will answer the question … Read the rest

Every software development organization today seems to practice the agile software development methodology, or a version of it. Or at least they believe they do. Whether you are new to application development or learned about software development decades ago using the waterfall software development methodology, today your work is at least influenced by the agile methodology.

But what exactly is agile methodology, and how should it be practiced in software development?

Agile was formally launched in 2001 when 17 technologists … Read the rest

Java 8 will be remembered mainly for introducing lambdas, streams, a new date/time model, and the Nashorn JavaScript engine to Java. Some will also remember Java 8 for introducing various small but useful features such as the Base64 API. What is Base64 and how do I use this API? This post answers these questions.

What is Base64?

Base64 is a binary-to-text encoding scheme that represents binary data in a printable ASCII string format by translating it into a radix-64 representation. … Read the rest

If you’ve been a scrum master for some time, you have learned some of the practices that make teams successful:

  • You know how to help teams commit and deliver results at the end of sprints.
  • You handle blocks so that they aren’t impediments to the team completing more difficult user stories.
  • You know how to run the fundamental meetings including commitment, standups, demos, and retrospectives.

You also have developed some strategies to work with product owners:

  • You help them groom
Read the rest

An array is a fundamental datastructure category, and a building block for more complex datastructures. In this second part of my Java 101 introduction to datastructures and algorithms, you will learn how arrays are understood and used in Java programming. I introduce the concept of an array and how arrays are represented in the Java language. Then you’ll learn about one-dimensional arrays and the three ways that you can introduce them to your Java programs. Finally, we’ll explore five algorithms … Read the rest

Parts 1 through 3 of this four-part series on developing Web services in Java SE first presented an overview of Web services and Java SE’s support for developing them. The series then focused on developing SOAP-based and RESTful Web services via this support. Part 4 wraps up this series by focusing on advanced topics.

This article first introduces Java SE’s SAAJ API for working with SOAP-based Web services at a lower level. It then discusses how to create a JAX-WS … Read the rest

Part 2 of this four-part series on Java SE Web services showed how to use the JAX-WS API to develop SOAP-based Web services. JAX-WS also supports RESTful-based Web services, which this article shows how to develop. It first defines and then builds and runs a library Web service, and next defines, builds, and runs a simple client that accesses this service.

Defining a library web service

The library Web service, which I’ve named Library, manages a library of books with … Read the rest

Datastructures and algorithms are essential to computer science, which is the study of data, its representation in memory, and its transformation from one form to another. In programming, we use datastructures to store and organize data, and we use algorithms to manipulate the data in those structures. The more you understand about datastructures and algorithms, the more efficient your Java programs will be.

This article launches a three-part series introducing datastructures and algorithms. In Part 1, you’ll learn what a … Read the rest

Exploring puzzling code to figure out why it doesn’t do what seems obvious is one way to improve your programming skills. In this post, I introduce you to various Java-oriented puzzlers from Jens Dietrich, Joshua Bloch and Neal Gafter, and myself.

Java Library Evolution Puzzlers

Q: What is the Java Library Evolution Puzzlers?

A: The Java Library Evolution Puzzlers is a survey focused on changing Java libraries and then recompiling their client programs’ source codes or running these clients unchanged … Read the rest

Understanding type compatibility is fundamental to writing good Java programs, but the interplay of variances between Java language elements can seem highly academic to the uninitiated. This two-part article is for software developers ready to tackle the challenge! Part 1 revealed the covariant and contravariant relationships between simpler elements such as array types and generic types, as well as the special Java language element, the wildcard. Part 2 explores type dependency in the Java Collections API, in generics, and in … Read the rest