Home » Tag Archives: Java 8

Tag Archives: Java 8

Using Oracle AQ via Java 8 Streams

java-interview-questions-answers

One of the most awesome features of the Oracle database is Oracle AQ: Oracle Database Advanced Queuing. The AQ API implements a full fledged, transactional messaging system directly in the database. In a classic architecture where the database is at the center of your system, with multiple applications (some of which written in Java, others written in Perl or PL/SQL, ...

Read More »

Improved Documentation of HotSpot Options in Java 8

java-logo

One of the small but welcome features introduced with Oracle’s HotSpot implementation of Java 8 is the addition of many common HotSpot Java launcher (java) options/flags to the launcher’s documentation. In the past, a developer interested in even some fairly common HotSpot JVM options has had to potentially look in multiple different sources to find “official” documentation on these flags. ...

Read More »

Using Java 8 Lambdas, Streams, and Aggregates

java-logo

Overview In this post, we’ll take a look at filtering and manipulating objects in a Collection using Java 8 lambdas, streams, and aggregates. All code in this post is available in BitBucket here. For this example we’ll create a number of objects that represent servers in our IT infrastructure. We’ll add these objects to a List and then we’ll use ...

Read More »

Functional vs Imperative Programming. Fibonacci, Prime and Factorial in Java 8

java-logo

There are multiple programming styles/paradigms, but two well-known ones are Imperative and Functional. Imperative programming is the most dominant paradigm as nearly all mainstream languages (C++, Java, C#) have been promoting it. But in the last few years functional programming started to gain attention. One of the main driving factors is that simply all new computers are shipped with 4, ...

Read More »

Java 8 Lambda Expression for Design Patterns – Decorator Design Pattern

java-logo

The Decorator pattern (also known as Wrapper) allows behavior to be added to an individual object, either statically or dynamically, without affecting the behavior of other objects from the same class. It can be considered as an alternative to subclassing. We know that subclassing adds behavior at compile time and the change affects all instances of the original class. On ...

Read More »

Functional Data Structures in Java 8 with Javaslang

java-logo

Java 8’s lambdas (λ) empower us to create wonderful API’s. They incredibly increase the expressiveness of the language. Javaslang leveraged lambdas to create various new features based on functional patterns. One of them is a functional collection library that is intended to be a replacement for Java’s standard collections.             Functional Programming Before we deep-dive ...

Read More »

Using Mockito without static imports with Java 8

mockito-logo

How to simplify Mockito usage by removing static imports in Java 8 based projects. Rationale Mockito API is based on static methods aggregated (mostly) in the (BDD)Mockito class followed by extremely fluent, chained method calls. Mock creation, stubbing and call verification can be initiated with mock/spy/given/then/verify static methods: @Test public void shouldVerifyMethodExecution() { //given TacticalStation tsSpy = BDDMockito.spy(TacticalStation.class); BDDMockito.willDoNothing().given(tsSpy).fireTorpedo(2); //when ...

Read More »

Java 8 Streams API: Grouping and Partitioning a Stream

java-logo

This post shows how you can use the Collectors available in the Streams API to group elements of a stream with groupingBy and partition elements of a stream with partitioningBy. Consider a stream of Employee objects, each with a name, city and number of sales, as shown in the table below: +----------+------------+-----------------+ | Name | City | Number of Sales ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Advanced Java Guide
  • Java Design Patterns
  • JMeter Tutorial
  • Java 8 Features Tutorial
  • JUnit Tutorial
  • JSF Programming Cookbook
  • Java Concurrency Essentials