SlideShare a Scribd company logo
1 of 22
Курс по Java, 2016
Введение в Java как
технологию
Занятие 01
Курс по Java, 2016
• Дата выхода: 23 мая 1995 года (Oak)
• Изначальное предназначение: язык для
бытовых электронных устройств
• Версия 1.0: 26 августа 1996 года (Java)
• Итоговое предназначение: язык для
разработки клиентских и серверных
приложений
История Java
Курс по Java, 2016
• Синтаксис похож на С++ – несложно
изучить, если знаешь С/С++
• Автоматическая сборка мусора –
переменные уничтожаются, когда
больше не нужны
• Строгая статическая типизация –
контроль типов на этапе компиляции
Особенности языка
Курс по Java, 2016
• Компилируется в промежуточный
формат – байт-код
• Наличие интерфейсов – только
заголовки методов без реализации
• Есть возможность анализа и изменений
запущенного байт-кода во время работы
приложения – reflection
Особенности языка
Курс по Java, 2016
• Виртуальная машина (JVM) – можно
запускать код везде, где она есть
• JIT – компиляция в машинный код для
оптимизации производительности (идея
из Lisp и Smalltalk)
• HotSpot – реализация более
оптимизированная, чем трансляция
всего байт-кода
Особенности платформы
Курс по Java, 2016
• Есть возможность анализа параметров
запущенного приложения (JConsole,
JProfiler и др.)
• Реализации есть для большинства
операционных систем
• JVM-based – языки Scala, Clojure и
другие
• Несколько IDE, в том числе Intellij IDEA от
JetBrains (Россия, Чехия)
Особенности платформы
Курс по Java, 2016
• Большой набор готовых библиотек,
например, на Apache Software
Foundation
• Система репозиториев и
версионирования библиотек Apache
Maven
• Универсальный фреймворк для
серверных приложений Spring
Особенности платформы
Курс по Java, 2016
Все это позволяет Java уже много лет
оставаться одним из самых популярных
языков
Курс по Java, 2016
• Важные данные: финансовое и
медицинское ПО, документооборот
• Серверные компоненты для back-end
• СУБД – Cassandra, Hadoop и другие
• Смарт-карты и другие устройства с
малым объемом памяти
• Android и другие мобильные платформы
Где используется
Курс по Java, 2016
• Управление важными данными:
финансовое и медицинское ПО,
бухгалтерский и кадровый учет,
электронный документооборот
• Обработка больших объемов данных
• Криптография
• Встраиваемые приложения
Какие задачи решает
Курс по Java, 2016
Heap (куча) и non-heap (стек) память
состоят из 5 областей (memory pools,
memory spaces)
• Eden Space (heap)
• Survivor Space (heap)
• Tenured (Old) Generation (heap)
• Permanent Generation (non-heap)
• Code Cache (non-heap)
Организация памяти в JVM
Курс по Java, 2016
Основные алгоритмы работы GC:
• Serial GC
• Parallel GC
• CMS GC
• G1 GC
Сборка мусора (garbage collection)
Курс по Java, 2016
Serial GC
Курс по Java, 2016
Serial GC
Курс по Java, 2016
• -XX:PermSize – минимальный размер
PermGen
• -XX:MaxPermSize – максимальный
размер PermGen
• -Xms – минимальный размер Heap
• -Xmx – максимальный размер Heap
• -XX:NewRatio – размер old generation
кратно большим, чем размер new
generation
Конфигурация JVM
Курс по Java, 2016
• -XX:+PrintGCTimeStamps, -
XX:+PrintGCDetails и -Xloggc:gc.log JVM
печатает дополнительную информацию
о сборке мусора в файл gc.log
• -XX:+UseSerialGC
• -XX:+UseParallelGC
• -XX:+UseParalledlOldGC
• -XX:+UseConcMarkSweepGC
Конфигурация JVM
Курс по Java, 2016
sudo mkdir -p /usr/lib/jvm
sudo mv ./jdk1.8.XX /usr/lib/jvm/
sudo update-alternatives --install "/usr/bin/java" "java"
"/usr/lib/jvm/jdk1.8.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac"
"/usr/lib/jvm/jdk1.8.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws"
"/usr/lib/jvm/jdk1.8.0/bin/javaws" 1
Установка Java
Курс по Java, 2016
sudo chmod a+x /usr/bin/java
sudo chmod a+x /usr/bin/javac
sudo chmod a+x /usr/bin/javaws
sudo chown -R root:root /usr/lib/jvm/jdk1.8.0
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws
Установка Java
Курс по Java, 2016
Из того же каталога, где лежит файл:
javac myClass.java – компиляция
java myClass – запуск
java -cp myLib.jar – компиляция программы
с дополнительной библиотекой
Компиляция и запуск класса
Курс по Java, 2016
1. Установлена Java SDK 1.7.
2. Установлена Intellij IDEA, например,
Community Edition.
3. Запускается javac и java.
4. Написан HelloWorld.java,
откомпилирован в консоли и в IDE,
запущен в консоли и в IDE.
Что должно быть установлено
Курс по Java, 2016
Написать инвертирование заданного
целочисленного массива на Java. Должно
получиться 2 класса: тот, в котором
функция main, и тот, который инвертирует.
Крайний срок сдачи 22:00 19.03.2016 г.
Выполненные задания отправлять на
at@7bits.it
Домашнее задание
Курс по Java, 2016
Emails: at@7bits.it, ak@7bits.it
Skype: anna_tarasenko
Web: 7bits.ru
Вопросы?

More Related Content

What's hot

антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Serversrit2010
 
Maven 3 : уличная магия
Maven 3 : уличная магияMaven 3 : уличная магия
Maven 3 : уличная магияAleksey Solntsev
 
CodeFest 2012. Евтухович И. — Как мы делали Групон
CodeFest 2012. Евтухович И. — Как мы делали ГрупонCodeFest 2012. Евтухович И. — Как мы делали Групон
CodeFest 2012. Евтухович И. — Как мы делали ГрупонCodeFest
 
Основы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияОсновы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияbearoff
 
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Ontico
 
Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаYandex
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Ontico
 
Ivan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applicationsIvan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applicationsDrupalSib
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Ontico
 
JavaScript завтра
JavaScript завтраJavaScript завтра
JavaScript завтраSergey Rubanov
 
Prometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий ЛевченкоPrometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий ЛевченкоOntico
 
Konstantin slisenko - Spring Framework
Konstantin slisenko - Spring FrameworkKonstantin slisenko - Spring Framework
Konstantin slisenko - Spring Frameworkbeloslab
 
Введение в maven
Введение в mavenВведение в maven
Введение в mavenDmitry Zinushin
 
CodeFest 2010. Игумнов Е. — Особенности архитектуры веб-сервисов LAMP для выс...
CodeFest 2010. Игумнов Е. — Особенности архитектуры веб-сервисов LAMP для выс...CodeFest 2010. Игумнов Е. — Особенности архитектуры веб-сервисов LAMP для выс...
CodeFest 2010. Игумнов Е. — Особенности архитектуры веб-сервисов LAMP для выс...CodeFest
 
Алексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web WorkersАлексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web WorkersAleksey Fomkin
 
Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.Alexey Lesovsky
 
Sql server clr integration
Sql server clr integration Sql server clr integration
Sql server clr integration Alex Tumanoff
 
Инфраструктура распределенных приложений на Node.js
Инфраструктура распределенных приложений на Node.jsИнфраструктура распределенных приложений на Node.js
Инфраструктура распределенных приложений на Node.jsStanislav Gumeniuk
 

What's hot (20)

антон веснин Rails Application Servers
антон веснин Rails Application Serversантон веснин Rails Application Servers
антон веснин Rails Application Servers
 
Maven 3 : уличная магия
Maven 3 : уличная магияMaven 3 : уличная магия
Maven 3 : уличная магия
 
CodeFest 2012. Евтухович И. — Как мы делали Групон
CodeFest 2012. Евтухович И. — Как мы делали ГрупонCodeFest 2012. Евтухович И. — Как мы делали Групон
CodeFest 2012. Евтухович И. — Как мы делали Групон
 
Основы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрованияОсновы и нюансы параллельного тестрования
Основы и нюансы параллельного тестрования
 
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
 
Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проекта
 
JPHP
JPHPJPHP
JPHP
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)
 
Ivan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applicationsIvan Kotlyar. PostgreSQL in web applications
Ivan Kotlyar. PostgreSQL in web applications
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
 
JavaScript завтра
JavaScript завтраJavaScript завтра
JavaScript завтра
 
Крыша 2.0
Крыша 2.0Крыша 2.0
Крыша 2.0
 
Prometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий ЛевченкоPrometheus мониторинг микросервисных приложений / Виталий Левченко
Prometheus мониторинг микросервисных приложений / Виталий Левченко
 
Konstantin slisenko - Spring Framework
Konstantin slisenko - Spring FrameworkKonstantin slisenko - Spring Framework
Konstantin slisenko - Spring Framework
 
Введение в maven
Введение в mavenВведение в maven
Введение в maven
 
CodeFest 2010. Игумнов Е. — Особенности архитектуры веб-сервисов LAMP для выс...
CodeFest 2010. Игумнов Е. — Особенности архитектуры веб-сервисов LAMP для выс...CodeFest 2010. Игумнов Е. — Особенности архитектуры веб-сервисов LAMP для выс...
CodeFest 2010. Игумнов Е. — Особенности архитектуры веб-сервисов LAMP для выс...
 
Алексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web WorkersАлексей Фомкин, Практическое применение Web Workers
Алексей Фомкин, Практическое применение Web Workers
 
Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.Highload 2014. PostgreSQL: ups, DevOps.
Highload 2014. PostgreSQL: ups, DevOps.
 
Sql server clr integration
Sql server clr integration Sql server clr integration
Sql server clr integration
 
Инфраструктура распределенных приложений на Node.js
Инфраструктура распределенных приложений на Node.jsИнфраструктура распределенных приложений на Node.js
Инфраструктура распределенных приложений на Node.js
 

Viewers also liked

Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...7bits
 
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...7bits
 
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про GenericsКурс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics7bits
 
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.7bits
 
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключениякурс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения7bits
 
Курс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mockКурс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mock7bits
 
Курс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSPКурс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSP7bits
 
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS37bits
 
Стажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEMСтажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEM7bits
 
Стажировка-2015. Дизайн. Занятие 4 (2 часть). Цвет в web-дизайне
Стажировка-2015. Дизайн. Занятие 4 (2 часть). Цвет в web-дизайнеСтажировка-2015. Дизайн. Занятие 4 (2 часть). Цвет в web-дизайне
Стажировка-2015. Дизайн. Занятие 4 (2 часть). Цвет в web-дизайне7bits
 
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.7bits
 
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данныхСтажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных7bits
 
Стажировка-2014, занятие 2 (часть 2). Исключения и логи
Стажировка-2014, занятие 2 (часть 2). Исключения и логиСтажировка-2014, занятие 2 (часть 2). Исключения и логи
Стажировка-2014, занятие 2 (часть 2). Исключения и логи7bits
 
Спецкурс 2014, занятие 3. Абстракции, именование, документирование
Спецкурс 2014, занятие 3. Абстракции, именование, документированиеСпецкурс 2014, занятие 3. Абстракции, именование, документирование
Спецкурс 2014, занятие 3. Абстракции, именование, документирование7bits
 
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотестыСтажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты7bits
 
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документированиеСтажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование7bits
 
Стажировка-2014, занятие 11. MVP, метод прогрессивного JPEG, Story mapping, A...
Стажировка-2014, занятие 11. MVP, метод прогрессивного JPEG, Story mapping, A...Стажировка-2014, занятие 11. MVP, метод прогрессивного JPEG, Story mapping, A...
Стажировка-2014, занятие 11. MVP, метод прогрессивного JPEG, Story mapping, A...7bits
 
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.7bits
 
Стажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложенияСтажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложения7bits
 
Стажировка-2014, занятие 9. Code conventions and best practices
Стажировка-2014, занятие 9. Code conventions and best practicesСтажировка-2014, занятие 9. Code conventions and best practices
Стажировка-2014, занятие 9. Code conventions and best practices7bits
 

Viewers also liked (20)

Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
Спецкурс-2015. Занятие 04 (часть 2). Обработка исключительных ситуаций, запи...
 
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
Спецкурс-2015. Занятие 04 (часть 1). Конфигурации, сборка проекта, автоматизи...
 
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про GenericsКурс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
Курс Java-2016. Занятие 04 (часть 1). Еще немного про Generics
 
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.
Спецкурс-2015. Занятие 03. Абстракции, именование, документирование.
 
курс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключениякурс Java 2016. занятие 03. интерфейсы, generic, исключения
курс Java 2016. занятие 03. интерфейсы, generic, исключения
 
Курс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mockКурс Java-2016. Занятие 10. Reflection, mock
Курс Java-2016. Занятие 10. Reflection, mock
 
Курс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSPКурс Java-2016. Занятие 11. Servlets, JSP
Курс Java-2016. Занятие 11. Servlets, JSP
 
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
Стажировка-2014, занятие 7. Языки разметки, HTML5, CSS3
 
Стажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEMСтажировка 2015. Разработка. Занятие 9. BEM
Стажировка 2015. Разработка. Занятие 9. BEM
 
Стажировка-2015. Дизайн. Занятие 4 (2 часть). Цвет в web-дизайне
Стажировка-2015. Дизайн. Занятие 4 (2 часть). Цвет в web-дизайнеСтажировка-2015. Дизайн. Занятие 4 (2 часть). Цвет в web-дизайне
Стажировка-2015. Дизайн. Занятие 4 (2 часть). Цвет в web-дизайне
 
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.
Стажировка-2014, занятие 10. Бизнес-модели и Lean startup.
 
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данныхСтажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
Стажировка-2015. Разработка. Занятие 2. Основы реляционных баз данных
 
Стажировка-2014, занятие 2 (часть 2). Исключения и логи
Стажировка-2014, занятие 2 (часть 2). Исключения и логиСтажировка-2014, занятие 2 (часть 2). Исключения и логи
Стажировка-2014, занятие 2 (часть 2). Исключения и логи
 
Спецкурс 2014, занятие 3. Абстракции, именование, документирование
Спецкурс 2014, занятие 3. Абстракции, именование, документированиеСпецкурс 2014, занятие 3. Абстракции, именование, документирование
Спецкурс 2014, занятие 3. Абстракции, именование, документирование
 
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотестыСтажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
Стажировка-2015. Разработка. Занятие 10 (часть 1). Конфиги, сборка, автотесты
 
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документированиеСтажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
Стажировка-2015. Разработка. Занятие 8. Абстракции, именование,документирование
 
Стажировка-2014, занятие 11. MVP, метод прогрессивного JPEG, Story mapping, A...
Стажировка-2014, занятие 11. MVP, метод прогрессивного JPEG, Story mapping, A...Стажировка-2014, занятие 11. MVP, метод прогрессивного JPEG, Story mapping, A...
Стажировка-2014, занятие 11. MVP, метод прогрессивного JPEG, Story mapping, A...
 
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.
Стажировка-2014, занятие 3. Тест-кейсы, ручное и автоматическое тестирование.
 
Стажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложенияСтажировка-2014, занятие 6 (часть 1). Web-приложения
Стажировка-2014, занятие 6 (часть 1). Web-приложения
 
Стажировка-2014, занятие 9. Code conventions and best practices
Стажировка-2014, занятие 9. Code conventions and best practicesСтажировка-2014, занятие 9. Code conventions and best practices
Стажировка-2014, занятие 9. Code conventions and best practices
 

Similar to Курс Java-2016. Занятие 01. Введение в Java как технологию

15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...
15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...
15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...HappyDev-lite
 
Caching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaCaching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaAndrei Pangin
 
Excelsior JET в действии
Excelsior JET в действииExcelsior JET в действии
Excelsior JET в действииNikita Lipsky
 
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionJVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionNikita Lipsky
 
Секреты сборки мусора в Java (Алексей Рагозин)
Секреты сборки мусора в Java (Алексей Рагозин)Секреты сборки мусора в Java (Алексей Рагозин)
Секреты сборки мусора в Java (Алексей Рагозин)Ontico
 
Секреты сборки мусора в Java
Секреты сборки мусора в JavaСекреты сборки мусора в Java
Секреты сборки мусора в Javaaragozin
 
CodeFest 2012. Липский Н. — JIT vs. AOT. Единство и борьба динамического и ст...
CodeFest 2012. Липский Н. — JIT vs. AOT. Единство и борьба динамического и ст...CodeFest 2012. Липский Н. — JIT vs. AOT. Единство и борьба динамического и ст...
CodeFest 2012. Липский Н. — JIT vs. AOT. Единство и борьба динамического и ст...CodeFest
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_drupalconf
 
Developing highload servers with Java
Developing highload servers with JavaDeveloping highload servers with Java
Developing highload servers with JavaAndrei Pangin
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)Ontico
 
Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.Alexey Rusnak
 
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...Stfalcon Meetups
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
Multithreading in JS. Myth or reality?
Multithreading in JS. Myth or reality?Multithreading in JS. Myth or reality?
Multithreading in JS. Myth or reality?Alexander Syrotenko
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPITimur Shemsedinov
 
Вебинар: Основы распараллеливания С++ программ при помощи OpenMP
Вебинар: Основы распараллеливания С++ программ при помощи OpenMPВебинар: Основы распараллеливания С++ программ при помощи OpenMP
Вебинар: Основы распараллеливания С++ программ при помощи OpenMPFlyElephant
 
Scala: что, как и зачем?
Scala: что, как и зачем?Scala: что, как и зачем?
Scala: что, как и зачем?Roman Timushev
 
Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.Yury Bushmelev
 
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Ontico
 

Similar to Курс Java-2016. Занятие 01. Введение в Java как технологию (20)

15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...
15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...
15 HappyDev-lite-2015 autumn. Анна Тарасенко. Java в современном мире, вторая...
 
WebAssembly
WebAssemblyWebAssembly
WebAssembly
 
Caching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaCaching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in Java
 
Excelsior JET в действии
Excelsior JET в действииExcelsior JET в действии
Excelsior JET в действии
 
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionJVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
 
Секреты сборки мусора в Java (Алексей Рагозин)
Секреты сборки мусора в Java (Алексей Рагозин)Секреты сборки мусора в Java (Алексей Рагозин)
Секреты сборки мусора в Java (Алексей Рагозин)
 
Секреты сборки мусора в Java
Секреты сборки мусора в JavaСекреты сборки мусора в Java
Секреты сборки мусора в Java
 
CodeFest 2012. Липский Н. — JIT vs. AOT. Единство и борьба динамического и ст...
CodeFest 2012. Липский Н. — JIT vs. AOT. Единство и борьба динамического и ст...CodeFest 2012. Липский Н. — JIT vs. AOT. Единство и борьба динамического и ст...
CodeFest 2012. Липский Н. — JIT vs. AOT. Единство и борьба динамического и ст...
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_
 
Developing highload servers with Java
Developing highload servers with JavaDeveloping highload servers with Java
Developing highload servers with Java
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
 
Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.Couchbase, что за зверь и на что способен.
Couchbase, что за зверь и на что способен.
 
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
Multithreading in JS. Myth or reality?
Multithreading in JS. Myth or reality?Multithreading in JS. Myth or reality?
Multithreading in JS. Myth or reality?
 
Node.js введение в технологию, КПИ #ITmeetingKPI
Node.js введение в технологию, КПИ  #ITmeetingKPINode.js введение в технологию, КПИ  #ITmeetingKPI
Node.js введение в технологию, КПИ #ITmeetingKPI
 
Вебинар: Основы распараллеливания С++ программ при помощи OpenMP
Вебинар: Основы распараллеливания С++ программ при помощи OpenMPВебинар: Основы распараллеливания С++ программ при помощи OpenMP
Вебинар: Основы распараллеливания С++ программ при помощи OpenMP
 
Scala: что, как и зачем?
Scala: что, как и зачем?Scala: что, как и зачем?
Scala: что, как и зачем?
 
Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.Карта граблей на поле сбора и доставки логов. Lazada-way.
Карта граблей на поле сбора и доставки логов. Lazada-way.
 
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Laz...
 

More from 7bits

Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап? Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап? 7bits
 
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофтаГудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта7bits
 
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакатьГудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать7bits
 
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи 7bits
 
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE 7bits
 
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в ITGoodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT7bits
 
Курс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBCКурс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBC7bits
 
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточностьКурс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность7bits
 
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекцииКурс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции7bits
 
Курс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и JavaКурс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и Java7bits
 
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHubКурс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub7bits
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий7bits
 
Стажировка-2015. Разработка. Занятие 14. Twitter Flight
Стажировка-2015. Разработка. Занятие 14. Twitter FlightСтажировка-2015. Разработка. Занятие 14. Twitter Flight
Стажировка-2015. Разработка. Занятие 14. Twitter Flight7bits
 
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
Стажировка-2015. Разработка. Занятие 13. Сборка фронтендаСтажировка-2015. Разработка. Занятие 13. Сборка фронтенда
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда7bits
 
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...7bits
 
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложенийСтажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений7bits
 
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.7bits
 

More from 7bits (17)

Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап? Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
Гудбай, ИТ-лофт! Тарасенко Анна: Стартап = факап?
 
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофтаГудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта
 
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакатьГудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать
 
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи
 
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
Гудбай, ИТ-лофт! Мячин Сергей: LUDUM DARE + IT-LOFT = LOVE
 
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в ITGoodbye, IT-loft! Тараканов Алексей: Идеология в IT
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT
 
Курс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBCКурс Java-2016. Занятие 12. DBMS, JDBC
Курс Java-2016. Занятие 12. DBMS, JDBC
 
Курс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточностьКурс Java-2016. Занятие 08. Итераторы, многопоточность
Курс Java-2016. Занятие 08. Итераторы, многопоточность
 
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекцииКурс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
Курс Java-2016. Занятие 07. Логи, фасады, библиотеки и коллекции
 
Курс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и JavaКурс Java-2016. Занятие 05. Тестирование и Java
Курс Java-2016. Занятие 05. Тестирование и Java
 
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHubКурс Java-2016. Занятие 04 (часть 2). Git и GitHub
Курс Java-2016. Занятие 04 (часть 2). Git и GitHub
 
Спецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версийСпецкурс-2015. Занятие 05. Системы контроля версий
Спецкурс-2015. Занятие 05. Системы контроля версий
 
Стажировка-2015. Разработка. Занятие 14. Twitter Flight
Стажировка-2015. Разработка. Занятие 14. Twitter FlightСтажировка-2015. Разработка. Занятие 14. Twitter Flight
Стажировка-2015. Разработка. Занятие 14. Twitter Flight
 
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
Стажировка-2015. Разработка. Занятие 13. Сборка фронтендаСтажировка-2015. Разработка. Занятие 13. Сборка фронтенда
Стажировка-2015. Разработка. Занятие 13. Сборка фронтенда
 
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
Стажировка-2015. Разработка. Занятие 12. Транзакции в БД, работа с БД из прил...
 
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложенийСтажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
Стажировка-2015. Разработка. Занятие 11. Безопасность web-приложений
 
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.
Стажировка-2015. Разработка. Занятие 10 (часть 2). Исключения и логи.
 

Курс Java-2016. Занятие 01. Введение в Java как технологию

  • 1. Курс по Java, 2016 Введение в Java как технологию Занятие 01
  • 2. Курс по Java, 2016 • Дата выхода: 23 мая 1995 года (Oak) • Изначальное предназначение: язык для бытовых электронных устройств • Версия 1.0: 26 августа 1996 года (Java) • Итоговое предназначение: язык для разработки клиентских и серверных приложений История Java
  • 3. Курс по Java, 2016 • Синтаксис похож на С++ – несложно изучить, если знаешь С/С++ • Автоматическая сборка мусора – переменные уничтожаются, когда больше не нужны • Строгая статическая типизация – контроль типов на этапе компиляции Особенности языка
  • 4. Курс по Java, 2016 • Компилируется в промежуточный формат – байт-код • Наличие интерфейсов – только заголовки методов без реализации • Есть возможность анализа и изменений запущенного байт-кода во время работы приложения – reflection Особенности языка
  • 5. Курс по Java, 2016 • Виртуальная машина (JVM) – можно запускать код везде, где она есть • JIT – компиляция в машинный код для оптимизации производительности (идея из Lisp и Smalltalk) • HotSpot – реализация более оптимизированная, чем трансляция всего байт-кода Особенности платформы
  • 6. Курс по Java, 2016 • Есть возможность анализа параметров запущенного приложения (JConsole, JProfiler и др.) • Реализации есть для большинства операционных систем • JVM-based – языки Scala, Clojure и другие • Несколько IDE, в том числе Intellij IDEA от JetBrains (Россия, Чехия) Особенности платформы
  • 7. Курс по Java, 2016 • Большой набор готовых библиотек, например, на Apache Software Foundation • Система репозиториев и версионирования библиотек Apache Maven • Универсальный фреймворк для серверных приложений Spring Особенности платформы
  • 8. Курс по Java, 2016 Все это позволяет Java уже много лет оставаться одним из самых популярных языков
  • 9. Курс по Java, 2016 • Важные данные: финансовое и медицинское ПО, документооборот • Серверные компоненты для back-end • СУБД – Cassandra, Hadoop и другие • Смарт-карты и другие устройства с малым объемом памяти • Android и другие мобильные платформы Где используется
  • 10. Курс по Java, 2016 • Управление важными данными: финансовое и медицинское ПО, бухгалтерский и кадровый учет, электронный документооборот • Обработка больших объемов данных • Криптография • Встраиваемые приложения Какие задачи решает
  • 11. Курс по Java, 2016 Heap (куча) и non-heap (стек) память состоят из 5 областей (memory pools, memory spaces) • Eden Space (heap) • Survivor Space (heap) • Tenured (Old) Generation (heap) • Permanent Generation (non-heap) • Code Cache (non-heap) Организация памяти в JVM
  • 12. Курс по Java, 2016 Основные алгоритмы работы GC: • Serial GC • Parallel GC • CMS GC • G1 GC Сборка мусора (garbage collection)
  • 13. Курс по Java, 2016 Serial GC
  • 14. Курс по Java, 2016 Serial GC
  • 15. Курс по Java, 2016 • -XX:PermSize – минимальный размер PermGen • -XX:MaxPermSize – максимальный размер PermGen • -Xms – минимальный размер Heap • -Xmx – максимальный размер Heap • -XX:NewRatio – размер old generation кратно большим, чем размер new generation Конфигурация JVM
  • 16. Курс по Java, 2016 • -XX:+PrintGCTimeStamps, - XX:+PrintGCDetails и -Xloggc:gc.log JVM печатает дополнительную информацию о сборке мусора в файл gc.log • -XX:+UseSerialGC • -XX:+UseParallelGC • -XX:+UseParalledlOldGC • -XX:+UseConcMarkSweepGC Конфигурация JVM
  • 17. Курс по Java, 2016 sudo mkdir -p /usr/lib/jvm sudo mv ./jdk1.8.XX /usr/lib/jvm/ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.8.0/bin/java" 1 sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.8.0/bin/javac" 1 sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.8.0/bin/javaws" 1 Установка Java
  • 18. Курс по Java, 2016 sudo chmod a+x /usr/bin/java sudo chmod a+x /usr/bin/javac sudo chmod a+x /usr/bin/javaws sudo chown -R root:root /usr/lib/jvm/jdk1.8.0 sudo update-alternatives --config java sudo update-alternatives --config javac sudo update-alternatives --config javaws Установка Java
  • 19. Курс по Java, 2016 Из того же каталога, где лежит файл: javac myClass.java – компиляция java myClass – запуск java -cp myLib.jar – компиляция программы с дополнительной библиотекой Компиляция и запуск класса
  • 20. Курс по Java, 2016 1. Установлена Java SDK 1.7. 2. Установлена Intellij IDEA, например, Community Edition. 3. Запускается javac и java. 4. Написан HelloWorld.java, откомпилирован в консоли и в IDE, запущен в консоли и в IDE. Что должно быть установлено
  • 21. Курс по Java, 2016 Написать инвертирование заданного целочисленного массива на Java. Должно получиться 2 класса: тот, в котором функция main, и тот, который инвертирует. Крайний срок сдачи 22:00 19.03.2016 г. Выполненные задания отправлять на at@7bits.it Домашнее задание
  • 22. Курс по Java, 2016 Emails: at@7bits.it, ak@7bits.it Skype: anna_tarasenko Web: 7bits.ru Вопросы?