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 ....

 

A Software Engineer As a High-Level Government Adviser

software-development-2-logo

Two months ago I took the job of adviser to the cabinet of the deputy prime minister of my country (the Republic of Bulgaria, an EU member). And I’d like to share my perspective of a technical person, as well as some of my day-to-day activities which might be of interest. How does a software engineer get to such a ...

Read More »

Creating a Cross-platform Docker Development Environment

docker-logo

How many times have you read this statement: “The great thing about Docker is that your developers run the exact same container as what runs in production.” Docker is all the hype these days, and with statements like that, many are wondering how they can get on board and take advantage of whatever it is that makes Docker so popular. ...

Read More »

Agrona’s Threadsafe Offheap Buffers

java-logo

This blog post continues my ongoing series on the Agrona library by explaining how we offer easy access to offheap memory for threadsafe operations. I should probably caveat before we move on that this is a fairly advanced topic and I don’t attempt to explain concepts such as memory barriers – merely outline the features of the API. The deficiencies ...

Read More »

Why you should always use connection pooling with Oracle XE

java-interview-questions-answers

Introduction Oracle Express Edition is the free version of Oracle Enterprise Edition and its smaller size makes it very convenient for testing various Oracle functionalities. According to Oracle documentation, the Express Edition can use at most one CPU and 1 GB of RAM, but in reality there are other limitations that are not always obvious. Database connection handling anomaly The ...

Read More »

Common SQL Clauses and Their Equivalents in Java 8 Streams

java-logo

Functional programming allows for quasi-declarative programming in a general purpose language. By using powerful fluent APIs like Java 8’s Stream API, or jOOλ’s sequential Stream extension Seq or more sophisticated libraries like javaslang or functionaljava, we can express data transformation algorithms in an extremely concise way. Compare Mario Fusco’s imperative and functional version of the same algorithm: Imperative vs. Functional ...

Read More »

How to create a Web Application Project with Java, Maven, Jetty

apache-maven-logo

In this article, we create a simple web application with the Maven Archetype plugin. We’ll run this web application in a Servlet container named Jetty, add some dependencies, write simple Servlets, and generate a WAR file. At the end of this article, you will also be able to deploy the service in Tomcat. System requirements Java SE Development Kit 8 ...

Read More »

A Case Study in Analysing Latency: Lock vs Synchronized

java-logo

In particular in this post we will discuss: Garbage created by java.concurrent.Lock Comparing Lock to synchronized How to measure latency programatically The impact of contention on Lock and synchronized The impact of co-ordinated omission on latency tests Back to one of my favourite topics garbage creation / allocation. See my previous posts (e.g. First rule of performance optimisation and Revisiting the First Rule of ...

Read More »

Several Patterns for Binding Non-transactional Resources into JTA Transactions

java-interview-questions-answers

I recently published an article about how to bind non-transactional resources like web services / microservices into global distributed transactions so that recovery is handled automatically. Over the years I have often had to integrate “non-transactional” systems into Java EE application servers and data consistency was often a topic of discussion or even a non-functional requirement. I’ve put “non-transactional” into ...

Read More »

Some thoughts about yagni

software-development-2-logo

Yagni means “You Aren’t Gonna Need It”. This is a phrase used many times to refuse the development of some features that may be needed later but not now. Yagni means that you should develop a feature in your code, which is needed and when it is needed and not sooner. Why do we have this term at all? Do ...

Read More »

Don’t Like Throttling?

java-logo

You don’t have a choice – the underlying system (The JVM here will do it for you). I still recall the summer of 2013 when I was running a project and it was 1 URL in my whole of application that brought the servers down. The problem was simple – a bot decided to index our site at a very high rate ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.