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

 

Multi-tier application + database deadlock or why databases aren’t queues (part1)

software-development-2-logo

Databases aren’t queues. And despite the ubiquitous presence of queuing technology out there (ActiveMQ, MSMQ, MSSQL Service Broker, Oracle Advanced Queuing) there are plenty of times when we ask our relational brethren to pretend to be queues.  This is the story of one such folly, and along the way, we’ll delve into some interesting sub-plots of deadlocks, lock escalation, execution ...

Read More »

Too Many Parameters in Java Methods, Part 8: Tooling

java-logo

The first seven posts of my series of dealing with too many parameters expected in Java methods focused on alternative approaches to reduce the number of parameters a method or constructor expects. In this eighth post in the series, I look at tools that help identify cases where too many parameters may exist and tools that help deal with that ...

Read More »

Announcing EAXY: Making XML easier in Java

java-logo

XML libraries in Java is a minefield. The amount of code required to manipulate and read XML is staggering, the risk of getting class path problems with different libraries is substantial and the handling of namespaces opens for a lot of confusion and errors. The worst thing is that the situation doesn’t seem to improve. A colleague made me aware ...

Read More »

Hibernate Facts: Equals and HashCode

jboss-hibernate-logo

Every Java object inherits the equals and hashCode methods, yet they are useful only for Value objects, being of no use for stateless behavior oriented objects. While comparing references using the “==” operator is straight forward, for object equality things are a little bit more complicated. Since you are responsible for telling what equality means for a particular object type, ...

Read More »

Migrating from a Subversion repository to GitHub

git-logo

One of greatest attractions of GitHub is the community and the tooling that allows this community to share code. Each contributor can clone the repository, make their changes and then send you a pull request. As the project maintainer your job is now a whole lot easier and more manageable. No more patch files to worry about. Follow the recipe ...

Read More »

Hibernate Facts: Multi level fetching

jboss-hibernate-logo

It’s quite common to retrieve a root entity along with its children associations on multiple levels. In our example we need to load a Forest with its Trees and Branches and Leaves, and we will try to see have Hibernate behaves for three collection types: Sets, Indexed Lists, and Bags. This is how our class hierarchy looks like:     ...

Read More »

Why Your Resume is 10 Pages

career-logo

Even though there are hundreds of articles professing the beauty and efficiency of the one page résumé, not a day passes where I don’t see a five pager. The issue of length has even surfaced amongst college undergrads applying for internships, who seem to have increasing difficulty trimming their list of accomplishments and experiences into a single page (really). This ...

Read More »

RESTful Web Services with Java

java-interview-questions-answers

REST stands for REpresentational State Transfer, was first introduced by Roy Fielding in his thesis “Architectural Styles and the Design of Network-based Software Architectures” in year 2000. REST is an architectural style. HTTP is a protocol which contains the set of REST architectural constraints. REST fundamentals     Everything in REST is considered as a resource. Every resource is identified ...

Read More »

Supply & Demand in software development

software-development-2-logo

(Whoops, I’m publishing a revision of this blog entry – something I don’t normally do. I realised after publication that I had mislabelled the graphs – they were correct but did not follow economists convention hence this revision. The core argument still stands although I have had to modify the reasoning slightly. Sorry.) I’m proud to say I am, or ...

Read More »

Throttling Task Submission with a BlockingExecutor

java-logo

The JDK’s java.util.concurrent.ThreadPoolExecutor allows you to submit tasks to a thread pool and uses a BlockingQueue to hold submitted tasks. If you have thousands of tasks to submit, you specify a “bounded” queue (i.e. one with a maximum capacity) otherwise your JVM may run out of memory. You can set a RejectedExecutionHandler to handle what happens when the queue is ...

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.