Comparative analysis of reactive programming and Java virtual threads
Article Sidebar
Issue Vol. 39 (2026)
-
Comparative analysis of user interface quality of mobile operator applications
Darya Benedziktovich, Oleksii Davydok102-107
-
Comparative analysis of non-relational databases on the example of Amazon DynamoDB and MongoDB
Michał Sagan, Małgorzata Plechawska-Wójcik108-114
-
Generative adversarial networks in sound synthesis: analysis of sound modeling capabilities using GANs.
Michał Galant, Paweł Powroźnik115-122
-
Analysis of LEAPET: a new energy-aware routing protocol for Internet of Things-based Heterogeneous Wireless Sensor Network
Kazeem B. Adedeji123-131
-
Comparative analysis of query optimization techniques in modern relational database systems
Volodymyr Solohub, Volodymyr Pashkevych132-137
-
Statistical analysis of the results of real dice rolls using the object detection model in the context of the Central Limit Theorem
Kacper Gębusia, Edyta Łukasik138-145
-
Analysis of usability and accessibility of Polish web services for English language testing
Michał Billewicz, Natalia Bogusz, Maria Skublewska-Paszkowska146-153
-
Comparative analysis of reactive programming and Java virtual threads
Daniel Charlak, Jakub Brzeziński, Grzegorz Kozieł154-160
-
Comparative analysis of the security of instant messaging apps
Natalia Pioterczak, Maksymilian Potocki, Piotr Kopniak161-166
-
Comparative analysis of chosen programming languages
Jakub Machnowski, Marta Dziuba-Koziel167-175
-
Comparative performance analysis of Express.js and Spring Boot in CRUD-oriented web applications
Wojciech Wnuk, Małgorzata Plechawska-Wójcik176-182
-
Comparative performance analysis of Spring Boot and Ktor for a ticket reservation REST API on the JVM
Miłosz Serej, Kamil Kopciński, Jakub Smołka183-187
Main Article Content
Authors
Abstract
This study presents a comparative analysis of two concurrency paradigms in modern Java applications: reactive programming and Java virtual threads. Traditional operating system threads consume excessive resources under high concurrency, which has driven the adoption of non-blocking, event-driven frameworks such as Spring WebFlux, as well as lightweight JVM-managed virtual threads introduced as part of Project Loom in Java 21. While prior research highlights the benefits of both approaches, direct empirical comparisons under controlled conditions remain limited. To address this gap, this study evaluates the performance, scalability, and resource utilization of both paradigms through controlled experiments conducted on the Google Cloud Platform. The analysis investigates their behaviour under varying levels of concurrent load and examines the impact of different CPU and memory configurations on system efficiency. The results aim to support developers and architects in selecting appropriate concurrency models for Java applications.
Keywords:
Sustainable Development Goals (SDG)
- 9 - Industry, Innovation, Technology and Infrastructure
References
[1] A. Navarro, J. Ponge, F. Le Mouël, C. Escoffier, Analysing the performance and costs of reactive programming libraries in Java, In 8th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems (REBLS) (2021) 51-60, https://doi.org/10.1145/3486605.3486788. DOI: https://doi.org/10.1145/3486605.3486788
[2] Oracle, Java 21 Virtual Threads Documentation, https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html, [12.10.2025].
[3] OpenJDK, JDK Enhancement Proposal 444: Virtual Threads, https://openjdk.org/jeps/444, [13.10.2025].
[4] D. Beronić, P. Pufek, B. Mihaljević, A. Radovan, On Analyzing Virtual Threads – a Structured Concurrency Model for Scalable Applications on the JVM, In 2021 44th International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO) IEEE (2021) 1684–1689, https://doi.org/10.23919/MIPRO52101.2021.9596855. DOI: https://doi.org/10.23919/MIPRO52101.2021.9596855
[5] J. P. Briot, R. Guerraoui, K. P. Lohr, Concurrency and distribution in object-oriented programming, ACM Computing Surveys 30(3) (1998) 291–329, https://doi.org/10.1145/292469.292470. DOI: https://doi.org/10.1145/292469.292470
[6] F. Myter, C. Scholliers, W. De Meuter, Distributed Reactive Programming for Reactive Distributed Systems, The Art, Science, and Engineering of Programming 3(3) (2019) 5, https://doi.org/10.22152/programming-journal.org/2019/3/5. DOI: https://doi.org/10.22152/programming-journal.org/2019/3/5
[7] A. Zbarcea, C. Tudose, Migrating from Developing Asynchronous Multi-Threading Programs to Reactive Programs in Java, Applied Sciences 14(24) (2024) 12062, https://doi.org/10.3390/app142412062. DOI: https://doi.org/10.3390/app142412062
[8] L. Lašić, D. Beronić, B. Mihaljević, A. Radovan, Assessing the Efficiency of Java Virtual Threads in Database-Driven Server Applications, In 2024 47th MIPRO ICT and Electronics Convention (MIPRO) IEEE (2024) 2045–2050, https://doi.org/10.1109/MIPRO60963.2024.10569754. DOI: https://doi.org/10.1109/MIPRO60963.2024.10569754
[9] S. Iwanowski, G. Kozieł, Comparative analysis of reactive and imperative approach in Java web application development, Journal of Computer Sciences Institute 24 (2022) 242–249, https://doi.org/10.35784/jcsi.2999. DOI: https://doi.org/10.35784/jcsi.2999
[10] K. Mochniej, M. Badurowicz, Performance comparison of microservices written using reactive and imperative approaches, Journal of Computer Sciences Institute 28 (2023) 242–247, https://doi.org/10.35784/jcsi.3698. DOI: https://doi.org/10.35784/jcsi.3698
[11] A. Navarro, J. Ponge, F. Le Mouël, C. Escoffier, Considerations for integrating virtual threads in a Java framework: A Quarkus example in a resource-constrained environment, Proceedings of the 17th ACM International Conference on Distributed and Event-Based Systems (2023) 103-114, https://doi.org/10.1145/3583678.3596895. DOI: https://doi.org/10.1145/3583678.3596895
[12] K. Lis, J. Smołka, Examination of the performance and scalability of a web application in a reactive and imperative approach using the Spring Framework, Journal of Computer Sciences Institute 32 (2024) 210–216, https://doi.org/10.35784/jcsi.6291. DOI: https://doi.org/10.35784/jcsi.6291
Article Details
Abstract views: 34

