New Java Concurrency Utilities

There are a couple of new concurrency utilities in Java 8. The most relevant one is CompletableFuture. The regular Future is used for retrieval of a result that is produced by a task (typically a task that is executed in a thread pool). For this purpose the regular Future supports waiting for the result and […]

Field Guide to Java Collections

This session presents a survey of the principal families (list, set, map, and queue) of the Java collections ecosystem and their major and minor members. It examines differences between the collection families and family members, with special attention to the preferred environment of each collection species. Exotic, rarely seen creatures such as SynchronousQueue and ConcurrentSkipListMap […]

Beyond C# versus Java

This Beyond C# versus Java presentation compares and contrasts the supporting cast for both programming languages: Up-front Investment, IDE, Build Tools, Dependency Management, Language Itself, Preferred Web Framework, Testing Frameworks (Functional/Unit). Appserver, Deployment Mechanism. If you’re a .NET developer thinking about Java, or a Java developer thinking about .NET, you’ll find something interesting in this […]

Where is your Java Software Architecture?

When a Java code-base grows beyond a certain size, any original arrangement of source files (or software architecture) is often lost. The developers also become lost, and start drowning in the ever-expanding sea of classes. Usually the underlying code – the classes – are in reasonable shape. The problem is that there are too many […]

Spring Integration: Java Configuration

There have been two major releases of Spring Integration since the last SpringOne 2GX. The 3.0 release added a number of important new components and provided extensive improvements to SpEL support enabling much richer SpEL processing. The 4.0 release added more components and extensive support for annotation-based config, reducing or even eliminating the need for […]