Modern Java
Exploring Java 21: Virtual Threads Are a Game Changer
I’ve been waiting for virtual threads (Project Loom) for years. Traditionally, Java’s concurrency model was based on operating system threads, which ar…
Stories Worth Reading
PixelProse is your go-to blog for insightful articles on Technology, Travel, Food, Health, Lifestyle, Business, Fashion and Sports. Fresh perspectives. Real stories. Zero fluff.
Results for "Java concurrency"
32 articles found
Modern Java
I’ve been waiting for virtual threads (Project Loom) for years. Traditionally, Java’s concurrency model was based on operating system threads, which ar…
Concurrency
Writing thread-safe code is hard. When I first learned about concurrency, I slapped `synchronized` on every method, thinking I was making everything safe…
JVM Languages
When Kotlin first came out, I thought it was just a fad. But after Google made it first-class for Android, and I saw my colleagues writing less boilerplate…
Core Java
Before Java 8, working with dates was a nightmare. `java.util.Date` was mutable and had terrible design decisions. I remember trying to add a day to a date…
Modern Java
For years, Java developers complained about boilerplate. We had to write constructors, getters, equals, and hashCode for simple data carriers. Lombok fixed…
Java Fundamentals
I’ve been a full-stack developer for about a decade now, and if there’s one language I keep coming back to, it’s Java. It’s not the flashiest, and…
DevOps
The days of deploying a WAR file to a Tomcat instance on a virtual machine are fading. Most Java shops are moving to containers. I started Dockerizing my S…
Functional Programming
When Java 8 dropped, everyone started using lambdas, but many stopped there. Functional programming is more than just syntactic sugar for anonymous classes…
Core Java
I recently did a code review for a junior developer, and I saw a massive block of nested for-loops just to filter a list and map some objects. It was funct…
Concurrency
As programs grow, performance can become an issue. Python offers threading and multiprocessing to help with concurrent execution. Threading is suitable for…
Career
If I could go back and give myself advice, I’d say: don’t just learn the syntax. Learn the ecosystem. Knowing Java is great, but knowing Spring, Maven…
Advanced Java
Annotations in Java are like magic markers. They started as just metadata (`@Override`), but with frameworks like Spring and Lombok, they have become power…
JVM Internals
When I first started coding Java, I treated the JVM like a magic box. Write code, hit run, and somehow it works on Windows, Mac, and Linux. But once I star…
Testing
I used to hate writing tests. I thought it was a waste of time until I had to refactor a legacy module with 100% coupling. I broke everything, and I spent…
Performance
My worst production moment was at 3 AM on a Saturday. The application started throwing `OutOfMemoryError`. The heap was full, and the GC was thrashing. I h…
Best Practices
I’ve read Robert Martin’s *Clean Code* three times, and I still learn something new each time. The golden rule is that code is written for humans, not…
Core Java
I’ve seen too many empty catch blocks in my life. You know the ones: `catch (Exception e) {}`. It’s like putting a band-aid over a bullet wound. The ex…
Advanced Java
The biggest criticism of Java in the serverless world has been startup time. A cold start of a Spring Boot app can take 20-30 seconds. GraalVM changes that…
JavaScript
When I first encountered Promises, the .then().catch() syntax felt messy, especially for complex chains. Enter Async/Await, a syntactic sugar that makes as…
Best Practices
We all have that one project in our careers—the codebase that’s 15 years old, uses Java 6, and no one understands it fully. I inherited one of these la…
Frameworks
For the last five years, Spring Boot has been my default choice for microservices. It’s the Swiss Army knife of Java frameworks. But recently, I started…
DevOps
Logging is often an afterthought until something goes wrong. I’ve been on calls where we were trying to debug a failure and realized the logs were either…
Spring Framework
Early in my career, I used the `new` keyword everywhere. `new UserService(new UserRepository(new Database()))`. I thought I was being efficient. Then came…
Build Tools
When I graduated from university, I knew how to write Java, but I had no idea how to manage dependencies. I used to download JAR files manually and drop th…
Databases
When I first learned SQL, I loved it. But mapping SQL results to Java objects manually with JDBC is tedious. That’s where JPA (Java Persistence API) and…
Security
JavaScript
JavaScript closures were my personal nemesis for a solid six months. I could read about them, but I never understood why I would use them until I started b…
Web Development
Building a REST API used to involve a lot of XML configuration in the old J2EE days. Spring Boot changed all that with auto-configuration. I can now spin u…
Build Tools
For years, I was a Maven guy. The rigid structure of Maven is comforting. You know exactly where to find things. But when I started working on a project wi…
Databases
When I first started using Spring Data JPA, I was amazed that I could just create an interface extending `JpaRepository` and get CRUD methods for free. But…
Design Patterns
I used to think design patterns were academic nonsense until I found myself writing a payment processing system. We had to support credit cards, PayPal, an…
AWS
Elastic Beanstalk is the easiest way to deploy web applications on AWS. You upload your code, and it handles capacity provisioning, load balancing, and sca…