Skip to Content
Java Performance, 2nd Edition
book

Java Performance, 2nd Edition

by Scott Oaks
February 2020
Intermediate to advanced
448 pages
13h 15m
English
O'Reilly Media, Inc.
Book available
Content preview from Java Performance, 2nd Edition

Chapter 10. Java Servers

This chapter explores topics around Java server technologies. At their core, these technologies are all about how to transmit data, usually over HTTP, between clients and servers. Hence, this chapter’s primary focus is on topics common to general server technology: how to scale servers using different thread models, asynchronous responses, asynchronous requests, and efficient handling of JSON data.

Scaling servers is mostly about effective use of threads, and that use requires event-driven, nonblocking I/O. Traditional Java/Jakarta EE servers like Apache Tomcat, IBM WebSphere Application Server, and Oracle WebLogic Server have used Java NIO APIs to do that for quite some time. Current server frameworks like Netty and Eclipse Vert.x isolate the complexity of the Java NIO APIs to provide easy-to-use building blocks for building smaller-footprint servers, and servers like Spring WebFlux and Helidon are built on those frameworks (both use the Netty framework) to provide scalable Java servers.

These newer frameworks offer programming models based on reactive programming. At its core, reactive programming is based on handling asynchronous data streams using an event-based paradigm. Though reactive programming is a different way of looking at the events, for our purposes both reactive programming and asynchronous programming offer the same performance benefit: the ability to scale programs (and in particular, to scale I/O) to many connections or data sources. ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

The Well-Grounded Java Developer, Second Edition

The Well-Grounded Java Developer, Second Edition

Benjamin Evans, Martijn Verburg, Jason Clark
Java in a Nutshell, 7th Edition

Java in a Nutshell, 7th Edition

Benjamin J. Evans, David Flanagan
Java in a Nutshell, 8th Edition

Java in a Nutshell, 8th Edition

Benjamin J. Evans, Jason Clark, David Flanagan

Publisher Resources

ISBN: 9781492056102Errata PageSupplemental Content