Java Developer — один из самых перспективных языков программирования, применяется почти во всех отраслях. С помощью Java можно создать практически все — от мобильного приложения до автопилота автомобиля. Именно поэтому джависты разного уровня так нужны, сегодня спрос превышает предложение.
Учебная программа составлена в соответствии с требованиями ведущих IT-компаний и отвечает требованиям современного рынка к специалистам уровня Junior Java Developer
Все тренера академии — успешные практики уровня Middle или Senior, которые имеют богатый и интересный опыт. Все тренера прошли обучение и сертификацию Main Academy.
Студенты курса имеют возможность улучшить свой технический английский и посещать курсы английского и Speaking Club в течение всего периода обучения.
По окончании курса все студенты проходят карьерный тренинг: тренируются проходить собеседование, учатся презентовать себя и свои soft и hard скиллы, составлять конкурентное резюме.
Вы научитесь
- Применять полученные знания, включая объектно-ориентированное программирование и популярные инструменты разработки
- Создавать программы с современным графическим интерфейсом с помощью JavaFX и Java Core
- Разрабатывать веб приложения и работать с базами данных, писать SQL запросы
- Создавать архитектуру приложений с помощью языка UML
- Применять лучшие библиотеки и фреймворков: Spring, Hibernate, Servlets, JSP, Maven, JUnit, Log4j, JavaFX
- Глубокое погружение в Java Core и Java SE обеспечит всеми необходимыми навыками для успешной
сдачи официального теста Java SE 8 Programmer I (1Z0-808)
Программа курса
Базовые принципы и конструкции JAVA
Начало программирования на Java
- Спецификация Java
- Кросс-платформенная разработка
- Виртуальные машины
- Обзор IDE
- Создание первой консольной программы
- Создание Java-приложений с помощью JDK Tools
Типы данных в Java
- Разберем все примитивные типы данных (знаковые, беззнаковые, бинарные, целочисленные, строковые и т.д.) в Java
- Переменные и идентификаторы
- Логические и арифметические операторы для работы с данными
- Рассмотрим инкремент и декремент
- Рассмотрим Bit Shift и Bitwise Operators и многое другое
Управляющие конструкции Java:
- Условные переходы if-then и if-then-else
- Циклы while, do-while и for
- Конструкция switch
- Использование goto, break, continue, exit program
Массивы и основные операции над массивами
- Одномерные и многомерные массивы.
- Длина массива
- Работа с массивами и элементом массива
- Изменение величины массива
- The Arrays Class
- Операции над массивами: копирование, equal check, поиск, сортировка
Основы объектно-ориентироавнного программирования в JAVA
Работа с классами и объектами
- Обзор: Class Declarations. Class Fields and Methods
- Модификаторы доступа
- Encapsulation
- Создание объектов
- Использование null и this
Объявление методов и работа с ними
- Methods Declaration
- Passing Arguments to a Method
- Methods with Variable Arguments
- Overloading Methods
- final Modifier for Method Arguments
Конструкторы в классах
- Объявление конструкторов
- Конструкторы по умолчанию
- Перезагрузка конструкторов
- Вызовы конструкторов
Статические элементы в Java, использование полей и методов
- The static Keyword
- The static Fields
- The static final Fields
- The static Methods
- The static Methods Restrictions
- Using static Fields and Methods
Секции инициализации
- Class Fields Initialization
- Non-static Initialization Block
- Static Initialization Block
- Order of Initialization Block Execution
- Initialization of final Variable
Работа с пакетами, правильная сборка jar
- The Package
- Package Import
- Adding Class to Package
- Static Import
- Package Organization
- The jar Utility
- Executable jars
Суть наследования и полиморфизма
- The Inheritance
- Inheritance and «is-a» Relationship
- Method Overriding
- Fields hiding
- Class Object
- Object Methods: toString(), equals(), hashCode(), e.t.c.
- The «super» Keyword
- Covariant Return Types
- Constructors Chaining
- Initialization Order and Inheritance
- Polymorphism. Early Binding & Late Binding
- Type Cast and Conversion
- The instanceof Keyword
- Objects Cloning
- final Class and final Methods
- The protected Access Modifier
Абстрактные классы и интерфейсы
- Abstract Classes
- Abstract Methods
- Interfaces
- Interfaces and Multiple Inheritance
- Interface Comparable and Comparator
Работа со строками используя классы, ввод/вывод
- The String Class
- Operations with Strings
- Immutable String in Java
- The StringBuilder and StringBuffer
- String Pool in Java
- The StringTokenizer Class
- The Regular Expressions in Java
- The Scanner Class
Продвинутое объектно-ориентированное программирование в JAVA, работа с классами
Суть Wrapper классов (классы обертки) для примитивных типов
- Wrapper Classes
- Autoboxing and Unboxing
- Wrapper Classes are Immutable
- Caching Integer Objects
Exceptions, иерархия исключений в Java, утверждения
- The Exceptions. Java Exceptions hierarchy
- Checked and Unchecked Exceptions
- The try-catch-finally Block
- Multiple catch Blocks
- The throw and throws Keywords
- Call Stack and Exception Propagation
- Rules of Exceptions in Method Overriding
- Creating Exception Classes
- Assertions
Nested (вложенные) классы, вложенные классы и JVM, Nested классы и множественное наследование
- The Nested Classes Classification
- Creating Instances of Static and Non-static Nested Classes
- Inner Class Access to Outer Class Fields and Methods
- The Nested Classes and JVM
- Local Inner Classes
- Anonymous Inner Classes
- Using Anonymous Class for Array Sorting. Interface Comparator
- Inner Classes and Multiple Inheritance
Перечисления и операции с ними
- The Enums and Operations with it
- Enum as Type. Enums Methods Overriding
- Enums Restrictions
Суть Generics (Обобщенное программирование), использование Wildcards, extends and super
- The Generics
- Declaring and Using Generic Types
- Declaring and Using Generic Methods
- Bounded Type Parameters
- Generics and JVM
- Generic Arguments in Methods
- Restrictions on Generics
- Generic and Inheritance
- Wildcards, extends and super Keywords
Коллекции, отображения и итераторы
- Java Collection Framework. Interfaces
- The Collection Interface
- The Iterators
- The List Interface
- The Queue and Deque Interfaces
- The Set Interface
- The Map Interface
- The Collections Class
Суть разрешения перегрузки, понятия Cast и Boxing-Unboxing и Varargs
- The Overload Resolution
- The Overload Resolution: Type or Class
- The Overload Resolution: Type Cast or Boxing-Unboxing
- The Overload Resolution and Varargs
- Examples of Overload Resolution
Профессиональное программирование на Java: многопоточность, БД, паттерны, MVC, networking
Многопоточное (параллельное) программирование, параллельные коллекции и фреймворк Fork-Join
- Introduction to Concurrent Programming
- Creating Threads
- Important Methods in the Thread Class
- The States of a Thread
- The Thread Scheduler. Thread Priority
- Thread Interruption. The interrupt() Method
- Threads Pool
- The Daemon Threads
- Thread Synchronization
- The volatile Keyword
- Synchronized Blocks
- Synchronized Methods
- The ReentrantLock Class
- Atomic Variables
- The Wait/Notify Mechanism
- Deadlocks
- Semaphore
- CountDownLatch
- Concurrent Collections
- The Fork-Join Framework
Основные сервисные классы Java Core
- The Math Class
- BigInteger and BigDecimal Classes
- Random Numbers
- The System Class
- The Properties Class
- Creating a Locale
- Date and Time
- Numbers and Currencies
- The Runtime Class
MVC архитектура, шаблоны (patterns) проектирования
- Object-Oriented Concepts
- Is-a Relationship and Has-a Relationship
- Inheritance, Aggregation, Composition and Association
- Key Indicators of Code Quality: Coupling, Cohesion
- JavaBeans Conventions
- Design Patterns
- Singleton, Builder, Strategy, Decorator, Observer, Factory Patterns
- MVC
Потоки ввода-вывода и работа с файлами
- The Сoncept of Input-Output Streams
- Byte Streams and Character Streams
- The main I/O Stream Classes
- The RandomAccessFile Class
- Principles of Handling IO Errors
- A try-catch with Resources
- The «File» Class. File Operations
Понятие сериализации, сериализация сложных объектов, интерфейс Externizable
- Java — Serialization
- Serializing an Object
- The transient Modifier
- Complex Objects Serialization
- Serialization with Inheritance
- Custom Serialization in Java
- Java Externalizable Interface
Основы баз данных, понятие об SQL и подключение используя JDBC коннектор
- An Introduction to Relational Data Bases
- An Introduction to SQL
- The CRUD Operations
- The JDBC
- The DriverManager and Connection
- The ResultSet
- PreparedStatement
- The Database MetaData
- The DatabaseTransactions
- Connecting to a database project in IntelliJ IDEA
Основы создания GUI интерфейса на Java
- An Introduction to Swing
- Swing — Controls
- Event Handling
- Layout Managers
- Creation and Use Menu
- Dialog Windows. Standard and Custom
Загрузка классов, основные возможности Reflection, динамический вызов методов
- Loading Classes
- Class Loaders In Java
- Class Loaders Runtime Hierarchy
- The Java Reflection
- The «Class» Class
- Retrieving Class Objects
- Discovering Class Members
- Dynamic invocation of methods
- Using Java Reflection for Access to Private Members
Понятие аннотации, @Override
- Annotations Basics
- Annotation Types Used by the Java SE
- Custom Annotations in Java
Отличия В JAVA SE 8 и JAVA SE 9
- Lambda выражения
- Функциональные интерфейсы
- Различия в методах
- Потоки
- Новые типы данный
- Статические методы
JAVA – NETWORKING и прокси-классы
- Основы TCP/IP Networking
- Сокеты Java и Server Socket’s
- Основы UDP Networking и использование UDP DatagramSocket
- Работа с URLConnection и InetAddress
- Класс Proxy, типичные использования прокси-объектов
Профессиональная разработка программного обеспечения на JAVA
Жизненный цикл разработки ПО, инструменты сборки java. Основы Maven
- The Software Development Life Cycle
- Java Build Tools, Maven Essentials
Приемы тестирования. Основы работы JUnit 4, Создание тестовых заданий в JUnit
- The Unit Testing, JUnit Essentials
- Basic Annotation Supported in JUnit 4
- Assert Statements Supported in JUnit 4
- Creating a JUnit Tests
Работа с распределённой системой управления версиями Git
- Creating GitHub repository
- Committing your changes
- Reverting
- Pushing to a remote repository
- Pulling from a remote repository
- Resolving Conflicts
- Branches
Фундаментальные принципы Garbage Collection (сборки мусора)
- Java Garbage Collection Basics
- Eligible Objects for Garbage Collection
- Object Finalization
- The Resurrected Objects
- The Weak Reference
Уровни защиты в Java, Security Manager и модель песочницы
- Basic Security Architecture
- Security Manager
- The Java Sandbox
Выполнение персонального учебного проекта
Работа над практическим заданием по созданию индивидуального проекта.
- Обработка ТЗ
- Консультации по проекту (2 ч.)
- Самостоятельная работа над проектом под руководством тренера (24 ч.)
Защита своего учебного проекта
- Защита происходит в аудитории, перед независимым экспертом практиком, из наших компаний партнеров
- Защита будет напоминать ваше первое техническое собеседование, которое позволит показать ваше мастерство
- Вы получите развернутый фитбек о своей работе, а также узнаете в каком направлении вам еще нужно прокачать скилы
Junior Java Developer - 8 шагов к цели
-
1Записаться на курс
-
3Выполнить практические, лабораторные, домашние
-
5Отработать занятия по HR
-
7Защить проект и сдать тесты
-
2Изучить теорию
-
4Подготовить финальный проект
-
6Посещать IТ-English и Speaking Club
-
8Junior Java Developer!
Формы обучения и стоимость
- Самостоятельное обучение в личном кабинете
- Занятия онлайн в удобное для вас время
- Доступ ко всем видео урокам: лекции, практические, проекты, Q&A
- Доступ ко всем материалам в LMS: видео, презентации, тесты, практические
- Сертификат по окончании курса
- Стоимость: 3900 грн
- Обучение с инструктором в группах по ZOOM согласно расписанию
- Доступ ко всем видео урокам: лекции, практические, проекты, Q&A
- Доступ ко всем материалам в LMS: видео, презентации, тесты, практические
- Живое общение с инструктором в ZOOM и Telegram, проверка практических
- Сертификат по окончании курса
- Стоимость: 22000 грн
Курс: Разработка на Java
Занятия с инструктором
С нуля до уровня IT-специалиста и любимой работы
Занятия в аудиториях или онлайн с лучшими инструкторами
5 мес, 39 занятий, 96 часов теории и практики с IT-экспертами
Лабораторные работы, индивидуальные и групповые проекты
Английский в подарок для трудоустройства и работы
Финальный экзамен, защита проекта – и Вы сертифицированный IT – специалист!
Команда курса по Java
Евгений Лазарев
Java Software Engineer ~ 4 года
- бакалавр по специализации Атомные электрические станции (КПИ им. Игоря Сикорского)
- без месяца магистр по специализации теплоэнергетика (КПИ им. Игоря Сикорского)основные навыки:
- Java, Spring Framework
- DB (PostgreSQL)
- VCS (git)
- OOP, Design Patterns
дополнительные навыки:
- Javascript (React.js), Redux
- Dart, Flutter
Сергей Цапенко
Senior Java Developer
7 лет коммерческой разработки на Java
- Языки: Java, TypeScript/JavaScript (basics)
- APIs: Spring Boot, Spring Cloud, Spring Security, Spring Data Repositories, Spring Web MVC, Spring WebFlux, Apache Ignite, REST Architechture, Microservices, SOAP, JAX-WS, Swing, JavaFX, JDBC, Hibernate, Junit, Angular4+, RxJS
- Базы данных: MongoDB with blocking and reactive drivers, MySQL, H2, Java DB, Oracle
- Application Servers: Reactive Netty, Tomcat, GlassFish, Programmer-Developed Server
- XML Group та CSS: FXML, HTML, WSDL, CSS
- Инструмнты: NetBeans, IntelliJ IDEA, Eclipse, Gradle, Maven, Git
Получил степень магистра по специальности “Электротехника” в НТУУ “КПИ”. Окончил аспирантуру в НАН Украины, где защитил диссертацию на тему “Применение вычислительной техники, математических моделей и методов в научных исследованиях”. Получил сертификат Oracle Java SE7 Programmer I. Сейчас работает в Software Systems.
Александр Игнатенко
Java Developer
Более 9 лет в разработке
-
Программы: Eclipse, IntelliJ IDEA, NetBeans, DB Utils, GitHub, PhotoShop, 3D Max, ArchiCAD
-
Языки программирования и фреймворки: Java (Java SE, Java EE, Spring, Hibernate, Maven, Gradle, Tomcat, Jetty, JUnit, Selenium, web-services etc), Groovy, Scala (base level), XML, HTML, CSS, JavaScript(base level)
-
Базы данных: PostgreSQL, IBM DB2, Oracle 12c, MySQL, H2, MongoDB(NoSQL). Інше: Docker, Jenkins
-
Способность разработки Здатність розробки структур данных и алгоритмов, знание об даних та алгоритмів, знания объектно-ориентированного и процедурного программирования.
Станислав Шумейко
Java Software Engineer
20 лет в ІТ
- Профессионально владеет Spring Framework (Core, Web, Data, JPA, REST), JPA, Hibernate, JDBC, MySQL, PostgreSQL, JAX-RS, Tomcat, JMS, Lombok, JUnit, Mockito.
- IntelliJ IDEA, Jira, Team City, Maven, Confluence, Bitbucket, Mercurial, GitLab, GitHub.
- Windows, Linux platforms, Virtualization.
- Успешный бэкграунд с Java, используя объектно-ориентированную методологию и передовые инструменты, системный анализ, QA, техническую поддержку и поиск неисправностей.
Работал в SMART business, Frayman Group, Infrascale. Сейчас работает в Intellias на должности Senior Java Software Engineer. Основное направление продукта – биллинговая система в телеком-проекте, основанная на микросервисной архитектуре.
“Мне нравится делиться знаниями: был опыт менторства нескольких групп по программированию, с некоторыми студентами до сих пор поддерживаю контакт. Толерантен ко многим жизненным моментам и человеческим качествам. Как разработчик постоянно развиваюсь, посещаю профильные конференции, а преподавание – одна из ступеней развития в данной области. Уверен, мой огромнейший опыт в IT очень поможет начинающим программистам”.
Сергей Гусар
Разработчик Java
11 лет в ІТ, 7 лет работы с Java
-
JAVA 8
-
Groovy, Junit, SQL, PL/SQL, HTTPS, XML, XSD, JDBC, SSL, WSDL, SOAP, SSL/TLS
-
Front-end (HTML, CSS, Bootstrap, Thymeleaf), Back-end (Spring, Hibernate)
-
Разработка и поддержка систем интеграции для телекоммуникационных компаний.
-
Разработка систем интернет-банкинга на основе IBM Integration Bus.
-
Опыт разработки приложений IIBus с использованием узлов: HttpInput, HttpReply, HttpRequest, Computer, JavaCompute, Router, Trace
-
Настройка взаимодействий веб-клиента с IIBus по протоколу HTTPS (настройка хранилища сертификатов, безопасности узлов интеграции)
-
Настройка JDBC, ODBC, UserDefied служб.
-
Обработка и генерация XML документов.
-
Взаимодействие с MBMessage, GlobalEnvaronment, LocalEnvaronment
Работал в Надра Банк, Integrity Vision, Альфа-Банк. Получил степень магистра по автоматическим системам в НТУУ «КПИ». Имеет сертификат тестировщика ПО от GlobalLogic.
Карьерный сервис
После окончания курса, с полученными знаниями и навыками, вы сможете претендовать на позицию Junior Java Developer
Учим грамотному позиционированию на рынке труда. Правильно писать резюме и сопроводительные письма. Успешно проходить интервью
Мы постоянно получаем от наших партнеров запросы на работу в ИТ-компаниях. Лучших студентов рекомендуем нашим партнерам на работу и стажировку.
Отзывы об обучении в Main Academy
Пробный урок
Junior Java Developer
Еще не готовы приступить к обучению или остались сомнения?
Приходите на пробное занятие и протестируйте курс бесплатно!
- Вы познакомитесь с инструктором курса, технологиями и спецификой работы в IT
- Узнаете, как проходит обучение на курсах Main: программа, расписание, создание первого портфолио и условия сертификации
- Поймете за 2.5 часа, подходит ли вам данное направление и как далее развиваться в IT