The concept of an interface. Interface properties.
Application of interfaces for system design. Callback and Delegate patterns.
Cloning objects
The global superclass Object and its methods.
Deep and shallow copying of objects. The cloneable interface.
Initialization of objects with a variable number of attributes. Pattern Builder.
Working with files
java.io package. File class. Working with files and directories. Reading data from a file and writing data to a file. The FileReader, FileWriter, BufferedReader, and BufferedWriter classes.
Exceptions that occur when accessing files.
Interfaces FileFilter, FilenameFilter.
Serialization of objects
Applications of serialization. Serializable and Externalizable interfaces.
Generic Programming (Generics)
The concept and purpose of generic programming. Generic class. An instance of a generic type. Generic methods. Limitations of generalizations. Inheritance of generic types.
Annotations in Java
Using inline annotations. Create your own annotations.
Working with databases
Bases of work with databases. The concept and purpose of databases (DB) and database management systems (DBMS). The most used DBMS. Relational databases. Basic concepts of database theory. Database design. Types of data stored in the database. normal forms. Ensuring data integrity.
Basics of Structured Query Language SQL. Purpose and use of SQL. Creating a database (CREATE statement). Data modification (INSERT and UPDATE statements). Data selection (SELECT statement). Selection from several tables. Selection with a condition (WHERE clause). Sorting data (ORDER BY operator). Grouping data (GROUP BY operator).
Join requests, union, subtraction of tables.
java.sql package. Establishing a database connection. The Connection, Statement, and ResultSet classes.
DAO design pattern. Working with databases using ORM technology.
Collections
Collection classes. collection interfaces. Collection interface. Iterator and Iterable interfaces.
The concept of a multithreaded application. Thread class. Runnable interface and features of its implementation. Thread priorities. join() methods. Interrupting a thread. Thread synchronization. Synchronized methods. The concept of a monitor. The synchronized keyword and its forms.
Callable interface. blocking queues.
Artifacts of the java.util.concurrent package: Semaphore, CountDownLatch, Executor, Barrier, Exchanger.
Atomic variables.
Hibernate Framework
JPA specification.
Basics of using Hibernate.
Essences, inheritance.
Entity relationships.
JPA Query Language.
Caching in Hibernate.
Dependency Injection Basics
SOLID principles.
Java reflection.
Dependency injection.
Spring framework basics
Spring IoC container and dependency injection.
An overview of how to configure a Spring application.
Spring MVC.
Spring + Hibernate.
Spring framework projects
Spring Boot.
Spring Data.
Basics of NoSQL and in-memory databases
Working with Redis database.
Assistive technology for projects
Logging. Log4j2.
Testing. Mocks.
Documentation. Swagger, Spring.RestDocs.
Web services
Creating a REST style web service.
Using HATEOAS technology.
Create a WSDL-SOAP web service. Spring Rest project.
Creation of clients to web services.
Sign up
Please fill out the form. Our managers will contact you shortly.