Введение в программирование
Введение
https://kgeorgiy.info/courses/prog-intro/
Copyright © Георгий Корнеев
Структура курса
Содержание
Структура курса
Концепции Java
Hello World
Заключение
Лекторы
M3136-39, 41, 42
Корнеев Георгий Александрович
kgeorgiy@kgeorgiy.info
M3132−35
Ведерников Николай Викторович
VedernikovNV@gmail.com
Структура
Лекции
Домашние задания
Практика
Зачет
Досрочная сдача
Практика и баллы
Версии
Простая
M3132−35
Сложная
M3136−39, 41, 42
Модификации
Сохраняйте оба кода
Задержка
Не более 3 недель
Минусы
Не горят
Бонусы
Первому сдавшему преподавателю
Нашедшим ошибки и опечатки
Почему Java?
Почему Java?
Простой
Ноги целее будут
Широкий спектр применения
Сервера
Десктоп
Мобилки
Смарт-карты
Домашние задания
По другим предметам
C++ будет, базовый Python — сами
Концепции Java
Содержание
Структура курса
Концепции Java
Платформа
Идеология
Hello World
Заключение
Платформа
Содержание
Структура курса
Концепции Java
Платформа
Идеология
Hello World
Заключение
Состав платформы
Компилятор Java
The Java Language Specification
(JLS)
Виртуальная машина Java (JVM)
The Java Virtual Machine Specification
Стандартная библиотека
Соответствует версии платформы
Редакции Java-платформы
Standard Edition
Для обычных приложений
Enterprise Edition
Для серверных приложений
Micro Edition
Для мобильных приложений
То, что мертво, умереть не может
Java Card
SIM- и смарт-карты
Версии Java (1)
JDK 1.0
(январь 1996)
J2SE 1.2
(декабрь 1998)
Collections Framework
J2SE 5.0
(сентябрь 2004)
Generics
Java SE 8
(март 2014)
Streams и lambdas
Java SE 9
(сентябрь 2017)
Модули
Java SE 10
(март 2018)
var
Версии Java (2)
Java 11
(сентябрь 2018)
jshell
Java 17 [LTS-old]
(сентябрь 2021)
Предыдущая стабильная версия
Многочисленные мелкие изменения
Java 21 [LTS]
(сентябрь 2023)
Текущая стабильная версия
Java 22
(март 2024)
Текущая версия
Java 23
(сентябрь 2024)
Следующая версия
JDK и JRE
Набор инструментов разработчика
Java Development Kit (JDK)
JVM и инструменты для запуска
Java Runtime Environment (JRE)
Примеры JVM
HotSpot
/
OpenJDK
Eclipse OpenJ9
Azul Zulu
/
Zing
Excelsior JET
Идеология
Содержание
Структура курса
Концепции Java
Платформа
Идеология
Hello World
Заключение
Байт-код и виртуальная машина
Что такое виртуальная машина
Что такое байт-код
Write once run anywhere
Преимущества и недостатки
JIT-компиляция
Сборка мусора
Что такое сборка мусора
Невозможность в
C
/
C++
/
Pascal
Подсчет ссылок
Почему не работает
Обход графа ссылок
Реализовано в JVM и CLR (.NET)
Что еще
Простота языка
Надежность и безопасность
Многоязычность (Unicode)
Многопоточность
Обратная совместимость
Оформление кода
Максимальная ширина: 120 символов
Отступы обязательны
Четыре пробела
Фигурные скобки
Открывающая – на той же строке
Закрывающая – на отдельной строке
Соглашения об именованиях
Naming Conventions for Java Programming Language|https://google.github.io/styleguide/javaguide.html#s5-naming
TypeNamingConvention
methodNamingConvention()
fieldNamingConvention
variableNamingConvention
CONSTANT_NAMING_CONVENTION
Hello World
Содержание
Структура курса
Концепции Java
Hello World
Заключение
Заключение
Содержание
Структура курса
Концепции Java
Hello World
Заключение
Основная документация
Основной сайт
по Java
Java Language and VM Specifications
Java Platform Documentation:
Java 17
Java 21
Java 22
Code Conventions
for the Java Programming Language
Литература
Англоязычная
The Java Tutorials
Baeldung
Get Started with Java
Русскоязычная
Шилдт Г.
Java. Полное руководство
12 издание, Java 17
Шилдт Г.
Java. Руководство для начинающих
9 издание, Java 17
Эккель Б.
Философия Java
4 издание
Вопросы
???