Errata

Optimizing Cloud Native Java

Errata for Optimizing Cloud Native Java, Second Edition

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
O'Reilly learning platform Page Ch. 2 / Statistics of JVM performance / Types of error
Listing of the two types of error

Looks like "way" or "manner" is missing from the following sentence: "A measurement error or an unconnected factor affects results in an uncorrelated."

Jens Christian Bredahl Madsen  Oct 27, 2024 
O'Reilly learning platform Page Ch. 4 / Introducing the HotSpot Runtime / Representing Objects at Runtime
5th paragraph

"The klass word is used to locate the klass metatdata (or klass)". Remove last t from "metat"

Jens Christian Bredahl Madsen  Oct 29, 2024 
O'Reilly learning platform Page Ch. 6, Table 6-3. Flow control category
Last table row

The "Family name" column is not wide enough so the last letter of lookupswitch jumps to the next line

Jens Christian Bredahl Madsen  Nov 03, 2024 
O'Reilly learning platform Page Ch. 6 / Compilers Within HotSpot
5

"Application" is misspelled "appliction" here:

"Historically, the JVM required the developer to choose between the C1 and C2 compilers at appliction startup time"

Jens Christian Bredahl Madsen  Nov 03, 2024 
O'Reilly learning platform Page Ch. 6. The Code Cache
12th paragraph

I'm not sure if this a poor sentence or a typo - I find it hard to make sense of even with the potential correction, but I think "segmentation" should have been "segments" (as a verb).

"The code cache segmentation groups by compiled code types, closely tied to lifetime, helping to prevent the fragmentation effects and associated sweeps and collections."

Jens Christian Bredahl Madsen  Nov 03, 2024 
O'Reilly learning platform Page Ch. 6. The Code Cache
13th paragraph

"Optimized" misspelled here: "Profiled code heap, which contains lightly opimized compiled code"

Jens Christian Bredahl Madsen  Nov 03, 2024 
O'Reilly learning platform Page Chapter 11 / Meters and Registries
1st paragraph

Opening parenthesis is never matched by a close parenthesis: "This is similar to how a logging framework operates (i.e., both are examples of the facade pattern."

Jens Christian Bredahl Madsen  Nov 07, 2024 
O'Reilly learning platform Page Ch. 4 / Representing Objects at Runtime
3rd "codeblock"

I believe the array of primitives type should be typeArrayOop, not objArrayOop

"The basic overall inheritance hierarchy for oops looks like this (as of Java 22):

oop (abstract base)
instanceOop (instance objects)
stackChunkOop
arrayOop (array abstract base)
objArrayOop (array object)
objArrayOop (array of primitives)"

Jens Christian Bredahl Madsen  Nov 09, 2024 
O'Reilly learning platform Page Ch. 4 / Limitations of Parallel Collectors
2. paragraph

"By" should be "be" in "may even by submillisecond."

Jens Christian Bredahl Madsen  Nov 10, 2024 
O'Reilly learning platform Page Ch. 11 / What Is OpenTelemetry?
12th paragraph

"Compatibility" is misspelled in: "OTel places great emphasis on stability and backward compatability"

Jens Christian Bredahl Madsen  Nov 12, 2024 
O'Reilly learning platform Page Ch. 9 / Evolutionary Architecture and Feature Flagging
7th paragraph

"Called" misspelled in "what is sometimes caled a lift-and-shift approach"

Jens Christian Bredahl Madsen  Nov 15, 2024 
O'Reilly learning platform Page Ch. 14 / An Active Hospital
11th paragraph

Text describes code as a "do loop". This type of loop is usually refered to as a "do while loop".

"uses a simple do loop to keep selecting a random cat until we choose one that is uninjured (i.e., is not in the cache maintained by the hospital service)."

Jens Christian Bredahl Madsen  Nov 16, 2024 
O'Reilly learning platform Page Ch. 13 / Fundamental Java Concurrency
Last note in section

"Still" is misspelled "sill" in
"but it sill should not be done if not necessary."

Jens Christian Bredahl Madsen  Nov 17, 2024 
O'Reilly learning platform Page Ch. 13/ Read/Write Locks
AgeCache code example

The indentation of the "readLock.unlock();" line looks off.

Jens Christian Bredahl Madsen  Nov 17, 2024 
O'Reilly learning platform Page Ch. 5 / Epsilon
4th paragraph

Opening parenthesis is never matched by a closing parenthesis:

"In particular, Java Microbenchmark Harness (JMH tests would benefit from the ability to confidently exclude any GC events from disrupting performance numbers. Memory allocation regression tests, ensuring that changed code does not greatly alter allocation behavior, would also become easy to do."

Jens Christian Bredahl Madsen  Nov 17, 2024