These are just a collection of samples I wrote down while preparing my Java courses here and there.
Most of the examples works fine with any Java version from 5 on. Some of them are specific for Java 7 and Java 8.
- Modern Java development: https://github.com/giorgiosironi/game-of-life-modern-java
- Awesome Java: https://github.com/akullpp/awesome-java
- Awesome Java8: https://github.com/tedyoung/awesome-java8
- A list of useful Java frameworks, libraries, software and hello worlds examples: https://github.com/Vedenin/useful-java-links
- Java Koans: https://github.com/matyb/java-koans
- Programmr | Your Online Code Lab: http://www.programmr.com/challenges/palindrom-string-2
- Coder Dojo: http://cyber-dojo.org/setup/show_exercises/?language=Java&test=JUnit
- CodingBat, code practice (http://codingbat.com/java)
- String Calculator (https://github.com/xpeppers/string-calculator-kata)
- Bowling Game Kata (http://butunclebob.com/ArticleS.UncleBob.TheBowlingGameKata)
- Sales Tax Kata (https://github.com/xpeppers/sales-taxes-problem)
- Number Gaps Kata (https://github.com/andreabertagnolli/numbers-gaps-kata)
- Opening Hours Kata (https://github.com/christian-fei/opening-hours-kata)
- GildedRose Refactoring Kata: https://github.com/emilybache/GildedRose-Refactoring-Kata
- Tennis Refactoring Kata: https://github.com/emilybache/Tennis-Refactoring-Kata
- Racing Car Katas: https://github.com/emilybache/Racing-Car-Katas
-
"Clean Code” by Robert C. Martin (http://www.amazon.it/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882), really a great starter book.
- See also UncleBob's videos at https://cleancoders.com
-
"Effective Java" by J.Bloch, to learn the idiomatic way to Java :)