CodeGym/Courses/Java Course

Java Course

The legendary Java course that has helped millions start programming. Master Java from scratch: from basic syntax to multithreading and working with collections. 4 major quests, 40+ levels, and over 1200 auto‑checked tasks. This course is so effective that recruiters often ask during interviews: "What’s your level on CodeGym?"
4.9
4400+ reviews
30k graduates launched IT careers
Learn More
  • Commands and the first program
  • Introduction to types and keyboard input
  • Conditional operators
  • Loops
  • Working in IntelliJ IDEA, Debugging
  • Arrays
  • Functions
  • Data types
  • Useful nuances
  • Working with strings
  • Objects
  • Classes and "static"
  • Collections, Generics
  • Collections, part 2
  • Exceptions
  • Input/Output streams
  • Working with time and date
  • Introduction to OOP
  • Lambda functions
  • Game‑like tasks on CodeGym
  • OOP basics: principles, inheritance, encapsulation
  • OOP basics: overloading, polymorphism, abstraction, interfaces
  • Interfaces: comparison with abstract classes, multiple inheritance
  • Type casting, instanceof, major task on interfaces
  • Method overloading, constructor call specifics
  • Introduction to threads: Thread, Runnable, start, join, interrupt, sleep
  • Advanced threads: synchronized, volatile, yield
  • Introduction to streams: InputStream/OutputStream, FileInputStream, FileOutputStream
  • Streams continued: Reader/Writer, FileReader/FileWriter
  • Serialization
  • Object basics: equals, hashCode, clone, wait, notify, toString()
  • Strings: mutable, immutable, format, StringTokenizer, StringBuilder, StringBuffer
  • Inner classes, examples with Map.Entry
  • Inner class implementation details
  • Creating and stopping threads: start, interrupt, sleep, yield
  • Exclusive access to shared data: synchronized, volatile
  • Deadlocks: wait, notify, notifyAll
  • ThreadGroup, ThreadLocal, Executor, ExecutorService, Callable, practical with Jsoup
  • Autoboxing and implementation features
  • Operators: numeric, logical, binary; practical with Swing
  • Working with files and archives
  • RMI and dynamic proxies, practical with Swing
  • JSON and JavaScript, practical with Guava, Apache Commons Collections, JUnit
  • Recursion, garbage collection, and Java reference types, logging
  • Version control systems: Git and SVN, Generics
  • Core patterns for web applications, advanced collections
  • Design patterns, utility classes (Arrays, Collections)
  • Development methodologies, Java annotations, exception hierarchy
  • Building your first web application with Tomcat and IntelliJ IDEA
  • URI, URL, REST services, creating a client‑server application
  • Course completed!
600+
Lectures
1200+
Tasks
20
Tests
And also:
  • Instant task verification
  • Virtual mentor
  • IDE plugin
  • WebIDE
  • Gamification
  • Motivational lectures