Errata

Optimizing Java

Errata for Optimizing Java

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
xxx?
first paragraph

Can't tell on which page this is as I am reading this on safari.

In the page on: Connections between the observables

the word "appreciably" is mispelled. You've spelled it as:apprciably

Anonymous  May 06, 2016 
xxx?
second half of the page

Finally the Application classloader is created, which is responsible for loading in user classes from the defined classpath. Some texts unfortunately refer to this as the “System” classloader. This term should be avoided, for the simple reason tht it doesn’t load the system (the Bootstrap classloader does). The Application classloader is encountered extremely frequently, and it has the Extension loader as its parent.

you have a tht above that should be "that"

Anonymous  May 06, 2016 
???
bottom of the page

Analysing the performance of small sections of Java code (“microbenchmarks”) is usually actually harder than ....

In this sentence above, I would suggest you probably want only one of the two: "usually" or "actually."

But not both.

Anonymous  May 06, 2016 
???
Chapter 7. Advanced Garbage Collection.G1 part

G1 max region size is 32MB according to /src/hotspot/share/gc/g1/heapRegionBounds.hpp.
But in the book it said 64MB is maximum.

Anonymous  Oct 19, 2018 
chapter 1
Section "Reading Performance Graphs" between figures 1-4 and 1-5.

Where the text reads:

It clearly displays a sharp drop in the allocation rate at around the 90 second mark.

It should be *900* seconds, as according the data in the chart.

Amy Boyle  May 18, 2019 
?
Chapter 3, The Scheduler; code snippet and paragraph of text above

The text says "The following code executes 1,000 separate 1 ms sleeps. ", however the code example executes 2000 separate 2 ms sleeps.

boylea  Jul 21, 2019 
Printed Page 40
4th paragraph

The calculation of effective memory bandwith looks odd.
They say: "... takes around 3 milliseconds (2.86 ms on average) to traverse a 100 MB chunk of memory, giving an effective memory bandwith of just under 3.5 GB/s".
If that was true I'd expect roughly 350 * 100 MB = 35 GB/s

But, the 100 MB chunk seems incorrect because we have 2,000,000 ints * 4 bytes which should give us 8 MB per chunk.
Therefore, I'd expect the effective memory throughput to be 8 * 350 = 2,800 MB/s

Is my reasoning correct?

Juraj Martinka  Apr 10, 2019 
PDF Page 54
Figure 3-9 "Virtualisation of operating systems"

In the virtualization diagram at page 54, "Harware" is used instead of (I suppose) "Hardware".

Luca Bellonda  Sep 02, 2016 
Printed Page 83
First and second list

There are two lists on the page which are both numbered 1 and 2, however, the text refers to them by letters A-D. I believe the first list should be A, B, instead of 1, 2, and the second list should be C, D, instead of 1, 2.

Aaron de Souza  Sep 08, 2018 
Printed Page 106
Paragraph starting 'The modification is to use'

'starting from the mean' should surely be 'starting from the median'. The samples shown are percentiles, and the 50% percentile is the median _not_ the mean; e.g. if only the slowest samples get even slower, this affects the mean but not the median. It might be worth the authors pointing this out as another reason the mean isn't very useful.

Anonymous  Sep 22, 2018 
Printed Page 146
Figure 7-1.

I think Figure 7-1 is confusing. According to Tri-colored Marking algorithm, the nodes which are directly reachable from root sets are colored gray at the beginning. Then, the gray nodes turn to black and the nodes which they reference are colored gray. This continues until no gray nodes are left.

However, in Figure 7-1, gray nodes reference to black nodes, which I think is never possible. I suspect the two colors, gray and black, must be switched.

Anonymous  Oct 17, 2018 
Printed Page 177
First paragraph

Just below figure 8-2, the paragraph mentions software as a service as “SAAS” when it’s usually listed as “SaaS”

David Robillard  Nov 16, 2018 
Printed Page 191
First paragraph

The list of “Initial Mark” and “Remark” has an asterisk in front of “Remark”. This asterisk probably shouldn’t be there.

David Robillard  Nov 16, 2018 
Printed Page 256
Table 10-4, line 5

In « javax.swing.plaf.basic,BasicLookAndFeel.initComponentDefault() » the comma should instead be a dot.

David Robillard  Nov 21, 2018 
Printed Page 262
Last line of the ArrayList paragraph

In the ArrayList paragraph, the method name ensureCapacity() should be formatted in a constant width font as per the books convention.

David Robillard  Nov 26, 2018