Skip to content

Commit 7390175

Browse files
committed
...
1 parent 9042960 commit 7390175

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

src/SUMMARY.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1312,6 +1312,51 @@ mikamoilanen — 4:01 PM
13121312
Another solution creates a nice opportunity to introduce creating your own datastructure for more efficient solution: Build a tree out of the codes, where each number has N childs, and traverse throught that tree number-by-number of the phonenumber
13131313
THEN you could even introduce packing the data as bitvectors in order to have even more compact data structure
13141314
1315+
* string processing chapter with string formatting, string splitting, StringJoiner and friends
1316+
* varargs (this might actually be important since we are hinting at JDK methods using varargs occasionally, e.g. List.of and similar)
1317+
* marker interfaces (Interfaces II)
1318+
* anonymous class
1319+
* BigDecimal / BigInteger
1320+
* enums can have fields, constructors and methods as well (a good example that often needs this is a DIRECTION enum (up/down/left/right) with fields for the label/string and the keyboard key or an arrow symbol in either direction)
1321+
* sealed classes and interfaces
1322+
* try-catch-finally. so far the book only talks about catch but leaves out finally
1323+
* try-with-resources and Closeable/AutoCloseable (maybe motivated with Files.lines as example, but that requires streams...)
1324+
* Comparators and Comparable
1325+
* Random, ThreadLocalRandom.current(), seeding, SecureRandom, nextGaussian() and concept of standard deviation and mean, (honorable mention Math.random())
1326+
* UUID
1327+
* Wildcards, bounded wildcards and PECS (the book has a very brief mention of Foo<?> but doesnt go into detail and also doesnt talk about bounds "? extends", "? super" and syntax "? extends A & B & C")
1328+
* type tokens "Class<Foo>" (niche topic but maybe worth mentioning somewhere in the reflection chapter)
1329+
* sorting (List.sorted, Collections.sort, Arrays.sort)
1330+
* Queues (ArrayDeque) and PriorityQueue (needs comparing beforehand)
1331+
* extra chapter on some algodat (trees, graphs, DFS/BFS, mergesort/quicksort, binary search, Tries, potentially also time to make ur own linkedlist and ring buffer/circular array)
1332+
* multithreading (Thread, Runnable, Thread-Pools with ExecutorService, Future-API with CompletableFuture)
1333+
* scheduling and repeated tasks with ScheduledExecutorService
1334+
* short circuit operators &| are never mentioned (probably for good, but perhaps they deserve a small annotation somewhere)
1335+
* Optional (also OptionalInt, ...)
1336+
* Clone API (dont use), copy constructor
1337+
* serialization API (dont use), json with jackson/gson/whatever
1338+
* WeakReference (for use in caches)
1339+
* class loading/loaders
1340+
* environment variables (niche but important for some topics)
1341+
* process api, new ProcessBuilder etc
1342+
* profiling, time measuring on the jvm, mentioning jmh
1343+
* shutdown hooks, "catch/log all"
1344+
* RandomAccessFile (niche topic but when u need it its good to know that it exists)
1345+
* concept of buffering (and BufferedReader/Writer) and flushing
1346+
* useful stuff from the io-stream-api such as BufferedReader/Writer, ByteArrayOutputStream (baos), ByteArrayInputStream (bais)
1347+
* bits and bytes, bit-wise ops (&|^, shifts) and related topics such as BitSet, and EnumSet as readable bit-mask alternative
1348+
* javas Properties class. its a badly designed class but i think its a good starter for simple config-files (when ur not yet ready for json/yaml/...)
1349+
* IDEs
1350+
* junit
1351+
* general intro talk about memory/space and garbage collection on the JVM
1352+
* chapter about "design patterns", even if its just sth like a disclaimer "u might hear about this and that design pattern. can be useful yadayada but dont overdo. learn pros/cons, put it into ur toolbox, use ur own judging." plus maybe an example of a very common pattern plus an antiexample of overusing/abusing that pattern in a way its not helpful (maybe a builder pattern? or a factory...problemfactory joke lol). opportunity to talk about some that people will definitely hear or encounter eventually, such as: DRY, KISS, YAGNI, SOLID, singletons, factories, observer/listener, proxy, delegate, builder
1353+
1354+
for appendix and extra stuff:
1355+
* http
1356+
* sql, jdbc
1357+
* javafx/swing/awt
1358+
* logging (SLF4J)
1359+
13151360
-->
13161361

13171362

theme/index.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@
154154
{{/if}}
155155

156156

157-
<a target="_blank" href="https://discord.gg/together-java-272761734820003841" title="Ask a question" aria-label="Ask a question">
157+
<a target="_blank" href="https://discord.gg/xSdQBHfTun" title="Ask a question" aria-label="Ask a question">
158158
<i id="ask-a-question-button" class="fa fa-question"></i>
159159
</a>
160160
</div>

0 commit comments

Comments
 (0)