The 2nd part of the 6th lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
The 1-st lecture from the course "Java Core".
Chair of Information Net Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
The 3rd part of the 6th lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
The 2-nd lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
The 1st part of the 3rd lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
The 2nd part of the 6th lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
The 1-st lecture from the course "Java Core".
Chair of Information Net Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
The 3rd part of the 6th lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
The 2-nd lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
The 1st part of the 3rd lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
The 3rd part of the 3rd lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
There are hundreds of JVM parameters and options out there. Here we are going to take a closer look at the internal structure of HotSpot VM while over-viewing memory spaces and different types of Garbage Collectors.
Netpeak Group продолжает серию образовательных мероприятий — #NetpeakTalks в Одессе.
В рамках этих встреч у тебя будет возможность обсудить с практикующим спикером наболевшие темы, связанные с R&D, дизайном, менеджментом, интернет-маркетингом, QA, Customer Success, аналитикой и др. (все темы от встречи к встрече не повторяются и отличаются друг от друга).
Тема#3: Масштабируемое приложение на PHP
Краткий план:
1. Теория принципов и паттернов проектирования.
2. Примеры использования принципов и паттернов в коде (разберём какие "плюшки" даёт каждый случай).
3. Важность слабосвязанного кода (IoC).
4. Как "под капотом" работают IOC контейнера.
_____________________
Информацию об этом и следующих мероприятиях ты можешь отследить:
FaceBook: https://www.facebook.com/NetpeakTalks/
Телеграм: https://t.me/netpeaktalks
__________
Плейлист с выступлениями на YouTube: https://www.youtube.com/playlist?list=PL8LIMl0TjrcDtSS_lM5jqH-huK5FCq44A
__________
The 3rd part of the 3rd lecture from the course "Java Core".
The Department of Information and Network Technologies.
St-Petersburg State University Of Aerospace Instrumentation.
Russia
There are hundreds of JVM parameters and options out there. Here we are going to take a closer look at the internal structure of HotSpot VM while over-viewing memory spaces and different types of Garbage Collectors.
Netpeak Group продолжает серию образовательных мероприятий — #NetpeakTalks в Одессе.
В рамках этих встреч у тебя будет возможность обсудить с практикующим спикером наболевшие темы, связанные с R&D, дизайном, менеджментом, интернет-маркетингом, QA, Customer Success, аналитикой и др. (все темы от встречи к встрече не повторяются и отличаются друг от друга).
Тема#3: Масштабируемое приложение на PHP
Краткий план:
1. Теория принципов и паттернов проектирования.
2. Примеры использования принципов и паттернов в коде (разберём какие "плюшки" даёт каждый случай).
3. Важность слабосвязанного кода (IoC).
4. Как "под капотом" работают IOC контейнера.
_____________________
Информацию об этом и следующих мероприятиях ты можешь отследить:
FaceBook: https://www.facebook.com/NetpeakTalks/
Телеграм: https://t.me/netpeaktalks
__________
Плейлист с выступлениями на YouTube: https://www.youtube.com/playlist?list=PL8LIMl0TjrcDtSS_lM5jqH-huK5FCq44A
__________
В презентации рассказывается о структурах памяти в JVM: Heap, Non-Heap, Stack, об атомарности операций и о garbage collector. Рассмотрен пример, как работает стек. Также, приведены примеры, как использовать jVisualVM и что она может показать.
2. • Java Programming Language
– переменные примитивных типов
int , char, double
– переменные объектных типов (ссылки!)
Integer, System, MyClass
– нет адресов, Сборщик Мусора
– JavaDoc
• Java Platform
– Java Virtual Machine
– Java SE, Java EE
– JRE, JDK
3. Объекты – ключевое понятие
объектно-ориентированных технологий
оглядитесь: мы живём в мире взаимодействующих объектов!
Каждый объект характеризуется состоянием и
поведением
4. Программные объекты
• Объекты в программных системах – аналоги объектов в
реальном мире
• Состояние хранится в полях
• Поведение доступно через методы
• Методы изменяют состояние объекта
Сокрытие внутреннего состояния объекта от посторонних глаз
называется инкапсуляцией. Единственный способ изменить
это состояние – вызвать метод объекта.
5. Программные объекты
Состояние:
• Скорость движения
• Скорость вращения колёс
• Конфигурация шестерней
Поведение:
• Переключить передачи
• Затормозить
• Изменить темп
9. Классы и объекты в Java
• Каждому public классу – свой файл
• Поля и методы могут чередоваться
• Реализация метода не отделяется от объявления метода
10. Классы и объекты в Java
Квалификаторы доступа в Java:
• public – доступ имеют все
• private – доступ имеют только объекты данного класса
• protected – доступ имеют объекты данного класса, все
объекты классов-потомков и все классы из данного пакета
По умолчанию – package protected, то есть все классы из данного
пакета имеют доступ
11. Классы и объекты в Java
• Модификатор доступа помещается перед каждым членом
класса (не перед группой)
• Все поля класса стоит помечать как private или protected
• Хотя бы некоторые методы стоит помечать как public
Вообще, рекомендуется скрывать данные, и предоставлять
методы для изменения состояния (как и в реальном мире)
12. Static Members
• Члены объекта (Instance Members)
– Принадлежат экземпляру класса (поля и методы в обычном
понимании)
• Члены класса (Class Members)
– Принадлежат классу (могут быть использованы и без экземпляра
класса)
– Внутри статических методов нельзя обращаться к нестатическим
членам
14. Венгерская Нотация
• Использовалась в BCPL
• Префикс указывает на тип данных
• Была действительно нужна, поскольку в языке был только один
тип данных
• Сегодня осталось только как рудимент в WinAPI (всякие
szClassName).
• В языках программирования с динамической типизацией
(Python, JavaScript, PHP) практически не используется
15. Правила именования
• Классы: CamelCase
• Поля класса, методы: camelCase
• Константы: ALL_CAPITALS_WITH_UNDERSCORES
• Локальные переменные: camelCase
Код должен соответствовать Code Conventions for the Java
Programming Language
16. Организация пространств имён
• Аналог пространства имён в Java – пакет (package)
• Пакеты имеют иерархическую структуру
• Обычно именуются маленькими буквами
• Одному пакету соответствует одна директория в файловой
системе
18. Упаковка приложений
• Форма распространения java-приложений – JAR-архив
• Идеологически – набор кода и данных, которые нужны
приложению для работы
• Технически – zip-архив с байт-кодом, ресурсами и метаданными
(манифестом)
Запуск приложения:
$ java -jar my-app.jar