Java articles
237 subscribers
245 links
Channel providing you with the Java and software development industry related content
Download Telegram
The Performance Diagnostic Methodology (PDM) is a structured approach in order to find the root cause of Java performance problems.
Instead of start tuning the JVM and see if it helps, a more structured approach can help you exclude some possible causes and point you in the right direction in order to solve the issue appropriately. Part 1.
#java #performance #middle #senior
https://dzone.com/articles/how-to-solve-your-java-performance-problems-part-1
You have different choices when it comes to implementing the communication of your microservices. In this article, you will see how Apache Kafka improves upon the historical HTTP REST API/message queuing architectures used in microservices and how it further extends their capabilities and aims to solve their problems.
#kafka #microservices #architecture #middle #senior
https://dzone.com/articles/how-kafka-solves-common-microservice-communication
Amazing hands on coding session demonstrating best practices, patterns and anti-patterns with Lambdas and Streams by Victor Rentea, which includes:
Bloated Lambdas, A Happy Predicate, Stream Wrecks, How to Kill The Biggest Bug, Monads, Passing-a-block, The Loan Pattern, and 5 Ways to Implement Type-Specific Logic.
#java #functional #patterns #junior #middle #senior
https://www.youtube.com/watch?v=YnzisJh-ZNI
Load balancing is one of the core concepts required for building reliable distributed systems.
However, there is a lot of confusion on what it really is and most of the related information is not up-to-date. Take a look at this article to get a great overview about all the related concepts!
#architecture #middle #senior
https://blog.envoyproxy.io/introduction-to-modern-network-load-balancing-and-proxying-a57f6ff80236
Java (JVM) Memory Model – Memory Management in Java
Understanding JVM Memory Model, Java Memory Management is very important if you want to understand the working of Java Garbage Collection.
If you want to learn more about memory management in Java and the different parts of JVM Memory here is one very good tutorial for you! You can also find it helpful for understanding JVM memory and garbage collection process.
#java #jvm #jmm #middle #senior
https://www.journaldev.com/2856/java-jvm-memory-model-memory-management-in-java
Log Management Refcard
In complex distributed systems a Centralized Log Management is invaluable especially when you need to find the root cause of an issue.
In this refacard you will get valuable information on how to build an efficient pipeline for collecting, processing and storing logs, e.g. how modern Log Management solutions work.
#logging #java #junior #middle #senior
https://dzone.com/refcardz/log-management
Microservices for Java Developers: Performance and Load Testing
These days numerous frameworks and libraries make it is pretty easy to get from literally nothing to a full-fledged running application or service in a matter of hours. However, the decisions which frameworks make on your behalf (often called “sensitive defaults”) are far from being optimal (or even sufficient) in the context of the specific application or service.
In this tutorial you will get a great overview about performance and load testing, focusing on the tools to help you with achieving your goals and also highlight the typical areas of the application to tune.
#performance #testing #microservices #architecture #tools #middle #senior
https://www.javacodegeeks.com/2019/02/microservices-for-java-developers-performance-and-load-testing.html
A Magic Around Spring Boot Externalized Configuration
There are some features that make Spring Boot really powerful, and one of them is an externalized configuration. Spring Boot allows you to configure your application in many ways. You have 17 levels of loading configuration properties into application.
See how you can make use of it in practice to make your application configurations more flexible and clear.
#java #spring #springboot #junior #middle #senior
https://piotrminkowski.wordpress.com/2019/03/11/a-magic-around-spring-boot-externalized-configuration/
Scrum - The Most Popular Agile Methodology (Refcard)
Scrum is a framework that allows people to productively and creatively deliver products of the highest possible value. This refcard explores the details of Scrum, including theory, values, roles, and events. It also includes a sample of a popular approach to deliver Integrated Increments in a scaled environment.
#management #scrum #junior #middle #senior
https://dzone.com/refcardz/scrum
Beware of Computation in static {} Initializer
It’s a quite common practice to prepare immutable data during class initialization and save the results in static final fields. In fact, this is exactly what static initializers are designed for.
However you should be careful using it as it can cause significant performance degradation in new JDK versions as shown in this article.
#java #bug #performance #middle #senior
https://pangin.pro/posts/computation-in-static-initializer
Memory Footprint of the JVM
The JVM can be a complex beast. Thankfully, much of that complexity is under the hood, and we as application developers and deployers often don’t have to worry about it too much. With the rise of container-based deployment strategies, one area of complexity that needs some attention is the JVM’s memory footprint. In this post you can see the two kinds of memory, the differences between them, native memory areas, JVM sizing and what does this all mean for Spring, so be sure to check it out!
#jvm #performance #memory #spring #middle #senior
https://spring.io/blog/2019/03/11/memory-footprint-of-the-jvm