Creating An Asynchronous, Recursive DirectoryStream in Java 7

Continuing with my series on the Java 7 java.nio.file package, this time covering the DirectoryStream interface. In this post we are going implement our own DirectoryStream that will iterate over the files in an entire directory tree, not just a single directory. Our goal in the end is to have something that works similar to [...]

What’s New In Java 7: Copy and Move Files and Directories

This post is a continuation of my series on the Java 7 java.nio.file package, this time covering the copying and moving of files and complete directory trees. If you have ever been frustrated by Java’s lack of copy and move methods, then read on, for relief is at hand. Included in the coverage is the [...]

Event Programming with Google Guava EventBus

It’s a given in any software application there are objects that need to share information in order to get work done. In Java applications, one way of achieving information sharing is to have event listeners, whose sole purpose is to take some action when a desired event occurs. For the most part this process works [...]

Simple WordPress Backups

Backing up your data is an important task. As we all know, it’s not a matter of if you are going to experience a crash or failure, but when. Blogs are no exception. I wanted to take a break from my regular style of posts to share my simple backup script. While I’m know there [...]

Google Guava Concurrency – ListenableFuture

In my last post I covered using the Monitor class from the com.google.common.util.concurrent package in the Guava Library. In this post I am going to continue my coverage of Guava concurrency utilities and discuss the ListenableFuture interface. A ListenableFuture extends the Future interface from the java.util.concurrent package, by adding a method that accepts a completion [...]

Google Guava – Synchronization with Monitor

The Google Guava project is a collection of libraries that every Java developer should become familiar with. The Guava libraries cover I/O, collections, string manipulation, and concurrency just to name a few. In this post I am going to cover the Monitor class. Monitor is a synchronization construct that can be used anywhere you would [...]

Micro Benchmarking with Caliper

From time to time I think all developers have done some form of benchmarking. I recently discovered Caliper which is according to the site – “Caliper is Google’s open-source framework for writing, running and viewing the results of Java Microbenchmarks”. I am aware that micro-benchmarking can be misleading depending on who is writing the tests, [...]

How this blog came to life

I have read over and over the past year that starting a blog is one of the best ways to improve your value as a software developer.  Also, a great way to learn something is to write about it.  So with that in mind, I have started this blog.  I am going to cover varied [...]