Concurrent applications, those serving multiple independent application actions simultaneously, are the bread and butter of Java server-side programming. The thread has been Java’s primary unit of concurrency since Java’s inception, and is a core construct around which the entire Java platform is designed, but its cost is such that it can no longer efficiently represent a domain unit of concurrency, such as the session, request or transaction. As a result, Java has seen a proliferation of libraries and frameworks that offer scalability at the cost of abandoning the thread as the unit of software concurrency and, with it, the straightforward support of Java’s observability tooling, such as debuggers and profilers.
Hide player controls
Hide resume playing