Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!

 

1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

 

and many more ....

 

 

Creating Value Objects with Immutables

java-logo

In response to my recent post AutoValue: Generated Immutable Value Classes, Brandon suggested that it might be interesting to see how AutoValue compares to Project Lombok and Immutables and Kevin seconded this. I agree that this is a good idea, but I am first publishing this post as a brief overview of Immutables because I have already provided similar posts ...

Read More »

Thinking in Abstractions

software-development-2-logo

Recent issues of the Clojure Gazette have been discussing abstractions, and it’s got me thinking. I am wary of needless abstractions and have seen many codebases, some of them I contributed to, that are essentially a mindless mess of half-backed abstractions. Here’s what I’m thinking … Abstractions have a half-life Abstractions have a half-life, that is to say, there will ...

Read More »

Java 8: Default Method Resolution Rules

java-logo

With the introduction of default methods in Java 8, it is now possible for a class to inherit the same method from multiple places (such as another class or interface). The following rules can be used to determine which method is selected in such cases: A class or superclass method declaration always takes priority over a default method Otherwise, the ...

Read More »

Load balancing with Apache Camel

apache-camel-logo

In this example we will show you how to use Apache Camel as a load balancer for your system. In computer world a load balancer is a device that acts as a reverse proxy and distributes network or application traffic across a number of servers. Load balancers are used to increase capacity (concurrent users) and reliability of applications. With the ...

Read More »

The Truth Behind the Big Exceptions Lie

java-logo

Exceptions are probably the most misused Java language feature. Here’s why Let’s break some myths. There is no tooth fairy. Santa isn’t real. TODO comments. finalfinalversion-final.pdf. Soapless soap. And… Exceptions are in fact exceptions. The latter might need some more convincing, but we got you covered. For this post, we asked Avishai Ish-Shalom, an experienced systems architect and a longtime ...

Read More »

Ready, Fire, Aim: How most gather requirements

agile-logo

Connecting with your customers and delivering value depends on understanding your customer’s requirements and selling the correct product or solution that solves your customer’s problems. Commonly, the requirements gathering process is done hastily or not at all in the rush to get the sale. After all, the faster you can make the sales process go, the faster the money is ...

Read More »

Conjunctions we… hate

java-logo

Recently I’ve written about implementation-related names and I’ve presented a few examples where the method name was incorrect because of its strong relation with the body. At one moment, we had the following code: boolean isComplexOrUnreadableWithTests() { return (complex || unreadable) && tests.exist(); } Just to remind you of the context: it was supposed to find out whether we may ...

Read More »

Why I Prefer Merge Over Rebase

git-logo

There are many ways to work with git. The workflows vary depending on the size of the team, organization, and on the way of working – is it distributed, is it sprint-based, is it a company, or an open-source project, where a maintainer approves pull requests. You can use vanilla-git, you can use GitHub, BitBucket, GitLab, Stash. And then on ...

Read More »

Dev-Sec.io Automated Hardening Framework

software-development-2-logo

Automated configuration management tools like Ansible, Chef and Puppet are changing the way that organizations provision and manage their IT infrastructure. These tools allow engineers to programmatically define how systems are set up, and automatically install and configure software packages. System provisioning and configuration becomes testable, auditable, efficient, scalable and consistent, from tens to hundreds or thousands of hosts. These ...

Read More »

5 Ways to NOT F**K Up Your Microservices in Production

duke-fire-logo

Java developer? Takipi replaces logging in production JVMs and lets you see the source code, call stack, and variable state behind all logged errors, warnings, and exceptions – Try Takipi The dark side of microservices: What can possibly go wrong? It seems like everyone are into microservices these days, while monolith architectures are just as popular as crumbling down old ...

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