Some Java performance optimization tricks include starting with minimum heap allocation, using a StringBuilder instead of the + operator, and avoiding Iterator.
In Part 1 in this comprehensive series on parsers (with a focus on Java), we examine how parsers work, the difference between Parse Trees and ASTs, and more.
You might see Spring's DelegatingFilterProxy crop up sometimes. It's actually a proxy for a standard Servlet Filter. Let's see an example in action with Spring Security.
VisualVM is one of those indispensable tools for Java (and JVM-based) developers. An oft-unsung hero, this post tells you what it is, how to set it up, and its benefits.
JUnit 5 will be out soon! With the new Jupiter API, a focus on extensibility, and a huge integration overhaul, it promises to make testing easier than ever.
In Part 4 of this Java 9 series, we see that try-with-resources has been enhanced. Let's compare how Try With Resources worked back in Java 7 versus today.
When creating audit logs, consider using Spring Data. Its JPA functionality allows for EntityListeners and callback methods to update the needed properties.
No longer do you have to manage multiple Dockerfiles and use the Builder Pattern. Now, you can save time by creating a multi-stage build process for your Java apps.
Should you use standard profilers, lightweight options, or APM tools? The answer is all three. Each one has its strengths and weaknesses, detailed here.
Auditing provides valuable information, but it can be a nightmare to implement. Fortunately, through Spring Data JPA, you can persist the columns you need.
In-memory data grids are often used to enhance performance. Learn how to use Hazelcast for caching data stored in the MySQL database accessed by Spring Data DAO objects.