/job4j

Primary LanguageJavaApache License 2.0Apache-2.0

Build Status codecov

Oleg Frolov Repository.

This repository presents the most interesting projects, that i developed in the learning process.

Chapter 001. Basic syntax.

  • Creating a repository.
  • Connecting the Maven project builder.
  • Adding a JavaDoc, JUnit, CheckStyle plugins.
  • Creating a calculator.
  • Work with arrays, matrix, cycles.
  • Using sorting.

Chapter 002. OOP.

  • A study of the OOP concepts:
  • Inheritance.
  • Polymorphism.
  • Abstraction.
  • Encapsulation.
  • Using templates.
  • Exceptions
  • Chess on JavaFX - implementation of the figures logic.
  • Tracker - to work with user's request program.

Chapter 003. Collections Lite.

  • List.
  • Set.
  • Map.
  • Tree.

Chapter 004. Stream API, Lambda.

  • Functional interfaces.
  • Lambda.
  • Stream API.
  • JDK 9, 11 improvements.
  • Tic Tac Toe game on JavaFX.

Chapter 005. Collections Pro.

  • Advanced study of the collections structure and algorithms.
  • Dijkstra's algorithm.
  • Floyd's cycle-finding algorithm.
  • Iterator.
  • Comparator.
  • Generics.
  • equals, hashCode.

Chapter 006. Input/Output.

  • I/O, NIO, NIO2.
  • Socket.
  • File system scanner.
  • Archiver.
  • Console chat.
  • Chat-bot.

Chapter 007. SQL, JDBC.

  • Vacancy parser using the main technologies from this chapter (job_parser module)
  • PostgreSQL, SQLite.
  • PostgreSQL integration to the Tracker from Chapter 002.
  • Create, Update, Insert.
  • Queries.
  • Join.
  • JDBC, XML, XSLT, Liquibase.
  • Jsoup, JAXB.
  • Quartz Scheduler.
  • Log4j.

Chapter 008. OOD, S.O.L.I.D.

  • Single Responsibility Principle.
  • Open Closed Principle.
  • Liskov Substitution Principle.
  • Interface Segregation Principle.
  • Dependency Inversion Principle.
  • Test Drive Development Principle.
  • Tic Tac Toe game using OOD design.

Chapter 009. Garbage Collector.

  • A study how work garbage collector.
  • Types of garbage collectors.
  • Profiling.
  • Soft References, cache.

Chapter 010. Multithreading. Concurrency.

  • Threads.
  • Java Memory Model.
  • Synchronized, volatile, monitor.
  • Producer Consumer Pattern (wait, notify, notifyAll).
  • java.util.concurrent:
    • Thread-safe collections.
    • Thread Pools.
    • Locks.
    • Atomic.

Chapter 011. Servlet & JSP.

  • Apache Tomcat.
  • HTTP.
  • Client-server application structure.
  • Web application architecture.
  • CRUD Servlet.

In progress:

  • JSP.
  • MVC with Servlet, JSP, JSTL.