Errata
The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted By | Date submitted | Date corrected |
---|---|---|---|---|---|
Printed | Page xiii Contact Us (last phrase) |
The link to the book's page is wrong, it is pointing to https://oreil.ly/java-performance-2e which is another book. Note from the Author or Editor: |
Luan Kevin Ferreira | Oct 04, 2021 | Oct 05, 2021 |
Safari Books Online | 1 Part 1, paragraph "Choosing a GC algorithm" |
In caption "Figure 1-3. Actual versus average CPU usage (CMS)" Note from the Author or Editor: |
Dmitry Zinkevich | Sep 12, 2019 | Feb 11, 2020 |
Printed | Page 57 5th and 6th paragraphs |
A few numbers in the explanation here are incorrect, and one sentence needs to be removed. Here are how the two paragraphs should read: |
Scott Oaks |
Jun 28, 2020 | |
Printed, PDF, Safari Books Online | Page 96 the second list |
Original: Note from the Author or Editor: |
党文亮 | Jul 19, 2020 | |
Page 107 2nd paragraph |
In the section named "G1 GC Allocation of Humongous Objects", we should give example of 512KB instead of 512MB as 512KB is half the size of region. Note from the Author or Editor: |
Abhishek Garg | Aug 24, 2019 | Feb 11, 2020 | |
Printed, PDF, Safari Books Online | Page 109 the last line |
“)” doesn't have corresponding “(” Note from the Author or Editor: |
党文亮 | Aug 03, 2020 | |
Printed, PDF, Safari Books Online | Page 112 2nd line of 2nd paragraph |
"In 2011, Intel introduced Advanced Vector Extensions (AVX2) for the Sandy Bridge (and later) chips" Note from the Author or Editor: |
党文亮 | Aug 03, 2020 | |
Printed, PDF, Safari Books Online | Page 113 last paragraph |
“In absolute terms, saving 34 MB in this example is unlikely to make a huge difference” Note from the Author or Editor: |
党文亮 | Aug 15, 2020 | |
Printed, PDF, Safari Books Online | Page 116 footnote |
AOC => AOT Note from the Author or Editor: |
党文亮 | Aug 06, 2020 | |
Printed, PDF, Safari Books Online | Page 125 2nd item of the bottom list |
"If the average response time is more important than the outliers (i.e., the 90th%) response time), a nonconcurrent collector may yield better results." Note from the Author or Editor: |
党文亮 | Aug 21, 2020 | |
Printed, PDF, Safari Books Online | Page 127 last paragraph |
missing ")" at the end Note from the Author or Editor: |
党文亮 | Aug 21, 2020 | |
Printed, PDF, Safari Books Online | Page 136 2nd paragraph of "Average CPU Usage and GC" |
"Most of the time, only the application threads are running, consuming 50% of the total CPU." Note from the Author or Editor: |
党文亮 | Sep 09, 2020 | |
Printed, PDF, Safari Books Online | Page 137 first paragraph and figure 5-3 |
"The application thread starts by using 50% of the total CPU" Note from the Author or Editor: |
党文亮 | Sep 09, 2020 | |
Printed, PDF, Safari Books Online | Page 140 5th paragraph |
“On a virtual machine running primarily a single JVM, the default initial heap will be only one-quarter of the memory assigned to the virtual machine.” Note from the Author or Editor: |
党文亮 | Aug 25, 2020 | |
Printed, PDF, Safari Books Online | Page 149 first paragraph |
“-Xlog:help:” Note from the Author or Editor: |
党文亮 | Sep 10, 2020 | |
Printed, PDF, Safari Books Online | Page 155 the JDK 11 GC log |
The JDK 11 GC log is different from the JDK 8 GC log. Note from the Author or Editor: |
党文亮 | Oct 04, 2020 | |
Printed, PDF, Safari Books Online | Page 156 the last line of JDK 11 log |
"User=4.446s" => "User=4.44s" Note from the Author or Editor: |
党文亮 | Oct 06, 2020 | |
Printed, PDF, Safari Books Online | Page 158 4th paragraph |
calculation mistake: 1.94% => 1.04% Note from the Author or Editor: |
党文亮 | Sep 17, 2020 | |
Printed, PDF, Safari Books Online | Page 160 Table 6-2 |
the last line of the table: Note from the Author or Editor: |
党文亮 | Oct 06, 2020 | |
Printed, PDF, Safari Books Online | Page 162 4th paragraph |
78M => 78MB Note from the Author or Editor: |
党文亮 | Sep 18, 2020 | |
Printed, PDF, Safari Books Online | Page 167 last paragraph |
how is 16MB calculated? Note from the Author or Editor: |
党文亮 | Oct 09, 2020 | |
Printed, PDF, Safari Books Online | Page 168 6th paragraph |
"This is triggered primarily four times" Note from the Author or Editor: |
党文亮 | Oct 09, 2020 | |
Printed, PDF, Safari Books Online | Page 182 2nd paragraph |
"Unless those trade-offs are acceptable, take care not to set the CMSInitiatingOccupancyFraction higher than the amount of live data in the heap, plus at least 10% to 20%." |
党文亮 | Oct 11, 2020 | |
Printed, PDF, Safari Books Online | Page 189 first paragraph |
"The total allocation in this period is 1.59 KB" |
党文亮 | Oct 12, 2020 | |
Printed, PDF, Safari Books Online | Page 190 first paragraph |
10,336 => 10,368 |
党文亮 | Oct 12, 2020 | |
Printed, PDF, Safari Books Online | Page 190 3rd paragraph |
"and 1.1% of the TLABs were wasted from the free space in retired TLABs." Note from the Author or Editor: |
党文亮 | Oct 13, 2020 | |
Safari Books Online | 194 table 6-4 |
"The minimum of half of all memory, or all memory: 160 MB" Note from the Author or Editor: |
党文亮 | Oct 14, 2020 | |
Printed, PDF, Safari Books Online | Page 199 2nd paragraph |
The 90th% time of Throughput GC is 60ms. Note from the Author or Editor: |
党文亮 | Oct 04, 2020 | |
Printed, PDF, Safari Books Online | Page 276 “Unbounded queues” part |
LinkedBlockedingQueue => LinkedBlockingQueue Note from the Author or Editor: |
党文亮 | Nov 30, 2020 | |
Printed, PDF, Safari Books Online | Page 283 4th paragraph |
outer loop => inner loop Note from the Author or Editor: |
党文亮 | Dec 04, 2020 | |
Printed, PDF, Safari Books Online | Page 283 5th paragraph |
The fourth thread takes a longer time than the first thread. Note from the Author or Editor: |
党文亮 | Dec 04, 2020 | |
Printed, PDF, Safari Books Online | Page 285 sample code |
There is no integer in the sample code, but the previous paragraph said there will be "a collection containing a series of integers". Note from the Author or Editor: |
党文亮 | Dec 06, 2020 | |
Printed, PDF, Safari Books Online | Page 285 2nd paragraph |
ForkJoinPoolClass => ForkJoinPool class Note from the Author or Editor: |
党文亮 | Dec 06, 2020 | |
Printed, PDF, Safari Books Online | Page 287 4th paragraph |
diifferent => different Note from the Author or Editor: |
党文亮 | Dec 07, 2020 | |
Printed, PDF, Safari Books Online | Page 319 2nd paragraph |
“Then at time T5, the third socket is ready...” Note from the Author or Editor: |
党文亮 | Jan 02, 2021 | |
Printed | Page 323 1st paragraph |
The paragraph refers to parsing JSON as "marshalling" and to serializing JSON as "unmarshalling". This is reversed. "Marshalling" is serializing objects into a string and "unmarshalling" is parsing the string and create an object from it. Note from the Author or Editor: |
Richard Metzler | May 27, 2020 | |
Printed, PDF, Safari Books Online | Page 325 2nd paragraph |
“...implementation of the standard JSON parsing (JSON-P) API...” Note from the Author or Editor: |
党文亮 | Jan 05, 2021 | |
Printed, PDF, Safari Books Online | Page 329 4th paragraph |
SLQ:2003 => SQL:2003 Note from the Author or Editor: |
党文亮 | Jan 06, 2021 | |
Printed, PDF, Safari Books Online | Page 340 first paragraph |
“..calling the commit() method at the end of each while loop...” Note from the Author or Editor: |
党文亮 | Jan 16, 2021 | |
Printed, PDF, Safari Books Online | Page 340 table 11-1 |
rows 3: 400,448 => 400,896 Note from the Author or Editor: |
党文亮 | Jan 17, 2021 | |
Printed, PDF, Safari Books Online | Page 341 last paragraph |
setTransaction() => setTransactionIsolation() Note from the Author or Editor: |
党文亮 | Jan 23, 2021 | |
Printed, PDF, Safari Books Online | Page 357 bottom sample code |
inner for loop: Note from the Author or Editor: |
党文亮 | Feb 05, 2021 | |
Printed, PDF, Safari Books Online | Page 366 last paragraph |
“Hence, two identical strings of 16 characters will occupy 44 (or 52) bytes each before they are deduplicated for a total of 80 bytes” Note from the Author or Editor: |
党文亮 | Feb 14, 2021 | |
Printed, PDF, Safari Books Online | Page 383 first paragraph |
”in two ways: first, you can set the system property -Djava.security.egd=file:/dev/urandom.“ Note from the Author or Editor: |
党文亮 | Mar 15, 2021 | |
Printed, PDF, Safari Books Online | Page 385 the example code and table 12-8 |
the 2nd line of for loop in testJavaCC should be: Note from the Author or Editor: |
党文亮 | Mar 20, 2021 | |
Printed, PDF, Safari Books Online | Page 386 2nd paragraph |
”In that case, the latter goal is more important“ Note from the Author or Editor: |
党文亮 | Mar 20, 2021 | |
Printed, PDF, Safari Books Online | Page 398 two calc methods |
Fix code indention: Note from the Author or Editor: |
党文亮 | May 15, 2021 | |
Printed, PDF, Safari Books Online | Page 400 3rd paragraph |
"test whether its first character is A" Note from the Author or Editor: |
党文亮 | May 15, 2021 | |
Printed, PDF, Safari Books Online | Page 400 the bottom code |
the calcArray method accepts two parameters, but the calls to this method in calcEager method passed three parameters Note from the Author or Editor: |
党文亮 | May 15, 2021 | |
Printed, PDF, Safari Books Online | Page 401 2nd paragraph |
"The eager implementation processes only 18,278 of those" Note from the Author or Editor: |
党文亮 | May 15, 2021 | |
Printed, PDF, Safari Books Online | Page 401 table 12-12 |
what does "Iterator/findFirst" mean? Note from the Author or Editor: |
党文亮 | May 15, 2021 | |
Page 404 2nd paragraph |
“it takes only 1 ± .600 ms seconds to serialize and 0.85 ± 0.2 μs to deserialize.” Note from the Author or Editor: |
党文亮 | Feb 13, 2022 | ||
Printed, PDF, Safari Books Online | Page 405 first paragraph |
“the object creates and stores a sorted map of prices keyed by date of all the prices between start and end” Note from the Author or Editor: |
党文亮 | May 15, 2021 | |
Printed, PDF, Safari Books Online | Page 405 3rd paragraph |
“Because all of the lazily initialized fields can be calculated from the prices array” Note from the Author or Editor: |
党文亮 | May 15, 2021 | |
Printed, PDF, Safari Books Online | Page 406 first paragraph |
“So far, the example saves about 15% of the total time to serialize and deserialize the object” Note from the Author or Editor: |
党文亮 | May 15, 2021 | |
Printed, PDF, Safari Books Online | Page 406 4th paragraph |
"Still, notice that making the histogram field transient has also saved about 13% in the size of the data" Note from the Author or Editor: |
党文亮 | May 15, 2021 | |
Printed, PDF, Safari Books Online | Page 407 first paragraph |
"The zipPrices() method serializes the map of prices to a byte array and...." Note from the Author or Editor: |
党文亮 | May 15, 2021 | |
Page 416 the InitialSurvivorRatio entry |
“Increase this if short-lived objects are being promoted into the old generation too frequently.” Note from the Author or Editor: |
党文亮 | Jun 19, 2021 | ||
Page 416 the MinSurvivorRation entry |
"Decreasing this value reduces the maximum size of the survivor spaces (and vice versa)." Note from the Author or Editor: |
党文亮 | Jun 19, 2021 | ||
Page 417 3rd flag |
-XX:+DisableExplicitGC> Note from the Author or Editor: |
党文亮 | Jun 08, 2021 | ||
Page 419 table A-6 |
duplicate “-XX:G1MixedGCCountTarget=N” entry Note from the Author or Editor: |
党文亮 | Jun 22, 2021 | ||
Page 422 table A-12 |
-XX:+StartFlightRecorder => -XX:StartFlightRecording Note from the Author or Editor: |
党文亮 | Jun 28, 2021 |