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
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
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
dzone.com
10 Deadly Mistakes to Avoid When Learning Java - DZone Java
Here's everything you need to know about learning Java, looking at common mistakes, how to avoid them, and the best online resources for 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/
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/
Piotr's TechBlog
A Magic Around Spring Boot Externalized Configuration
There are some things I really like in Spring Boot, and one of them is an externalized (external) configuration. Spring Boot allows you to configure your application in many ways. You have 17 level…
How Do We Handle Failures in Microservices?
Dalia Borker explores the use of caching frameworks to improve resilience and performance in enterprise microservices systems with Redis, Pivotal Cloud Cache, and Hazelcast.
#microservices #architecture #redis #spring #hazelcast #middle #senior
https://www.infoq.com/presentations/failure-cache-redis-pcc-hazelcast
Dalia Borker explores the use of caching frameworks to improve resilience and performance in enterprise microservices systems with Redis, Pivotal Cloud Cache, and Hazelcast.
#microservices #architecture #redis #spring #hazelcast #middle #senior
https://www.infoq.com/presentations/failure-cache-redis-pcc-hazelcast
InfoQ
Enterprise Systems Built with Microservices are Designed to Expect Failures, But Then What? How Do We Handle Failures?
Dalia Borker explores the use of caching frameworks to improve resilience and performance in enterprise microservices systems with Redis, Pivotal Cloud Cache, and Hazelcast.
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/
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/
4Comprehension
Java 12 String API Updates
Following the unexpected success of my previous article about Java 11 String API, time to have a look at new API methods coming to String…
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
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
InfoQ
Java 12 Released with Experimental Switch Expressions and Shenandoah GC
March 19th marks the release date of Java 12, the latest feature release of Java. With it comes a number of new and noteworthy features and refinements, but this version is not a long-term support release.
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
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
dzone.com
One Method to Rule Them All: Map.merge() - DZone Java
In this post, we take a closer look at one important method that is rather obscure and rarely used — map.merge() and how to implement it in your projects.
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
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
dzone.com
Scrum - DZone Refcards
Scrum is an iterative, incremental software development framework commonly used with Agile software development. It uses one or more cross-functional, self-organizing teams of about seven people each. Scrum teams use fixed length iterations (called Sprints)…
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
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
pangin.pro
Beware of computation in static initializer
Even though it's a common practice to prepare data in static initializers in Java, this can have a dramatic performance impact.
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/
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 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
Memory footprint of the JVM
Level up your Java code and explore what Spring can do for you.
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
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
DZone
The Open-Closed Principle at an Architectural Level
An architect gives a tutorial on how devs and architects can work with the Open-Closed Principle when designing the architecture of microservices-based system.
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
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
Morioh
Everything You Need to Know About Kubernetes Networking
Kubernetes networking allows Kubernetes components to communicate with each other and with other applications. Networking with Kubernetes allows administrators to move workloads across private, public, and hybrid cloud infrastructures. Kubernetes (sometimes…
7 Questions to Ask Yourself about Your Code
Here in this article you can find seven questions that we as developers should ask ourselves each time we commit code. Quality software depends on many factors, but developers are one of the most important ones. Bad software is too often our fault, and by asking ourselves the right questions, we can contribute to good software as well.
#junior
https://techblog.bozho.net/7-questions-to-ask-yourself-about-your-code/
Here in this article you can find seven questions that we as developers should ask ourselves each time we commit code. Quality software depends on many factors, but developers are one of the most important ones. Bad software is too often our fault, and by asking ourselves the right questions, we can contribute to good software as well.
#junior
https://techblog.bozho.net/7-questions-to-ask-yourself-about-your-code/
Bozho's tech blog
7 Questions To Ask Yourself About Your Code - Bozho's tech blog
I was thinking the other days - why writing good code is so hard? Why the industry still hasn't got to producing quality software, despite years of efforts, best practices, methodologies, tools. And the answer to those questions is anything but simple. It…
Java Garbage Collection Basics
Here in this article, you can learn the basics you need to know about automatic garbage collection in Java. In just two steps - Marking and Deleting - you will learn the process of deallocating memory handled automatically by the garbage collector.
#java #jc #jvm #junuor
https://dzone.com/articles/java-garbage-collection-2
Here in this article, you can learn the basics you need to know about automatic garbage collection in Java. In just two steps - Marking and Deleting - you will learn the process of deallocating memory handled automatically by the garbage collector.
#java #jc #jvm #junuor
https://dzone.com/articles/java-garbage-collection-2
dzone.com
Java Garbage Collection Basics - DZone Java
This article explores automatic garbage collection in Java, how it works, and the different ways it can occur in your applications.
Migrating from Lombok to Kotlin
As a Java developer, one of the most heard complaints about working Java is the verbosity of the language. One of the main areas where this verbosity really shows up is in the area of data classes.
Since this is such a common issue, several solutions have been created, Lombok being to the most well known. In this guide you will see how to seamlessly go from using Lombok to Kotlin instead. Check it out!
#java #lombok #kotlin
https://www.jworks.io/migrating-from-lombok-to-kotlin/
As a Java developer, one of the most heard complaints about working Java is the verbosity of the language. One of the main areas where this verbosity really shows up is in the area of data classes.
Since this is such a common issue, several solutions have been created, Lombok being to the most well known. In this guide you will see how to seamlessly go from using Lombok to Kotlin instead. Check it out!
#java #lombok #kotlin
https://www.jworks.io/migrating-from-lombok-to-kotlin/
Var and Language Design in Java
Another great article by our colleague Peter Verhas.
The var predefined type introduced in Java 10 lets you declare local variables without specifying the variable type when you assign a value to it. In the following article, you will learn everything you need to know about var in Java as well as what to expect in the future.
#java #middle
https://dzone.com/articles/var-and-language-design-in-java
Another great article by our colleague Peter Verhas.
The var predefined type introduced in Java 10 lets you declare local variables without specifying the variable type when you assign a value to it. In the following article, you will learn everything you need to know about var in Java as well as what to expect in the future.
#java #middle
https://dzone.com/articles/var-and-language-design-in-java
dzone.com
Var and Language Design in Java - DZone Java
This article takes a closer look at the var predefined type in Java, what it is, what it does, and what one dev predicts it will look like in the future.
A Beginner’s Guide to Java Programming Nightmares
New developers make beginner’s mistakes. A way out of these technological nightmares depends on how well you can follow your own coding processes. Here are explored some of the most common Java mistakes and their solutions with a tour of the horrors of the author’s own early code.
#java #junior #middle
https://jaxenter.com/java-programming-nightmares-156749.html
New developers make beginner’s mistakes. A way out of these technological nightmares depends on how well you can follow your own coding processes. Here are explored some of the most common Java mistakes and their solutions with a tour of the horrors of the author’s own early code.
#java #junior #middle
https://jaxenter.com/java-programming-nightmares-156749.html
JAXenter
A beginner’s guide to Java programming nightmares - JAXenter
Georgi Minkov explores some of the more common Java mistakes and their solutions with a tour of the horrors of his own early code.
Definitive Guide To Java 12
Java 12 will be released in a few days and here’s everything you need to know about it. Be it switch expressions, the teeing collector, improved start time thanks to the default CDS archive, or better memory usage due to garbage collection improvements – you will see each feature presented as well as migration options.
#java #java12 #middle #senior
https://blog.codefx.org/java/java-12-guide/
Java 12 will be released in a few days and here’s everything you need to know about it. Be it switch expressions, the teeing collector, improved start time thanks to the default CDS archive, or better memory usage due to garbage collection improvements – you will see each feature presented as well as migration options.
#java #java12 #middle #senior
https://blog.codefx.org/java/java-12-guide/
blog@CodeFX
Definitive Guide To Java 12 - blog@CodeFX
Detailed Java 12 guide: migration, versions; switch expressions, teeing collectors, indenting/transforming Strings (and more); default CDS, Shenandoah, G1.
Designing Event Driven Services
This is an amazing series of articles on how to deal with consistency in distributed systems, the right way. Don’t miss it.
Part 1: The Data Dichotomy: Rethinking the Way We Treat Data and Services
Part 2: Build Services on a Backbone of Events
Part 3: Using Apache Kafka for Service Architectures
Part 4: Chain Services with Exactly Once Guarantees
Part 5: Messaging as the Single Source of Truth
Part 6: Leveraging the Power of a Database Unbundled
Part 7: Building a Microservices Ecosystem with Kafka Streams and KSQL
#java #architecture #senior
This is an amazing series of articles on how to deal with consistency in distributed systems, the right way. Don’t miss it.
Part 1: The Data Dichotomy: Rethinking the Way We Treat Data and Services
Part 2: Build Services on a Backbone of Events
Part 3: Using Apache Kafka for Service Architectures
Part 4: Chain Services with Exactly Once Guarantees
Part 5: Messaging as the Single Source of Truth
Part 6: Leveraging the Power of a Database Unbundled
Part 7: Building a Microservices Ecosystem with Kafka Streams and KSQL
#java #architecture #senior
Confluent
Microservices: Rethinking the Way We Treat Data and Services | Confluent
For microservices, there is a tension between how we build services and how we approach the data that flows between them. Apache Kafka can help.