is increment operator atomic

Is i++ atomic in Java?

Breaking down into modules in Angularquiz

We usually do not think about concurrency when building simple web applications. That is a mistake. Web applications may process multiple requests at the same time, and inconsistencies coming from concurrency may suddenly cause problems. Today's question is is i++ atomic in Java?. Can we assume that one of the simplest operations is thread-safe?

 

angular modules

Breaking down into modules in Angular

Breaking down into modules in Angularquiz

Since the second edition of Angular, you can break down the project into modules. Although the technicalities are widely known, developers are often not sure which components should go to which module and even what modules they should have.

 

Spring4Shell

Will Spring4Shell and Log4Shell change the view on community projects?

Will Spring4Shell and Log4Shell change the view on community projects?Spring JDBC plus two datasources

At the end of March 2022, a serious security vulnerability was discovered in Spring Framework. All versions of spring-core were affected if used with Java 9 and newer. Unfortunately, it happened soon after Log4Shell.

Spring JDBC + 2 datasources

Spring Data JDBC with two datasources

Spring Data JDBC with two datasourcesSpring JDBC plus two datasources

Two databases used by one Spring Boot application does not seem tricky. But they both are accessed through Spring Data JDBC. And then the most tutorials remains tight-lipped. Even though that is not straight forward but still possible.

 

Single task split to 5 subtasks

ExecutorService - how to complete a task by multiple threads in Java

ExecutorService - how to complete a task by multiple threads in Javasplit tasks

Executing operations one after another is easy. However, sometimes we desire more - parallelism. Are you sure you know how to execute tasks in parallel in Java? If not, let me show you how to start multiple threads with ExecutorService, give them some tasks and wait for the result.

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.