I am a big fan of Java Memory Management and in this article, I will try to explain how to take and analyze heap dump with examples, but let's refresh our minds and remember what we know about this domain. After some theoretical information, we will take a heap dump and will analyze it for … Continue reading Java Heap Dump Analysis with Examples
In the previous article, we talked about how deadlocks occur in Java while working in a multi-threaded environment. Now, we will see how to prevent deadlocks by explaining a couple of corner cases. Avoid Nested Locks In the previous article, we showed an example for deadlock, and it contains nested locks as follows. ... Thread … Continue reading How to Avoid Deadlocks in Java
In a multi-threaded environment, it is ok that multiple threads simultaneously handles their tasks to improve the CPU utilization instead of keeping CPU as idle. In such an environment, it is ok if multiple threads try to access a shared resource, only one of them can acquire lock and the others should wait for that … Continue reading Understanding Java Thread DeadLock
Once upon a time, you were on-call within your team schedule and your phone started to ring at midnight... You thought "What the hell is this number?" then you accepted the call. The machine started talking to you, "The CPU of Payment Service is 99 percent right now, and somebody should take an action. To … Continue reading Java Thread Dump Analysis
Don’t try to unit test controller request validation, because MockMvc is a container-less spring platform that means exception resolver will not be activated during controller unit test. MethodArgumentNotValidException will not be resolved and you will get an empty response body with desired status(400 Bad Request) on your response inside unit test section. The best way … Continue reading Don’t Try to Unit Test Controller Request Validation
In this tutoral, we will use Spring Boot for the web development environment, Websockets for real-time communication, Tomcat for the Java application container, Gradle for building and managing the dependencies, Thymeleaf for template rendering, MongoDB for data storage, and finally there will be no XML for bean configurations. Just to make you inspired, at the … Continue reading Build a Real-Time Chat Application With Modulus and Spring Boot
In this tutorial, I will show you how to develop a RESTful web application by using Spring and MongoDB without implementing boring uniform controllers.