Java

The Most Common Concurrency Issues and How to Fix Them: Part 1

Jonatan Ivanov

The goal of this example-driven series of articles is explaining, demonstrating, and testing (the fun part) the two most frequent (in my opinion) concurrency mistakes in Java (plus an interesting third one), also giving you a few suggestions to fix them.

By the end of the series, you will understand their basic mechanism, you will be able to identify them and I will give you a couple of advice on how to fix them.

Clamshell: 2020-08-16

Recent news in tech in a clamshell

Jonatan Ivanov
  • OpenJDK is moving to GitHub
  • A peek at the roadmap for pattern matching and more
  • Serializable Records
  • Java 14 Feature Spotlight: Records
  • State of Loom
  • Project Loom: Modern Scalable Concurrency for the Java
  • The role of preview features in Java 14, Java 15, Java 16, and beyond
  • The new features in Java 15
  • The RSocket Revolution
  • Kafka Summit

Clamshell: 2020-07-26

Recent news in tech in a clamshell

Jonatan Ivanov
  • debuild
  • Force Good Habits by Venkat Subramaniam
  • Java’s CompletableFuture
  • 12 Ways of the Cloud Native Warrior
  • The Illustrated Children’s Guide to Kubernetes
  • Better APIs, faster tests and more resilient systems with Spring Cloud Contract
  • The Regular Expression Denial of Service (ReDoS) cheat-sheet
  • Tiny XSS Payloads
  • Gitpod
  • SpringOne

Clamshell: 2020-07-19

Recent news in tech in a clamshell

Jonatan Ivanov
  • The Story of the Twitter Attack
  • Signs Your Software is Rotting
  • StackOverflow cli
  • Best of the JDK Feature Face-Off Results
  • The journey of the world’s open source code to the Arctic
  • GitHub Availability Report
  • Introduction to Micronaut - Ultra Lightweight Java Microservices
  • Launching docs.github.com
  • ZGC: Using -XX:SoftMaxHeapSize
  • Bottlerocket OS

Clamshell: 2020-07-05

Recent news in tech in a clamshell

Jonatan Ivanov
  • Why Developers Keep Making Bad Technology Choices
  • The Best Code is No Code At All
  • Delay startup of your Spring Boot application until your DB is up
  • What Is a Distributed Application?
  • Project Loom Early Access builds are available
  • How Did Vim Become So Popular?
  • Continuously Measure Site Performance With Speedlify
  • New Lego Mindstorms kit
  • Add README.md to your GitHub profile
  • Best of the JDK Feature Face-Off final vote

Clamshell: 2020-06-28

Recent news in tech in a clamshell

Jonatan Ivanov
  • Guide to Java 15
  • IntelliJ IDEA 2020.2 EAP 5: Java 15
  • Background: how we got the generics we have
  • OracleJDK? OpenJDK?, Zulu? Corretto?
  • Introduction to Micronaut - Ultra Lightweight Java Microservices
  • Super-Linter
  • htmx
  • Validating Kubernetes YAML for best practice and policies
  • Dependency-Check

Clamshell: 2020-06-21

Recent news in tech in a clamshell

Jonatan Ivanov

Including:

  • Whats New in Spring Boot 2.3
  • AdoptOpenJDK joins to the Eclipse Foundation
  • Mozilla VPN
  • JDK 15 is now in Rampdown Phase One
  • A history of the Groovy programming language
  • Simple & effective G1 GC tuning tips
  • TornadoVM
  • 2020 Chrome Extension Performance Report
  • Piranha
  • AWS CloudFormation Guard
  • Spotify Backstage

Clamshell: 2020-06-14

Recent news in tech in a clamshell

Jonatan Ivanov

Including:

  • How my photo ended up breaking Android phones
  • Folders Language
  • Pluto
  • Dropbox is working on its own password manager
  • National Emergency Library
  • PHP Turns 25
  • The 25 greatest Java apps ever written
  • Java’s Migration to GitHub

Clamshell: 2020-06-07

Recent news in tech in a clamshell

Jonatan Ivanov

Including:

  • GitHub Design Updates
  • How to write a (toy) JVM
  • Love it or Hate it, Java Continues to Evolve
  • Architecting Low-Latency Java Systems at Massive Scale
  • Java at Speed
  • Haveibeenpwned.com pwned our helpdesk: GLPI 9.4.5 SQL Injection
  • JetBrains Technology Day for Java
  • 97 Things Every Java Programmer Should Know
  • Migrating Spring Boot’s Build to Gradle
  • scan.nmap.me
  • TIL: break, const, goto in Java
  • asserted.io
  • Mob Programming
  • Don’t Do Microservices If You Can