Favor Skeletal Implementation in Java

Skeletal implementation is a design by which we can use the benefits of the interface and abstract class together.

The Java Collection API has adopted this kind of design: AbstractSet, AbstractMap, etc. are examples of Skeletal interfaces. Also, Joshua Bloch mentions skeletal interfaces in his book “Effective Java.

Thoughts on the Java EE 8 Update

At the keynote of this JavaOne, Oracle presented a long-awaited reaction to the progress of Java EE in the form of a suprisingly extensive update to the future roadmap.Java EE Roadmap UpdateAnil Gaul presented the updates to the overall plan for EE 8 a...

Awesome Asciidoctor: Use Counters in Markup

In Asciidoctor we can create a document attribute as a counter attribute. The attribute is automatically incremented each time we use it in our markup. We can choose to use numbers or characters. Only Latin characters from 'a' to 'z' or 'A' to 'Z' are ...

Gradle Goodness: Change Gradle Wrapper Script Name

With the Gradle Wrapper task, we can specify the name of the generated script files. By default, the names are gradlew and gradlew.bat. The Wrapper task has the property scriptFile. We can set a different value for this property to let Gradle generate ...

Ceylon 1.3.0 Is Now Available

Ceylon 1.3.0 is a major release of the Ceylon language, with over 330 issues closed. This is the first release of Ceylon that supports Android development, the Node Package Manager (npm), and Wildfly Swarm.For the JVM, this release is backwards-compati...

Apache NetBeans?

It's fairly common to have significant announcements related to the world of Java released in the days and weeks leading up to JavaOne. With that in mind, it's not surprising that we're seeing some significant Java-related announcements just prior to J...

Finally! A Web App (Part 4)

IntroWe are close to completing this round of applications that expose or make our in-house component or service (the Shape Calculator) available. Here is where we left off, and if you have not been following this series from the start, you'll pro...

Are You Guilty of Over-Engineering?

If you listen to other language communities, such as Python or Ruby, it seems Java developers have a strong tendency for over-engineering.

Perhaps they’re just jealous of our superior platform (wink), perhaps there is some very slight reason that they believe so. I believe so. And it’s quite interesting that I realized it by doing code

Introduction to Akka Actors With Java 8 [Webinar]

Last week, we had a pleasure of hosting a webinar in partnership with Lightbend about Akka Actors and Java 8. In it, Johan gave an introduction into how to write Actors and also answered a great number of questions. If you missed the webinar, but the topic is interesting to you, you’re welcome to watch the recording:

Jump directly to a topic you’re most

Gradle Goodness: Specify Wrapper Version and Distribution Type From the Command Line

Gradle has the built-in task wrapper to create a Gradle wrapper. The Gradle wrapper can be part of our project so other people can build our project with Gradle, without the need for them to install Gradle. Also, if we specify the Gradle wrapper, we ca...