Errata

Java Performance

Errata for Java Performance

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
Chapter 2 (Understand Variability)
Final paragraph before "Statistics and Semantics"

Text reads: "A test is considered statistically significant if the p-value is larger than 1 – α-value."

Isn't the opposite true? If we have an α-value of 0.1 we're saying that the null hypothesis must not occur more than 10% of the time. With the example in this section, the p-value would be .43, which means the probability of the null hypothesis is 43%. 1 - 0.1 = .9 or 90%. We wouldn't say the p-value is statistically significant once it is larger than 90%.

If my understanding is correct, this should be changed to either:
"A test is considered statistically significant if the p-value is less than the α-value."
- or -
"A test is considered statistically significant if the converse of the p-value is larger than 1 – α-value."

Jason Shapiro  Aug 14, 2022 
Printed Page 172
1st paragraph of section "Tuning G1 GC to run more (or less) frequently"

In this section, the InitiatingHeapOccupancyPercent is described. The sentence that disturbed me is "This percentage refers to the entire heap, not just the old generation". While this is true for Java 8, it is not true for Java 9 and onwards. For reference see this jdk bug JDK-8151176 on the OpenJDK board

Valeri Tsolov  Jan 29, 2024 
PDF Page 224
6th paragraph - code sample

public ImmutableObject canonicalVersion(ImmutableObject io) {
synchronized(map) {
ImmutableObject canonicalVersion = map.get(io);
if (canonicalVersion == null) {
map.put(io, new WeakReference(io));
canonicalVersion = io; // ????
}
return canonicalVersion; } }

If the weak reference weren't previously stored in map, shouldn't canonicalVersion return the new stored weak reference rather than the originally passed io?

Anonymous  Jul 25, 2022