Skip to content

cranes-mentoring/java-warmup-course

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Java Warmup Course for AQA Team

Version 2.0.0 (Last Update 03.10.2024)

Level: Junior - Middle.

Welcome to the Java warmup course designed for the AQA team. This series of lessons aims to provide a comprehensive understanding of Java fundamentals and advanced topics. Each lesson comes with classwork, relevant articles, and homework assignments. Let's dive in!

Lesson 1

Code: Lesson 1 Code

Description:

In this lesson, we cover essential Java concepts such as classes, object-oriented programming (OOP), lambdas, streams, and the 'case' keyword. We'll also explore threads and touch upon the importance of the 'equals' method, along with hints for interviews.

Class Work:

Read the article

Topics:

  1. Classes and OOP
  2. Lambdas and Streams
  3. Case keyword
  4. Threads
  5. Equals and interview hints

Homework:

  1. Create your class and implement equals.
  2. Run a thread as a lambda.

Lesson 2

Code: Lesson 2 Code

Description:

Building upon OOP concepts, this lesson delves into SOLID principles and compositions. We'll discuss how to structure classes effectively and create a sample class (e.g., Car) to demonstrate OOP and SOLID principles.

Class Work:

Read the article

Topics:

  1. OOP
  2. SOLID principles
  3. Compositions

Homework:

Create your class and implement OOP and SOLID principles around it.

Lesson 3

Code: Lesson 3 Code

Description:

Generics are a powerful feature in Java, allowing you to write flexible and reusable code. In this lesson, we explore the fundamentals of generics and how to use them effectively.

Class Work:

Read the article

Topics:

  1. Generics

Homework:

  1. Create your generics class for a Numbers class.
  2. Create your class for a Car class.

Lesson 4

Code: Lesson 4 Code

Description:

Understanding the Java Virtual Machine (JVM) and Garbage Collection (GC) is crucial for writing efficient Java applications. This lesson provides insights into these key components.

Class Work:

Read the article

Topics:

  1. JVM
  2. GC

Homework:

Read articles about JVM and GC:

Lesson 5

Code: Lesson 5 Code

Description:

Threads are fundamental to concurrent programming. This lesson covers threads vs. processes, running threads, features, Executors API, locks, and atomics.

Class Work:

Read the article

Topics:

  1. Threads vs. Process
  2. Run Thread
  3. Feature
  4. Executors API
  5. Locks
  6. Atomics

Homework:

  1. Run 100,000 threads inside an executor, incrementing an atomic integer in each thread.
  2. Save your class to thread local and share it.

Lesson 6

Code: Lesson 6 Code

Description:

Build tools are essential for project management. This lesson covers popular build tools such as Maven and Gradle.

Class Work:

Read the article

Topics:

  1. Maven
  2. Gradle

Homework:

Save your project as a JAR file.

Lesson 7

Code: Lesson 7 Code

Topics:

  1. Unit tests
  2. TestNG and Mockk

Homework:

Add tests for your Car class (or your own).

Lesson 8

Code: Lesson 8 Code

Description:

This extra lesson explores languages beyond Java that can be useful for a team. We touch upon Groovy (testing with Spock), Kotlin (using Mockk in a Kotlin environment), and Scala (Gatling load tests).

Class Work:

Read the article

Topics:

  1. Groovy (tested with Spock)
  2. Kotlin (using Mockk in Kotlin environment)
  3. Scala (Gatling load tests)

Homework:

Read more about these languages.


Conclusion:

Congratulations on completing the Java Warmup Course for AQA Team! We hope these lessons have provided a solid foundation and expanded your knowledge of Java and related tools. Keep coding and exploring new horizons in the vast world of programming!

Happy coding!

About

Fast review for Java dev or AQA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 94.2%
  • Scala 5.8%