Jaką książke polecacie do ogarnięcia bardziej zaawansowanych tematów z javy, jak poslugiwanie się wątkami, nasluchiwanie na wlasciwosci, jakies praktyczne przyklady uzycia wzorcow projektowych
To co wymieniłeś to są bardziej podstawowe sprawy a nie "zaawansowane tematy".
Więc na ten temat raczej szukaj w podręcznikach do podstaw/średnio-zaawansowanych.
Nie wiem na ile to aktualne przy nowszej Javie (do 8 wlacznie sa ok) ale :
To co pytasz to Effective Java (ale to raczej podstawy/srednio zaawansowane, po angielsku, nasza wersje mi sie sttrasznie zle czytalo).
Bardziej zaawansowane:
Java concurrency in practice - Brian Goetz
Dobra ksiazka by wejsc w temat GC: The Garbage Collection Handbook: The Art of Automatic Memory Management , ale znowu -> duzo sie zmienilo od tego czasu, wiec chetnie sie dowiem jesli istnieje godny nastepca.
Moja lista to
- Horstman, Java Podstawy (obejmuje np. wątki)
- Horstman Java Techniki zaawansowane (czyli drugi tom pozycji #1) (ta i pierwsza pozycja to coś, co znam z wersji Java 1.2, ale ufam, że nadążają za zmieniającym się światem)
- Bloch, Effective Java (Beletrystyka, która potrafi poukładać to czego dowiesz się z poprzednich pozycji)
- Goetz, Java Concurrency in Practice (wątki i cięższa pozycja)
Co do wzorców projektowych - nie znalazłem dobrych materiałów do tego, przeczytałem / przejrzałem parę książek, wpisów w sieci i moje wnioski są takie, że przy odrobinie szczęścia da się znaleźć coś co przystępnie opisuje ideę wzorców i ich implementację, ale sensownego wytłumaczenia kiedy czego użyć i po co już nie znalazłem. Coś jak w tym memie:
jak poslugiwanie się wątkami,
Java Concurrency in Practice.
Niestety nie uwzględnia ona ostatnich zmian takich jak CompletableFuture czy ForkJoinPool. O tym trzeba sobie doczytać. Autor miał wydać uaktualnienie ale nie wiem czy do tego doszło.
nasluchiwanie na wlasciwosci,
Z tego co mi wiadomo nie ma książki stricte o tego typu zaawansowanych wygibasach jak proxies, java agents, aspects/aspectJ i bytecode manipulation. Ludzie uczą się przez przypatrzenie. Do tej czwórcy można też dorzucić annotation processing. Masz już hasła, musisz sobie pogooglać, aczkolwiek poza proxy to są tematy naprawdę z wyższej półki.
jakies praktyczne przyklady uzycia wzorcow projektowych
Effective Java, obowiązkowo 3 wydanie.
Jakaś książka o DDD też będzie na miejscu, bo DDD to w 50% właśnie wzorce projektowe.
Generalnie teraz jest ruch w kierunku funkcyjnym, więc i coraz więcej wzorców czy chwytów funkcyjnych się w kodzie pojawia. Poznaj programowanie funkcyjne przynajmniej na podstawowym poziomie (https://fpsimplified.com/).
Poza tym jeżeli chodzi o pozycje zaawansowane:
- Purely functional data structures
- Design of Data Intensive Applications
- "Google SRE book"
Oraz te ze slajdu: https://twitter.com/SolidSoftBlog/status/1431380024767172618/photo/1
Generalnie marna szansa że to wszystko przeczytasz więc już kończę....