├── .gitignore ├── .idea ├── compiler.xml ├── description.html ├── encodings.xml ├── misc.xml ├── modules.xml ├── vcs.xml └── workspace.xml ├── Effective-Java-Third-Edition-Reading-Notes.iml ├── README.md └── src ├── Main.java ├── chapter10_Exceptions └── Exceptions.md ├── chapter11_Concurrency └── Concurrency.md ├── chapter12_Serialization └── Serialization.md ├── chapter2_Creating_and_Destroying_Objects ├── .DS_Store └── Creating_and_Destroying_Objects.md ├── chapter3_Methods_Common_to_All_Objects └── Methods_Common_to_All_Objects.md ├── chapter4_Classes_and_Interfaces └── Classes_and_Interfaces.md ├── chapter5_Generics └── Generics.md ├── chapter6_Enums_and_Annotations └── Enums_and_Annotations.md ├── chapter7_Lambdas_and_Streams └── Lambdas_and_Streams.md ├── chapter8_Methods └── Methods.md └── chapter9_General_Programming └── General_Programming.md /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/workspace.xml -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /.idea/description.html: -------------------------------------------------------------------------------- 1 | Simple Java application that includes a class with main() method -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | In effect, the clone method functions as a constructor; you must ensure that it does no harm to the original object and that it properly establishes invariants on the clone. 59 | Click here to view code image 60 | {Aaron notes: Above is an important design.} 61 | {Aaron notes: 62 | mutable companion class 63 | CountDownLatch 64 | BUILDER 65 | Above is an important design 66 | Aaron 67 | 68 | 69 | 70 | 72 | 73 | 76 | 77 | 78 | 95 | 96 | 97 | 98 | 99 | true 100 | DEFINITION_ORDER 101 | 102 | 103 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 |