Good intro for young (but not only) developers about testing http://jasonpolites.github.io/tao-of-testing/index-1.1.html
jasonpolites.github.io
The Tao of Testing
Even if you’re writing tests for your software (which many don’t), you’re probably doing it wrong.
Still using CountDownLatch or CyclicBarrier in your Java code? Don't know what is Phaser from Java 7?
https://www.javaspecialists.eu/archive/Issue257.html
https://www.javaspecialists.eu/archive/Issue257.html
www.javaspecialists.eu
[JavaSpecialists 257] - CountDownLatch vs Phaser
Java 7 gave us a brilliant new class called Phaser, which we can use to coordinate actions between threads. It replaces both CountDownLatch and CyclicBarrier, which are easier to understand, but harder to use.
If you didn't try Kotlin yet here is short and simple article about some unique features that Java doesn't have and makes Kotlin stand out.
https://itnext.io/a-day-with-kotlin-5a55eba1965e
https://itnext.io/a-day-with-kotlin-5a55eba1965e
Medium
A Day with Kotlin
What Kotlin has that Java does not.
Short intro for database migration with Flyway as alternative for Liquibase
https://blogg.itverket.no/database-migration-with-flyway/
https://blogg.itverket.no/database-migration-with-flyway/
ITverket
Database migration with Flyway
During my years working with software development I've probably only scratched the surface of topics regarding code, architecture, patterns and best practices. One thing I always thought about was how we handled changes to our database schema. This was often…
About pros and cons of Synchronous or asynchronous (callbacks vs wrappers) approaches with examples
https://blog.softwaremill.com/synchronous-or-asynchronous-and-why-wrestle-with-wrappers-2c5667eb7acf
https://blog.softwaremill.com/synchronous-or-asynchronous-and-why-wrestle-with-wrappers-2c5667eb7acf
Medium
Synchronous or asynchronous, and why wrestle with wrappers?
Have you ever wondered why you have to wrestle with CompletableFutures instead of “just writing code” like in the old days? Is it only for…
If you are working with hibernate, you can find this collection of tips interesting https://www.thoughts-on-java.org/tips
Thoughts on Java
Hibernate Tips - Thoughts on Java
Hibernate Tips BookGet the Hibernate Tips book with more than 70 ready-to-use recipes for topics like: check basic and advanced mappings check mapping of custom data types check 1st level, 2nd level and query caches check compile-time defined queries check…
The series of articles about SOLID design principles, with code examples:
- Single Responsibility Principle
- Open/Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion
https://stackify.com/solid-design-principles/
https://stackify.com/solid-design-open-closed-principle/
https://stackify.com/solid-design-liskov-substitution-principle/
https://stackify.com/interface-segregation-principle/
https://stackify.com/dependency-inversion-principle/
- Single Responsibility Principle
- Open/Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion
https://stackify.com/solid-design-principles/
https://stackify.com/solid-design-open-closed-principle/
https://stackify.com/solid-design-liskov-substitution-principle/
https://stackify.com/interface-segregation-principle/
https://stackify.com/dependency-inversion-principle/
Stackify
SOLID Design Principles: The Single Responsibility Explained
SOLID is an acronym for the 5 design principles of object-oriented programming. This article focuses on the Single responsibility principle.
If you are using Spring Boot and want to know how to use multiple modules, read this one:
https://blog.frankel.ch/multiple-modules-spring-boot-apps/
https://blog.frankel.ch/multiple-modules-spring-boot-apps/
A Java geek
Multiple modules in Spring Boot apps
Spring Boot is a huge success, perhaps even more so than its inceptors hoped for. There is a lot of documentation, blog posts, and presentations on Spring Boot. However, most of them are aimed toward a feature, like monitoring or configuring. Few - if any…
Here is an article about atomic updates in Java 8 ConcurrentHashMap, also I would recommend you to read articles which autor mentions in the beginning, if you don't know how ConcurrentHashMap works.
https://dzone.com/articles/java-8-concurrenthashmap-atomic-updates
https://dzone.com/articles/java-8-concurrenthashmap-atomic-updates
DZone
Java 8: ConcurrentHashMap Atomic Updates
Here's a great look at what Java 8 brought to ConcurrentHashMaps, including close looks at the methods at your disposal and their performance impacts.
The series of articles about Java's lambdas, streams and functional programming approach in Java in general. You can also find there interesting diagrams showing how Java had changed from the first version to Java 8.
https://dzone.com/articles/j%CE%BBv%CE%BB-8-a-comprehensive-look
https://dzone.com/articles/j%CE%BBv%CE%BB-8-a-comprehensive-look
DZone
Java 8 (A Comprehensive Look)
See all of the various functional programming components Java 8 introduced to the language as well as other important additions.
A short intro into JWT (JSON Web Token). I guess the title of the article doesn't correlate with its content, it was odd for author to name the article "Java 9" and to use java.util.Date (deprecated API) at the same time. Besides, it's not in any way connected with Spring Boot.
#jwt #java
https://dzone.com/articles/jwts-with-spring-boot-and-java-9
#jwt #java
https://dzone.com/articles/jwts-with-spring-boot-and-java-9
dzone.com
JWTs With Spring Boot and Java 9 - DZone Java
Interested in using JWTs to pass data in your Java 9/Spring Boot projects? Learn how to set up your dependencies and the use cases for you to consider.
Returning to the topic of time libraries in Java, I would recommend you to read the following article (which features really good examples), especially If you still get confused by the different types in java.time (Instant, LocalDateTime and so on) and are not sure how to use them properly.
#java #time
https://yawk.at/java.time/
#java #time
https://yawk.at/java.time/
Here you can read about different approaches of doing atomic updates in Java.
#java #concurrency
https://dzone.com/articles/why-do-we-need-4-classes-for-atomic-updates-in-java
#java #concurrency
https://dzone.com/articles/why-do-we-need-4-classes-for-atomic-updates-in-java
dzone.com
Why Do We Need 4 Classes for Atomic Updates in Java? - DZone Java
Let's compare AtomicReference, AtomicReferenceFieldUpdater, sun.misc.Unsafe, and Java 9's VarHandle classes to see which should be used when for atomic updates.
Сheatsheet for Java Keytool Keystore Commands
#java #security #cheatsheet
https://dzone.com/articles/understand-java-keytool-keystore-commands
#java #security #cheatsheet
https://dzone.com/articles/understand-java-keytool-keystore-commands
dzone.com
Understanding Java Keytool Keystore Commands - DZone Java
This great compilation of Java Keytool Keystore commands will make sure you're ready to handle your private keys, signing requests, and certificates.
Spring Boot 2.0.2 was released a few days ago.
#java #spring #springboot
https://spring.io/blog/2018/05/09/spring-boot-2-0-2
#java #spring #springboot
https://spring.io/blog/2018/05/09/spring-boot-2-0-2
spring.io
Spring Boot 2.0.2
On behalf of the team and the community, I am pleased to announce that Spring Boot 2.0.2 is now available from repo.spring.io and Maven Central.
Spring Boot 2.0.2 includes over 80 fixes, improvements, and dependency updates. Thanks to everyone that has contributed…
Spring Boot 2.0.2 includes over 80 fixes, improvements, and dependency updates. Thanks to everyone that has contributed…
As monolithic systems become too large to deal with, many enterprises are drawn to breaking them down into the microservices architectural style. It is a worthwhile journey you should consider, but not an easy one.
Let’s see what to decouple and when!
#architecture #monolith #microservices #refactoring
https://martinfowler.com/articles/break-monolith-into-microservices.html
Let’s see what to decouple and when!
#architecture #monolith #microservices #refactoring
https://martinfowler.com/articles/break-monolith-into-microservices.html
martinfowler.com
How to break a Monolith into Microservices
A guide to the common steps we've observed in breaking a monolithic application up into microservices
An article describing immutability in Java with examples and also telling a bit about the history of Java.
#java #immutability #junior
https://dzone.com/articles/immutability-in-java
#java #immutability #junior
https://dzone.com/articles/immutability-in-java
DZone
Immutability in Java
The benefits immutability brings to programs means it should be your default consideration. See what other performance considerations might be more important.
A post about GraalVM features and how to use them in development or usage of your application. What is interesting is that it can be used in another languages (not only jvm based) such as JavaScript, Python, Ruby and so on.
#java #graalvm #jvm #architecture #middle #senior
https://medium.com/graalvm/graalvm-ten-things-12d9111f307d
#java #graalvm #jvm #architecture #middle #senior
https://medium.com/graalvm/graalvm-ten-things-12d9111f307d
Medium
Top 10 Things You Can Do With GraalVM
There are a lot of different parts to GraalVM, so if you’ve heard the name before, or even seen some of our talks, there are for sure things that it can do that you don’t know about yet. In this…
#java #java11 #strings #middle #senior
https://dzone.com/articles/new-methods-on-java-strings-with-jdk-11
https://dzone.com/articles/new-methods-on-java-strings-with-jdk-11
dzone.com
New Methods on Java Strings With JDK 11 - DZone Java
JDK 11 will probably be bringing a few new methods to the String class! Most of them focus on redefining white space for a more consistent approach.
Short article about JEP 192 or how to reduce memory consumption by 20% using string deduplication for G1 garbage collection.
#java #gc #senior
https://dzone.com/articles/easy-change-to-reduce-memory-by-20
#java #gc #senior
https://dzone.com/articles/easy-change-to-reduce-memory-by-20
dzone.com
G1 GC: Reducing Memory Consumption by 20% - DZone Java
This quick runthrough will help you turn on string deduplication for G1 garbage collection, as well as analyzes its impact on your app's memory footprint.