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


Why Start-Ups Fail


You’ve probably heard that a start-up’s chance of success is very low. There are many factors of why that happens. I want to illustrate this through the waterfall process that plagues many companies,. Waterfall, the root of all evil? Wasn’t it killed by agile? We’ll see. The process we’re talking about looks like this:     Vision – A startup ...

Read More »

Gradle Goodness: Handle Copying Duplicate Files


In Gradle we can configure how duplicate files should be handled by the Copy task. Actually we can configure how duplicate files are handled by any task that implements the CopySpec interface. For example archive tasks also implements this interface. We must use the setDuplicatesStrategy method to configure how Gradle behaves. The parameter is a value of the enumeration DuplicatesStrategy. ...

Read More »

Scala Snippet: How to filter a list in Scala


In Scala, filtering and processing collections is easy and elegant. There are many filtermethods available, but the most used will probably the basic filter method. Here’s a code example of some filtering on my (ex)camera collection. The filter method will not only work on Lists, but on any Scala collection. object MyCameraCollection02 { class Camera(_brand: String, _model: String, _sensorType: String, ...

Read More »

Simplify your logging with tinylog 1.0


With a size of only 75 KB, tinylog is a lightweight alternative to the widespread classical logging frameworks Log4j and Logback. The final version 1.0 has been just released at the end of March, after three years of development. In several design issues, tinylog takes a deliberately different approach from classical logging frameworks in Java. This article will show the ...

Read More »

Spring-session demonstration using docker-compose


I have earlier written about an exciting new project called Spring-session which provides a clean way to externalize user sessions for java based web applications. I managed to get a good demonstration set-up for spring-session using docker-compose which shows off the strengths of this project and I wanted to write about this here. In short, this is the set-up that ...

Read More »

UA Web Challenge Conference: SpringIO for startups


On this week I was speaking on UA Web Challenge Conference in BackEnd section. I’ve chosen strange topic of my talk – “SpringIO for startups”. What is the result of it? I’m going to summarise below. Within three past years I’ve been developed different personal web projects. I never called them “startups” further more no one from them are in ...

Read More »

Building Minimal Docker Containers for Go Applications


There are several great official and community-supported containers for many programming languages, including Go, but these containers can be quite large. Let’s walk through a comparison of methods for building containers for Go applications, then I’ll show you a way to statically build Go apps for containerization that are extremely small. Part One: Our “app” We need something to test ...

Read More »

R: Replacing for loops with data frames


In my last blog post I showed how to derive posterior probabilities for the Think Bayes dice problem: Suppose I have a box of dice that contains a 4-sided die, a 6-sided die, an 8-sided die, a 12-sided die, and a 20-sided die. If you have ever played Dungeons & Dragons, you know what I am talking about. Suppose I ...

Read More »

多线程和并发面试问题与答案 – 终极列表(PDF下载)


编者按: 并发一直是开发者的挑战,编写并发程序可以是非常困难的。当涉及并发,有一系列事情可能会出现和系统复杂性大幅提高。但是,编写健壮的并发程序的能力是开发者的一个伟大的工具,可以帮助建立复杂的企业级的应用。在这篇文章中,我们将讨论可用于编程面试的不同类型问题,以评估面试者对并发和多线程的的认识问题。这些问题不仅是Java的特异性,同时也关于常规的编程原则。享受! 提示,您是否在寻找Java中的职业发展机会?   请访问我们的Job Board 搜索和查看一个为世界各地的IT专业人员手工挑选 Java就业机会的平台.   此外,您可以将您的简历发给我们的 Resumes Board 推广自己的技能给全球广泛的Java招聘人员。 目录 1. 什么是我们理解的并发? 2. 进程和线程之间的区别是什么? 3. 在Java中,什么是进程和线程? 4. 什么是调度器? 5. 一个Java程序至少有多少个线程? 6. 如何在Java应用程序中访问当前线程? 7. 每一个Java线程有哪些特性? 8. 线程组的目的是什么? 9. 线程有什么状态,每一个状态的意思是什么? 10. 我们如何设置线程的优先级? 11. 如何在Java创建线程? 12. 我们如何停止在Java的线程? 13. 为什么一个线程不会被调用的方法stop()停止? 14. 是否有可能启动一个线程两次? 15. 下列代码的输出结果是什么? 16. 什么是守护线程? 17. 有可能当一个普通用户线程已经开始了,将它转为守护线程吗? 18. 我们怎么理解忙等待? 19. 怎么避免忙等待? 20. 我们能否把Thread.sleep()用于实时处理? 21. 一个线程在被放在使用线程休眠Thread.sleep()前怎么被唤醒? 22. 怎么查询一个线程是否已经中断? 23. 如何处理一个InterruptedException异常? 24. 在启动子线程后,我们如何在父线程等待子线程终止? ...

Read More »

4 Creative Ways to Test Your Code in Production


What are some considerations and things to think about if I want to get the most out of testing in my production environment? Production environments are a different beast. No matter how much effort you put into staging environments, you’re only truly getting real life conditions, and therefore real life data, in production. Everyone does some degree of testing in ...

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.