Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

tangent: what are some modern java OSS codebases that you would recommend to read?


I found the server code of the Signal messenger to be very readable https://github.com/signalapp/Signal-Server


I like the Apache Pulsar codebase. Well designed with a mix of code at different layers of abstractions depending on the module. Particularly good if you want to learn about writing network servers and distributed systems.


Caffeine caching

Google's Guava

JCTools


Nothing taught me as much about API design and testing as Google's Guava. I know there are lots of minor gripes with that library, but is it so incredibly consistent. It is also amazing that no one mentioned the Java Collections (ArrayList, LinkedList, HashSet, HashMap, TreeSet, TreeMap). They are some of the highest quality generic collections that exist anywhere. (For C++, I would say the same about an STL implementation by a high quality project like VCC/GCC/Clang.) For "Java high honors", try to understand how concurrent collections work, e.g., ConcurrentHashMap!

For highly specialised containers, try: (1) https://labs.carrotsearch.com/hppc.html, (2) https://github.com/OpenHFT/Chronicle-Queue, and (3) https://github.com/LMAX-Exchange/disruptor


What do you want to do?


Want to pick up some modern Java(11+?) best practices in general since my knowledge is mostly stuck in Java 7/8. Would appreciate recs on codebases, books, talks, etc.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: