Chapter 11
←Older revision | Revision as of 16:18, 14 February 2014 | ||
Line 30: | Line 30: | ||
{{:Errata 10}} | {{:Errata 10}} | ||
- | == Chapter 11 == | + | == [[Errata 11|Chapter 11]] == |
- | + | ||
- | + | {{:Errata 11}} | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
== Chapter 12 == | == Chapter 12 == |
Chapter 11
←Older revision | Revision as of 16:18, 14 February 2014 | ||
Line 30: | Line 30: | ||
{{:Errata 10}} | {{:Errata 10}} | ||
- | == Chapter 11 == | + | == [[Errata 11|Chapter 11]] == |
- | + | ||
- | + | {{:Errata 11}} | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
== Chapter 12 == | == Chapter 12 == |
Epilogue
←Older revision | Revision as of 08:48, 5 February 2014 | ||
Line 72: | Line 72: | ||
Page 361: Referring to "sealed" packages without any explanation of this term (see [[wikipedia:JAR_(file_format)]]). | Page 361: Referring to "sealed" packages without any explanation of this term (see [[wikipedia:JAR_(file_format)]]). | ||
- | == Epilogue == | + | == [[Errata Epilogue|Epilogue]] == |
+ | |||
+ | {{:Errata Epilogue}} |
Chapter 19
←Older revision | Revision as of 08:47, 5 February 2014 | ||
Line 69: | Line 69: | ||
== Chapter 19 == | == Chapter 19 == | ||
+ | |||
Page 361: Referring to "sealed" packages without any explanation of this term (see [[wikipedia:JAR_(file_format)]]). | Page 361: Referring to "sealed" packages without any explanation of this term (see [[wikipedia:JAR_(file_format)]]). | ||
+ | |||
+ | == Epilogue == |
Chapter 8
←Older revision | Revision as of 08:49, 27 January 2014 | ||
Line 21: | Line 21: | ||
{{:Errata 8}} | {{:Errata 8}} | ||
+ | |||
+ | == [[Chapter 9]] == | ||
+ | |||
+ | {{:Errata 9}} | ||
== [[Chapter 10]] == | == [[Chapter 10]] == |
Chapter 1
←Older revision | Revision as of 16:52, 21 January 2014 | ||
Line 4: | Line 4: | ||
Read [[The_Art_of_Building_Modern_Software#Current_or_Certain.3F|the reply]]... | Read [[The_Art_of_Building_Modern_Software#Current_or_Certain.3F|the reply]]... | ||
+ | |||
+ | == Chapter 4 == | ||
+ | |||
+ | === [[Errata 4|Page 43]] === | ||
+ | |||
+ | {{:Errata 4}} | ||
== [[Chapter 6]] == | == [[Chapter 6]] == |
Page 337
←Older revision | Revision as of 14:31, 9 July 2012 | ||
Line 47: | Line 47: | ||
Typo in the sample. Instead of ''throw new IllegalStateException("Old visitor used on new exceptions")'' it should be ''throw new IllegalStateException("Old visitor used on new expressions")'' | Typo in the sample. Instead of ''throw new IllegalStateException("Old visitor used on new exceptions")'' it should be ''throw new IllegalStateException("Old visitor used on new expressions")'' | ||
- | |||
==== Page 350 ==== | ==== Page 350 ==== |
Chapter 18
←Older revision | Revision as of 14:31, 9 July 2012 | ||
Line 44: | Line 44: | ||
== Chapter 18 == | == Chapter 18 == | ||
- | === Page 337 === | + | ==== Page 337 ==== |
Typo in the sample. Instead of ''throw new IllegalStateException("Old visitor used on new exceptions")'' it should be ''throw new IllegalStateException("Old visitor used on new expressions")'' | Typo in the sample. Instead of ''throw new IllegalStateException("Old visitor used on new exceptions")'' it should be ''throw new IllegalStateException("Old visitor used on new expressions")'' | ||
- | === Page 350 === | + | ==== Page 350 ==== |
If you are wondering why, in the create30 method, the implementation of Visitor.dispatchNumber(Number n) defines RealWrapper.getValue() which calls n.getValue() and not n.doubleValue(), then it is because the class ''Number'' is not {{JDK|java/lang|Number}} but rather own implementation defined at | If you are wondering why, in the create30 method, the implementation of Visitor.dispatchNumber(Number n) defines RealWrapper.getValue() which calls n.getValue() and not n.doubleValue(), then it is because the class ''Number'' is not {{JDK|java/lang|Number}} but rather own implementation defined at | ||
Line 55: | Line 55: | ||
Sorry for not choosing different name. | Sorry for not choosing different name. | ||
- | === Page 351 === | + | ==== Page 351 ==== |
In paragraph Syntactic Sugar ''this'' reference is leaking from constructor so it is unsafe reference publication. In terms of [[cluelessness]] this risk should be mentioned together with link to proper explanation. | In paragraph Syntactic Sugar ''this'' reference is leaking from constructor so it is unsafe reference publication. In terms of [[cluelessness]] this risk should be mentioned together with link to proper explanation. |
Chapter 18
←Older revision | Revision as of 14:30, 9 July 2012 | ||
Line 43: | Line 43: | ||
== Chapter 18 == | == Chapter 18 == | ||
- | |||
+ | === Page 337 === | ||
- | Page 350 | + | Typo in the sample. Instead of ''throw new IllegalStateException("Old visitor used on new exceptions")'' it should be ''throw new IllegalStateException("Old visitor used on new expressions")'' |
+ | |||
+ | |||
+ | === Page 350 === | ||
+ | |||
+ | If you are wondering why, in the create30 method, the implementation of Visitor.dispatchNumber(Number n) defines RealWrapper.getValue() which calls n.getValue() and not n.doubleValue(), then it is because the class ''Number'' is not {{JDK|java/lang|Number}} but rather own implementation defined at | ||
<source lang="java" snippet="visitor.clientprovider.v1"/> | <source lang="java" snippet="visitor.clientprovider.v1"/> | ||
Sorry for not choosing different name. | Sorry for not choosing different name. | ||
+ | === Page 351 === | ||
- | + | In paragraph Syntactic Sugar ''this'' reference is leaking from constructor so it is unsafe reference publication. In terms of [[cluelessness]] this risk should be mentioned together with link to proper explanation. | |
== Chapter 19 == | == Chapter 19 == | ||
Page 361: Referring to "sealed" packages without any explanation of this term (see [[wikipedia:JAR_(file_format)]]). | Page 361: Referring to "sealed" packages without any explanation of this term (see [[wikipedia:JAR_(file_format)]]). |
Moving the comment to discussion section
←Older revision | Revision as of 14:13, 9 July 2012 | ||
Line 45: | Line 45: | ||
Page 337: Typo in the sample. Instead of ''throw new IllegalStateException("Old visitor used on new exceptions")'' it should be ''throw new IllegalStateException("Old visitor used on new expressions")'' | Page 337: Typo in the sample. Instead of ''throw new IllegalStateException("Old visitor used on new exceptions")'' it should be ''throw new IllegalStateException("Old visitor used on new expressions")'' | ||
- | Page 350: | + | |
- | + | Page 350: If you are wondering why, in the create30 method, the implementation of Visitor.dispatchNumber(Number n) defines RealWrapper.getValue() which calls n.getValue() and not n.doubleValue(), then it is because the class ''Number'' is not {{JDK|java/lang|Number}} but rather own implementation defined at | |
- | + | <source lang="java" snippet="visitor.clientprovider.v1"/> | |
- | + | Sorry for not choosing different name. | |
- | + | ||
- | </ | + | |
Page 351: In paragraph Syntactic Sugar ''this'' reference is leaking from constructor so it is unsafe reference publication. In terms of [[cluelessness]] this risk should be mentioned together with link to proper explanation. | Page 351: In paragraph Syntactic Sugar ''this'' reference is leaking from constructor so it is unsafe reference publication. In terms of [[cluelessness]] this risk should be mentioned together with link to proper explanation. |
Chapter 18
←Older revision | Revision as of 11:27, 9 July 2012 | ||
Line 44: | Line 44: | ||
== Chapter 18 == | == Chapter 18 == | ||
Page 337: Typo in the sample. Instead of ''throw new IllegalStateException("Old visitor used on new exceptions")'' it should be ''throw new IllegalStateException("Old visitor used on new expressions")'' | Page 337: Typo in the sample. Instead of ''throw new IllegalStateException("Old visitor used on new exceptions")'' it should be ''throw new IllegalStateException("Old visitor used on new expressions")'' | ||
+ | |||
+ | Page 350: In the create30 method, the implementation of Visitor.dispatchNumber(Number n) defines RealWrapper.getValue() which calls n.getValue but that method does not exist. It should be n.doubleValue(): | ||
+ | <code> | ||
+ | public double getValue() { | ||
+ | return n.doubleValue(); | ||
+ | } | ||
+ | </code> | ||
Page 351: In paragraph Syntactic Sugar ''this'' reference is leaking from constructor so it is unsafe reference publication. In terms of [[cluelessness]] this risk should be mentioned together with link to proper explanation. | Page 351: In paragraph Syntactic Sugar ''this'' reference is leaking from constructor so it is unsafe reference publication. In terms of [[cluelessness]] this risk should be mentioned together with link to proper explanation. |