This repository contains a series of Java programs that each focus on a particular topic. Each programs is designed to be read, as it goes through the relevant concepts and accompanies the explanations with code samples.
Each module is relatively self-contained, but it is intended that you'll go through these in order:
- IO
- Exceptions
- Sockets
- Threads 1
- Threads 2
- Threads 3
- Atomics
- More Concurrency
This repository is an IntelliJ project. One you clone it with git, you can open the project by going to File -> Open... and selecting the directory (probably called crashcourse).
To run each module, you can either click the green "play" icon that appears in the editor margin when you open the file, or you can select the module from the dropdown menu in the top-right of IntelliJ and click the green "play" icon there.
Throughout the modules there are occasional questions and exercises. Often these can be answered through a little experimentation or by reading the Java documentation for a class/method. Don't forget IntelliJ can show the documentation by pressing Ctrl-Q (or Ctrl-J on a Mac, I believe).