If you’re familiar with Java as a programming language you might have come across the following message: java.lang.OutOfMemoryError: Java heap space. We recently got that message in of the services that we’re currently working on. To better understand why this happens, it’s good to get a Java memory heap dump for further analysis.
At my current project we’ve just finished migrating a Spring Boot 2.1.x service from Java 11 to Kotlin. While doing so we’ve learned quite a few things along the way and I created some notes that I wanted to share in case somebody else runs into the same issues. It was our first Kotlin migration and getting to know the Kotlin language better was/is a lot of fun, but also confusing at times.
It’s the second day of the new year and I think my body is still trying to digest some of the Dutch traditional ‘oliebollen’ which I ate on new years eve. The last days of 2018 were mostly about family and friends, food and having some time off. I hope you also had some wonderful days with friends and family. For those of you who’ve been reading this blog over the last couple of years, you’ve probably noticed that this yearly review post always gets published somewhere in February or March, so this time I tried something different and started early 😉. If you don’t want to read the entire post here is a short summary: 2018 was a great year with lots of highs and very few lows.
At my current project we’ve been building three different applications. All three applications are based on Spring Boot, but have very different workloads. They’ve all reached their way to the production environment and have been running steadily for quite some time now. We do regular (weekly basis) deployments of our applications to production with bug fixes, new features and technical improvements. The organisation has a traditional infrastructure workflow in the sense that deployments to the VM instances on acceptance and production happen via the (remote hosting) provider.
I think it was around 2009 when I started reading a book called Clean Code by Robert C Martin (a.k.a Uncle Bob). I found the book on a so-called ‘top 10 must-reads’ for software engineers. I really enjoyed reading that book. It had a pleasant writing style, well structured and provided some valuable insights. A few years later “The Clean Coder” was published and what appealed to me this time was that it was a book about some of the other aspects of our trade: professionalism, handling pressure, clear communication, etc. If you have not read it yet or are looking to improve some of your softer skills I would recommend reading it.