Java articles
237 subscribers
245 links
Channel providing you with the Java and software development industry related content
Download Telegram
Unit Testing with JUnit - Tutorial
This tutorial explains unit testing with JUnit 4.x and JUnit5. It also covers the creation of JUnit tests. Running them automatically helps to identify software regressions introduced by changes in the source code. Having a high test coverage of your code allows you to continue developing features without having to perform lots of manual tests. If you want to learn more, this article is a very good choice. Unit testing is always necessary.
#java #testing #junior #middle
https://www.vogella.com/tutorials/JUnit/article.html
21 Best IntelliJ Plugins for 2019
Like other IDEs or CMSs before it, IntelliJ has quickly become more than an IDE. With its vast plugin marketplace, IntelliJ has turned into a full-fledged platform for all Java related coding.
Check these great plugins that can improve your productivity!
#ide #intelliJ
https://blog.codota.com/21-best-intellij-plugins-for-2019-100-free/
Maven Tutorial
Maven is a powerful build tool for Java software projects. Maven is developed in Java and is thus historically used more for Java projects. In this article, you can understand how it works. Accordingly, in this tutorial, you can learn the core concepts of Maven in a well-structured way.
#maven #build #java #junior #middle
http://tutorials.jenkov.com/maven/maven-tutorial.html
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
Enum Tricks: Featured Enum Instead of Switch
Switch/case is the common control structure across programming languages and is considered more readable than a series of if/else.
However it enforces different consumers to implement specific logic without reusing it. See how you can encapsulate this logic inside an enum instead.
#java #junior #middle
https://dzone.com/articles/enum-tricks-featured-enum-instead-of-switch
Java Magazine March/April 2019
The latest issue of Java Magazine by Oracle is now available!
Take a deep dive into the newly emerging lightweight frameworks such as Micronaut, Javalin and Helidon which can be game changers considering the raising popularity of cloud and cloud-native technologies.
#java #magazine #news
http://www.javamagazine.mozaicreader.com/MarchApril2019
10 Deadly Mistakes to Avoid When Learning Java
We all learn by mistakes, but you’ll be surprised how many common lapses there are in mastering this skill. If you’re determined to learn Java, here are few useful thoughts for you and some secrets shared of successful Java learning.
#java #junior
https://dzone.com/articles/10-deadly-mistakes-to-avoid-when-learning-java
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/
Java 12 String API Updates
Take a look at the latest additions to String API in Java 12.
You will see how to utilize the handy transform(Function) and indent(int) methods.
Moreover String now extends java.lang.constant.Constable which is intended for values that are constants that can be represented in the constant pool.
#java #java12
https://4comprehension.com/java-12-string-api-updates/
Java 12 Released with Experimental Switch Expressions and Shenandoah GC
With the new release comes a number of new and noteworthy features and refinements. Specifically, Java 12 includes a new language feature called Switch Expressions (as a preview feature), a new low-pause garbage collector called Shenandoah (experimental), and improvements to the default G1 garbage collector.
#java #java12
https://www.infoq.com/news/2019/03/java12-released
One Method to Rule Them All: Map.merge()
It is a rare case to read an article explaining a single method in JDK, but this one does it pretty well, it’s about Map.merge(). This is probably the most versatile operation in the key-value universe. But it's also rather obscure and rarely used.
#java #junior #middle
https://dzone.com/articles/one-method-to-rule-them-all-mapmerge
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
Immutable Data Structures in Java
As part of some coding interviews, the topic of immutability sometimes comes up. There seems to be a bit of a misunderstanding on the concept of immutability, where developers often believe that having a ‘final’ reference is enough to make an object immutable. This blogpost dives a bit deeper in immutable references and immutable data structures. Take a look!
#java #immutability #kotlin #scala #junior #middle
https://www.jworks.io/immutable-data-structures-in-java/
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
The Open-Closed Principle at an Architectural Level
If you are familiar with the SOLID principles for class design in OOP and if you have ever wondered if you can use them, for example the Open-Closed Principle, when designing the architecture of a system. The Open-Closed Principle, with microservices? Madness! Well, maybe not. Let's dive into it and check it out.
#architecture #middle #senior
https://dzone.com/articles/the-open-closed-principle-at-an-architectural-leve
An Illustrated Guide to Kubernetes Networking
You’ve been running a bunch of services on a Kubernetes cluster and reaping the benefits. Or at least, you’re planning to. Even though there are a bunch of tools available to setup and manage a cluster, you’ve still wondered how it all works under the hood. And where do you look if it breaks? There are a lot of moving parts, and knowing how they all fit in and work together is a must, if you want to be ready for failures read this article!
#kubernetes #containers #middle #senior
https://morioh.com/p/ecb38c8342ba/an-illustrated-guide-to-kubernetes-networking