SlideShare a Scribd company logo
1 of 33
Download to read offline
Углубленное
программирование
на Java
Лекция 1
«Введение»
Виталий Чибриков
Еще больше практики!
Углубленное программирование на Java
Особенности курса
один проект на весь семестр
разработка в группах
занятие = лекция + семинар
меньше академичности, больше практики!
видео материалы

2
100 баллов = победа

1
1
2

Тип занятия
Л1
С1
Л2

2
3
4
4
5
5
6
6
7
8

С2
Контроль 1
Л3
С3
Л4
С4
Л5
С5
Контроль 2
Мини экзамен

Тема
Знакомство с предметом
Настройка окружения
Инструменты фронтенда
Авторизация
пользователя
Frontend
Многопоточность
Работа с потоками Jetty
Message System
Система сообщений
Тесты + GC
тесты
MS + tests
2 вопроса

Модули

Тесты

Макс.
Баллов

15

5

20

15
20

5

40
60
3
150 баллов = ?

9

Тип занятия
Л6

9
10

С6
Л7

10
11
11
12
13
13
14
14
15

С7
Л8
С8
Контроль 3
Л9
С9
Л10
С10
Контроль 4
Сдача практической
работы
Экзамен

16

Тема
Механика
Абонент механики +
реплика
VFS
Работа с файловой
системой
Resource System
XML ресурсы
Resource System + tests
DB
JDBC
Annotations
Hibernate
DB + tests

Модули

Тесты

Макс.
Баллов

15

5

80

15

5

100

GM + tests
3 вопроса

15
30

5

120
150
4
Освой Java за 24 часа
Дополнительные материалы и ресурсы
Skype: tully_at_work «Кружок любителей Java»
SCORM: http://www.intuit.ru/studies/courses/3711/953/info
Видео (осень 2012): http://tp.mail.ru/blog/544.html
Видео (весна 2013): монтируем
Видео (осень 2013): снимаем свое

5
План лекции
1. Java
2. Углубленное
3. Программирование

4. Платформа Java
5. Настройка окружения

6
История Java
Java ― ОО язык программирования разработанный в 1995г.
Изначально ― платформа для программирования бытовых приборов
Компилляция в байт код и исполнение байт кода в виртуальной машине
Встроенный сборщик мусора
Платформа .Net от Microsoft осована на идеях Java

7
Задумка Java платформы
Приложение
Архитектурно независимый байт код
JVM для Windows

JVM для Linux

8
Задачи и результат
Ключевые идеи
Написанно один раз – работает везде
Встроенный сборщик мусора
Безопасность исполнения

Результат
+ «Переносимые» программисты
- Программы все равно зависят от архитектуры
+ Сборщик мусора устраняет утечки памяти
- Сборщик мусора «всегда» работает в ненужное время
9
Почему Java?
ОО язык высокого уровня с простым и понятным синтаксисом
Большое количество специалистов со знанием Java

Легкость перехода с С++
Большое количество библиотек

Постоянные улучшения и доработки
Прекрасная документация

10
План лекции

1. Java
2. Углубленное
3. Программирование
4. Платформа Java

5. Настройка окружения

11
«Углубленное»
Углубленное значит «глубже чем»
Примитивные типы, переполнение примитивных типов
Объекты, классы, наследование, полиморфизм, инкапсуляция
Область видимости переменной, статические переменные
Ветвления и циклы
Преобразования примитивных типов
Интерфейс, реализация интерфейса
Операторы
Стек, куча

private, protected, public
12
«Углубленное»
Платформа Java. Java editions. Java Virtual Machine.
Контейнеры и алгоритмы (Hash, Map, Set, List, Array), Generics.
Многопоточность. Thread Object. Concurrency.
Исключение, обработка исключений
Message System. Address. Abonent.
Frontend. Game Mechanics.
Serialization. I/O. Stream.
Reflection. Annotation.
JDBC. DataSet. DAO. Hibernate.
QA. Tests. Автоматизация тестрования.
13
План лекции

1. Java
2. Углубленное
3. Программирование
4. Платформа Java

5. Настройка окружения

14
Road map

1

ЛЕКЦИЯ №1. «ВВЕДЕНИЕ»
ЛЕКЦИЯ №2. «МНОГОПОТОЧНОСТЬ»
ЛЕКЦИЯ №3. «MESSAGE SYSTEM»

2

ЛЕКЦИЯ №4. «ИГРОВАЯ МЕХАНИКА»
ЛЕКЦИЯ №5. «ТЕСТИРОВАНИЕ И НАГРУЗКА»

3

ЛЕКЦИЯ №6. «I/O»
ЛЕКЦИЯ №7. «РЕСУРСНАЯ СИСТЕМА»

4

ЛЕКЦИЯ №8. «РАБОТА С БАЗАМИ ДАННЫХ»
ЛЕКЦИЯ №9. «ORM»
15
Модули учебного сервера
main

1.

1.

1.

2.

frontend

4.

dbService

messageSystem

utils

2. gameMechanics

3. resourceSystem

2.

base
16
План лекции

1. Java
2. Углубленное
3. Программирование
4. Платформа Java

5. Настройка окружения

17
Обзор платформы Java
Запуск приложений
Java Runtime Environment (JRE)
Java Virtual Machine(JVM)

Class Libraries

Создание приложений
Java Development Kit (JDK)
JRE
Java compiler

IDE ― в состав Java не входит
18
Обзор платформы Java
JVM
Interpreter
Just-In-Time (JIT) compiler

Byte code verifier
Garbage collector (GC)

Javac
Превращает *.java в *.class
*.class можно собрать в *.jar (zip архив)

19
Сборщик мусора
Garbage collector (GC)
Поиск ненужных объектов

Stack

Heap

Освобождение памяти

Типы ссылок
Strong references
Weak references
Soft references
20
Java editions
Java SE (Standard Edition)
Стандартная редакция
JVM + библиотека классов

Java EE (Enterprise Edition)
Java SE
Спецификация
API + runtime environment services

Java ME (Micro Edition)
Мобильные телефоны, бытовые приборы
21
Обзор платформы Java

22
Наименования
Классы в Java собирают в пакеты (packages)
Пакеты обычно собирают в *.jar файлы (zip архивы)
Класс может быть однозначно идетифицирован по полному имени
packageName.directoryName.ClassName
Имена пакетов и директорий принято начинать с маленькой буквы

Имена классов: MySuperClassName
Имена функций: getMyVariable()
Имена переменных: myVariable
Пакеты не могут иметь циклических зависимостей
23
Билеты
1. История и особенности языка Java

2. Платформа Java. Java Editions.
GC, JVM, JDK, JRE. Bytecode

3. Правила наименований пакетов, классов,
переменных и методов.

24
Анонимный тест

25
План лекции

1. Java
2. Углубленное
3. Программирование
4. Платформа Java

5. Настройка окружения

26
Инструменты
JDK 1.7

Java Development Kit 7

IntelliJ IDEA

среда разработки приложений на Java

Maven

система сборки проекта

Git

система контроля версий

*Jetty
*freemarker

библиотека для web сервера
шаблонизатор

27
JDK 1.7
http://www.oracle.com/technetwork/java/javase/downloads/
Linux

export JAVA_HOME = your java directory
в файле /etc/profile

Windows

Control Panel -> System -> Advanced
добавьте в переменные среды
JAVA_HOME = your java directory

28
IntelliJ IDEA
http://www.jetbrains.com/idea/download/
Community Edition FREE
Linux: запуск через bin/idea.sh
Windows: обычная установка и запуск

29
Maven
Распакуйте архив в инсталляционную директорию.
Windows: C:Program Filesmaven
Linux: /opt/maven
Установите переменную окружения
M2_HOME = инсталляционная директория
Установите переменную окружения PATH
Windows: в переменной PATH добавьте к списку директорий строку
%M2_HOME%bin.
Linux: можно добавить строку export PATH=$PATH:$M2_HOME/bin в
файл /etc/profile .
Запустите в командной строке mvn -version

30
Создание проекта
http://wiki.jetbrains.net/intellij/Creating_and_importing_Maven_projects
Project Object Model – pom.xml

<groupId> адрес проекта </groupId>
<artifactId> название приложения </artifactId>
<version> версия приложения</version>
<dependencies>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>9.0.5.v20130815</version>
</dependency>
</dependencies>
31
Git
Git

http://git-scm.com/downloads

github

https://help.github.com/

32
Спасибо за внимание
Виталий Чибриков
chibrikov@corp.mail.ru

More Related Content

What's hot

Система обработки бизнес-логики server-side приложения на Groovy
Система обработки бизнес-логики server-side приложения на GroovyСистема обработки бизнес-логики server-side приложения на Groovy
Система обработки бизнес-логики server-side приложения на GroovyRegn
 
Java core-lect6-part2-reflection-api.ppt
Java core-lect6-part2-reflection-api.pptJava core-lect6-part2-reflection-api.ppt
Java core-lect6-part2-reflection-api.pptAnton Moiseenko
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.Igor Shkulipa
 
Java Core. Lecture# 5. Concurrency.
Java Core. Lecture# 5. Concurrency.Java Core. Lecture# 5. Concurrency.
Java Core. Lecture# 5. Concurrency.Anton Moiseenko
 
C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.Igor Shkulipa
 
Java Core. Lecture# 3. Part# 3. Multithreading.
Java Core. Lecture# 3. Part# 3. Multithreading.Java Core. Lecture# 3. Part# 3. Multithreading.
Java Core. Lecture# 3. Part# 3. Multithreading.Anton Moiseenko
 
Java Core. Lecture# 3. Part# 2. Exceptions.
Java Core. Lecture# 3. Part# 2. Exceptions.Java Core. Lecture# 3. Part# 2. Exceptions.
Java Core. Lecture# 3. Part# 2. Exceptions.Anton Moiseenko
 
тесты с фикстурами
тесты с фикстурамитесты с фикстурами
тесты с фикстурамиIvan Grishaev
 
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...Ontico
 
Java Core. Lecture# 3. Part# 1. Abstract classes.
Java Core. Lecture# 3. Part# 1. Abstract classes.Java Core. Lecture# 3. Part# 1. Abstract classes.
Java Core. Lecture# 3. Part# 1. Abstract classes.Anton Moiseenko
 
Oop java.generics
Oop java.genericsOop java.generics
Oop java.genericsmuqaddas_m
 

What's hot (13)

Система обработки бизнес-логики server-side приложения на Groovy
Система обработки бизнес-логики server-side приложения на GroovyСистема обработки бизнес-логики server-side приложения на Groovy
Система обработки бизнес-логики server-side приложения на Groovy
 
Наследование и полиморфизм
Наследование и полиморфизмНаследование и полиморфизм
Наследование и полиморфизм
 
Java core-lect6-part2-reflection-api.ppt
Java core-lect6-part2-reflection-api.pptJava core-lect6-part2-reflection-api.ppt
Java core-lect6-part2-reflection-api.ppt
 
Классы и объекты С#
Классы и объекты С#Классы и объекты С#
Классы и объекты С#
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.
 
Java Core. Lecture# 5. Concurrency.
Java Core. Lecture# 5. Concurrency.Java Core. Lecture# 5. Concurrency.
Java Core. Lecture# 5. Concurrency.
 
C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.
 
Java Core. Lecture# 3. Part# 3. Multithreading.
Java Core. Lecture# 3. Part# 3. Multithreading.Java Core. Lecture# 3. Part# 3. Multithreading.
Java Core. Lecture# 3. Part# 3. Multithreading.
 
Java Core. Lecture# 3. Part# 2. Exceptions.
Java Core. Lecture# 3. Part# 2. Exceptions.Java Core. Lecture# 3. Part# 2. Exceptions.
Java Core. Lecture# 3. Part# 2. Exceptions.
 
тесты с фикстурами
тесты с фикстурамитесты с фикстурами
тесты с фикстурами
 
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...
Ангелы и демоны многопоточного программирования / Алексей Федоров (Одноклассн...
 
Java Core. Lecture# 3. Part# 1. Abstract classes.
Java Core. Lecture# 3. Part# 1. Abstract classes.Java Core. Lecture# 3. Part# 1. Abstract classes.
Java Core. Lecture# 3. Part# 1. Abstract classes.
 
Oop java.generics
Oop java.genericsOop java.generics
Oop java.generics
 

Viewers also liked

Java осень 2013 лекция 8
Java осень 2013 лекция 8Java осень 2013 лекция 8
Java осень 2013 лекция 8Technopark
 
Android осень 2013 лекция 3
Android осень 2013 лекция 3Android осень 2013 лекция 3
Android осень 2013 лекция 3Technopark
 
Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2Technopark
 
Тестирование весна 2014 смешанное занятие 3
Тестирование весна 2014 смешанное занятие 3Тестирование весна 2014 смешанное занятие 3
Тестирование весна 2014 смешанное занятие 3Technopark
 
Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Technopark
 
Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelTechnopark
 
Тестирование осень 2013 лекция 4
Тестирование осень 2013 лекция 4Тестирование осень 2013 лекция 4
Тестирование осень 2013 лекция 4Technopark
 
Android осень 2013 лекция 2
Android осень 2013 лекция 2Android осень 2013 лекция 2
Android осень 2013 лекция 2Technopark
 
Разработка веб-сервисов осень 2013 лекция 1 1
Разработка веб-сервисов осень 2013 лекция 1 1Разработка веб-сервисов осень 2013 лекция 1 1
Разработка веб-сервисов осень 2013 лекция 1 1Technopark
 
Android осень 2013 лекция 1
Android осень 2013 лекция 1Android осень 2013 лекция 1
Android осень 2013 лекция 1Technopark
 
Java осень 2014 занятие 3
Java осень 2014 занятие 3Java осень 2014 занятие 3
Java осень 2014 занятие 3Technopark
 
Безопасность интернет-приложений осень 2013 лекция 2
Безопасность интернет-приложений осень 2013 лекция 2Безопасность интернет-приложений осень 2013 лекция 2
Безопасность интернет-приложений осень 2013 лекция 2Technopark
 
Frontend весна 2014 лекция 2
Frontend весна 2014 лекция 2Frontend весна 2014 лекция 2
Frontend весна 2014 лекция 2Technopark
 
Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9Technopark
 
Web осень 2013 лекция 3
Web осень 2013 лекция 3Web осень 2013 лекция 3
Web осень 2013 лекция 3Technopark
 
Безопасность интернет-приложений осень 2013 лекция 10
Безопасность интернет-приложений осень 2013 лекция 10Безопасность интернет-приложений осень 2013 лекция 10
Безопасность интернет-приложений осень 2013 лекция 10Technopark
 
HighLoad весна 2014 лекция 3
HighLoad весна 2014 лекция 3HighLoad весна 2014 лекция 3
HighLoad весна 2014 лекция 3Technopark
 
Web осень 2013 лекция 1
Web осень 2013 лекция 1Web осень 2013 лекция 1
Web осень 2013 лекция 1Technopark
 
Управление продуктом осень 2013 лекция 5
Управление продуктом осень 2013 лекция 5Управление продуктом осень 2013 лекция 5
Управление продуктом осень 2013 лекция 5Technopark
 
Тестирование весна 2014 смешанное занятие 2
Тестирование весна 2014 смешанное занятие 2Тестирование весна 2014 смешанное занятие 2
Тестирование весна 2014 смешанное занятие 2Technopark
 

Viewers also liked (20)

Java осень 2013 лекция 8
Java осень 2013 лекция 8Java осень 2013 лекция 8
Java осень 2013 лекция 8
 
Android осень 2013 лекция 3
Android осень 2013 лекция 3Android осень 2013 лекция 3
Android осень 2013 лекция 3
 
Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2Алгоритмы и структуры данных весна 2014 лекция 2
Алгоритмы и структуры данных весна 2014 лекция 2
 
Тестирование весна 2014 смешанное занятие 3
Тестирование весна 2014 смешанное занятие 3Тестирование весна 2014 смешанное занятие 3
Тестирование весна 2014 смешанное занятие 3
 
Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8
 
Лекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель PregelЛекция 11. Вычислительная модель Pregel
Лекция 11. Вычислительная модель Pregel
 
Тестирование осень 2013 лекция 4
Тестирование осень 2013 лекция 4Тестирование осень 2013 лекция 4
Тестирование осень 2013 лекция 4
 
Android осень 2013 лекция 2
Android осень 2013 лекция 2Android осень 2013 лекция 2
Android осень 2013 лекция 2
 
Разработка веб-сервисов осень 2013 лекция 1 1
Разработка веб-сервисов осень 2013 лекция 1 1Разработка веб-сервисов осень 2013 лекция 1 1
Разработка веб-сервисов осень 2013 лекция 1 1
 
Android осень 2013 лекция 1
Android осень 2013 лекция 1Android осень 2013 лекция 1
Android осень 2013 лекция 1
 
Java осень 2014 занятие 3
Java осень 2014 занятие 3Java осень 2014 занятие 3
Java осень 2014 занятие 3
 
Безопасность интернет-приложений осень 2013 лекция 2
Безопасность интернет-приложений осень 2013 лекция 2Безопасность интернет-приложений осень 2013 лекция 2
Безопасность интернет-приложений осень 2013 лекция 2
 
Frontend весна 2014 лекция 2
Frontend весна 2014 лекция 2Frontend весна 2014 лекция 2
Frontend весна 2014 лекция 2
 
Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9Разработка веб-сервисов осень 2013 лекция 9
Разработка веб-сервисов осень 2013 лекция 9
 
Web осень 2013 лекция 3
Web осень 2013 лекция 3Web осень 2013 лекция 3
Web осень 2013 лекция 3
 
Безопасность интернет-приложений осень 2013 лекция 10
Безопасность интернет-приложений осень 2013 лекция 10Безопасность интернет-приложений осень 2013 лекция 10
Безопасность интернет-приложений осень 2013 лекция 10
 
HighLoad весна 2014 лекция 3
HighLoad весна 2014 лекция 3HighLoad весна 2014 лекция 3
HighLoad весна 2014 лекция 3
 
Web осень 2013 лекция 1
Web осень 2013 лекция 1Web осень 2013 лекция 1
Web осень 2013 лекция 1
 
Управление продуктом осень 2013 лекция 5
Управление продуктом осень 2013 лекция 5Управление продуктом осень 2013 лекция 5
Управление продуктом осень 2013 лекция 5
 
Тестирование весна 2014 смешанное занятие 2
Тестирование весна 2014 смешанное занятие 2Тестирование весна 2014 смешанное занятие 2
Тестирование весна 2014 смешанное занятие 2
 

Similar to Java осень 2013 лекция 1-1

Java осень 2014 занятие 1
Java осень 2014 занятие 1Java осень 2014 занятие 1
Java осень 2014 занятие 1Technopark
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
 
Как devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеКак devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеKirill Vechera
 
Java весна 2013 лекция 9
Java весна 2013 лекция 9Java весна 2013 лекция 9
Java весна 2013 лекция 9Technopark
 
Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)Alex Ott
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Ontico
 
Разговор про Java 9. Extended version
Разговор про Java 9. Extended versionРазговор про Java 9. Extended version
Разговор про Java 9. Extended versionIvan Krylov
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with SeleniumSergey Shvets
 
CodeFest 2011. Галако О. — О Scala и Lift для тех, кому мало Java, и не только
CodeFest 2011. Галако О. — О Scala и Lift для тех, кому мало Java, и не толькоCodeFest 2011. Галако О. — О Scala и Lift для тех, кому мало Java, и не только
CodeFest 2011. Галако О. — О Scala и Lift для тех, кому мало Java, и не толькоCodeFest
 
Методы защиты Java-приложений и их обход
Методы защиты Java-приложений и их обходМетоды защиты Java-приложений и их обход
Методы защиты Java-приложений и их обходPositive Hack Days
 
Meeting #4. Frameworks.
Meeting #4. Frameworks.Meeting #4. Frameworks.
Meeting #4. Frameworks.Igor Khrol
 
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionJVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionNikita Lipsky
 
Использование 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
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
 
Java 9 модули
Java 9 модулиJava 9 модули
Java 9 модулиZheka Kozlov
 
1. java lecture intro
1. java lecture intro1. java lecture intro
1. java lecture introMERA_school
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Seleniumjazzteam
 
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко ДмитрийSolit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрийsolit
 

Similar to Java осень 2013 лекция 1-1 (20)

Java осень 2014 занятие 1
Java осень 2014 занятие 1Java осень 2014 занятие 1
Java осень 2014 занятие 1
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...
 
Java 2 - Java Intro
Java 2 - Java IntroJava 2 - Java Intro
Java 2 - Java Intro
 
Как devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальшеКак devops исчерпывает себя и что будет дальше
Как devops исчерпывает себя и что будет дальше
 
Java весна 2013 лекция 9
Java весна 2013 лекция 9Java весна 2013 лекция 9
Java весна 2013 лекция 9
 
Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)Clojure: Lisp for the modern world (русская версия)
Clojure: Lisp for the modern world (русская версия)
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
 
Разговор про Java 9. Extended version
Разговор про Java 9. Extended versionРазговор про Java 9. Extended version
Разговор про Java 9. Extended version
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with Selenium
 
CodeFest 2011. Галако О. — О Scala и Lift для тех, кому мало Java, и не только
CodeFest 2011. Галако О. — О Scala и Lift для тех, кому мало Java, и не толькоCodeFest 2011. Галако О. — О Scala и Lift для тех, кому мало Java, и не только
CodeFest 2011. Галако О. — О Scala и Lift для тех, кому мало Java, и не только
 
Selen framework
Selen frameworkSelen framework
Selen framework
 
Методы защиты Java-приложений и их обход
Методы защиты Java-приложений и их обходМетоды защиты Java-приложений и их обход
Методы защиты Java-приложений и их обход
 
Meeting #4. Frameworks.
Meeting #4. Frameworks.Meeting #4. Frameworks.
Meeting #4. Frameworks.
 
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionJVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
JVM: краткий курс общей анатомии, JPoint 2016 Conference Edition
 
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
 
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgДело тестера боится: как в опытных руках могут заиграть Java и TestNg
Дело тестера боится: как в опытных руках могут заиграть Java и TestNg
 
Java 9 модули
Java 9 модулиJava 9 модули
Java 9 модули
 
1. java lecture intro
1. java lecture intro1. java lecture intro
1. java lecture intro
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
 
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко ДмитрийSolit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
 

More from Technopark

Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuTechnopark
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARNTechnopark
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. SparkTechnopark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache MahoutTechnopark
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeperTechnopark
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveTechnopark
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Technopark
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Technopark
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Technopark
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSTechnopark
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы HadoopTechnopark
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceTechnopark
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...Technopark
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"Technopark
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"Technopark
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"Technopark
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"Technopark
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...Technopark
 
СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...
СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...
СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...Technopark
 

More from Technopark (20)

Лекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.RuЛекция 14. Hadoop в Поиске Mail.Ru
Лекция 14. Hadoop в Поиске Mail.Ru
 
Лекция 13. YARN
Лекция 13. YARNЛекция 13. YARN
Лекция 13. YARN
 
Лекция 12. Spark
Лекция 12. SparkЛекция 12. Spark
Лекция 12. Spark
 
Лекция 10. Apache Mahout
Лекция 10. Apache MahoutЛекция 10. Apache Mahout
Лекция 10. Apache Mahout
 
Лекция 9. ZooKeeper
Лекция 9. ZooKeeperЛекция 9. ZooKeeper
Лекция 9. ZooKeeper
 
Лекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и HiveЛекция 7. Введение в Pig и Hive
Лекция 7. Введение в Pig и Hive
 
Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)
 
Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)Лекция 5. MapReduce в Hadoop (алгоритмы)
Лекция 5. MapReduce в Hadoop (алгоритмы)
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)
 
Лекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFSЛекция 3. Распределённая файловая система HDFS
Лекция 3. Распределённая файловая система HDFS
 
Лекция 2. Основы Hadoop
Лекция 2. Основы HadoopЛекция 2. Основы Hadoop
Лекция 2. Основы Hadoop
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduce
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL" Час...
 
СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"СУБД 2013 Лекция №9 "Безопасность баз данных"
СУБД 2013 Лекция №9 "Безопасность баз данных"
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"СУБД 2013 Лекция №8 "Конфигурирование базы данных"
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
 
СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...
СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...
СУБД 2013 Лекция №4 "Расширенные возможности работы с базами данных. Триггеры...
 

Java осень 2013 лекция 1-1

  • 2. Еще больше практики! Углубленное программирование на Java Особенности курса один проект на весь семестр разработка в группах занятие = лекция + семинар меньше академичности, больше практики! видео материалы 2
  • 3. 100 баллов = победа 1 1 2 Тип занятия Л1 С1 Л2 2 3 4 4 5 5 6 6 7 8 С2 Контроль 1 Л3 С3 Л4 С4 Л5 С5 Контроль 2 Мини экзамен Тема Знакомство с предметом Настройка окружения Инструменты фронтенда Авторизация пользователя Frontend Многопоточность Работа с потоками Jetty Message System Система сообщений Тесты + GC тесты MS + tests 2 вопроса Модули Тесты Макс. Баллов 15 5 20 15 20 5 40 60 3
  • 4. 150 баллов = ? 9 Тип занятия Л6 9 10 С6 Л7 10 11 11 12 13 13 14 14 15 С7 Л8 С8 Контроль 3 Л9 С9 Л10 С10 Контроль 4 Сдача практической работы Экзамен 16 Тема Механика Абонент механики + реплика VFS Работа с файловой системой Resource System XML ресурсы Resource System + tests DB JDBC Annotations Hibernate DB + tests Модули Тесты Макс. Баллов 15 5 80 15 5 100 GM + tests 3 вопроса 15 30 5 120 150 4
  • 5. Освой Java за 24 часа Дополнительные материалы и ресурсы Skype: tully_at_work «Кружок любителей Java» SCORM: http://www.intuit.ru/studies/courses/3711/953/info Видео (осень 2012): http://tp.mail.ru/blog/544.html Видео (весна 2013): монтируем Видео (осень 2013): снимаем свое 5
  • 6. План лекции 1. Java 2. Углубленное 3. Программирование 4. Платформа Java 5. Настройка окружения 6
  • 7. История Java Java ― ОО язык программирования разработанный в 1995г. Изначально ― платформа для программирования бытовых приборов Компилляция в байт код и исполнение байт кода в виртуальной машине Встроенный сборщик мусора Платформа .Net от Microsoft осована на идеях Java 7
  • 8. Задумка Java платформы Приложение Архитектурно независимый байт код JVM для Windows JVM для Linux 8
  • 9. Задачи и результат Ключевые идеи Написанно один раз – работает везде Встроенный сборщик мусора Безопасность исполнения Результат + «Переносимые» программисты - Программы все равно зависят от архитектуры + Сборщик мусора устраняет утечки памяти - Сборщик мусора «всегда» работает в ненужное время 9
  • 10. Почему Java? ОО язык высокого уровня с простым и понятным синтаксисом Большое количество специалистов со знанием Java Легкость перехода с С++ Большое количество библиотек Постоянные улучшения и доработки Прекрасная документация 10
  • 11. План лекции 1. Java 2. Углубленное 3. Программирование 4. Платформа Java 5. Настройка окружения 11
  • 12. «Углубленное» Углубленное значит «глубже чем» Примитивные типы, переполнение примитивных типов Объекты, классы, наследование, полиморфизм, инкапсуляция Область видимости переменной, статические переменные Ветвления и циклы Преобразования примитивных типов Интерфейс, реализация интерфейса Операторы Стек, куча private, protected, public 12
  • 13. «Углубленное» Платформа Java. Java editions. Java Virtual Machine. Контейнеры и алгоритмы (Hash, Map, Set, List, Array), Generics. Многопоточность. Thread Object. Concurrency. Исключение, обработка исключений Message System. Address. Abonent. Frontend. Game Mechanics. Serialization. I/O. Stream. Reflection. Annotation. JDBC. DataSet. DAO. Hibernate. QA. Tests. Автоматизация тестрования. 13
  • 14. План лекции 1. Java 2. Углубленное 3. Программирование 4. Платформа Java 5. Настройка окружения 14
  • 15. Road map 1 ЛЕКЦИЯ №1. «ВВЕДЕНИЕ» ЛЕКЦИЯ №2. «МНОГОПОТОЧНОСТЬ» ЛЕКЦИЯ №3. «MESSAGE SYSTEM» 2 ЛЕКЦИЯ №4. «ИГРОВАЯ МЕХАНИКА» ЛЕКЦИЯ №5. «ТЕСТИРОВАНИЕ И НАГРУЗКА» 3 ЛЕКЦИЯ №6. «I/O» ЛЕКЦИЯ №7. «РЕСУРСНАЯ СИСТЕМА» 4 ЛЕКЦИЯ №8. «РАБОТА С БАЗАМИ ДАННЫХ» ЛЕКЦИЯ №9. «ORM» 15
  • 17. План лекции 1. Java 2. Углубленное 3. Программирование 4. Платформа Java 5. Настройка окружения 17
  • 18. Обзор платформы Java Запуск приложений Java Runtime Environment (JRE) Java Virtual Machine(JVM) Class Libraries Создание приложений Java Development Kit (JDK) JRE Java compiler IDE ― в состав Java не входит 18
  • 19. Обзор платформы Java JVM Interpreter Just-In-Time (JIT) compiler Byte code verifier Garbage collector (GC) Javac Превращает *.java в *.class *.class можно собрать в *.jar (zip архив) 19
  • 20. Сборщик мусора Garbage collector (GC) Поиск ненужных объектов Stack Heap Освобождение памяти Типы ссылок Strong references Weak references Soft references 20
  • 21. Java editions Java SE (Standard Edition) Стандартная редакция JVM + библиотека классов Java EE (Enterprise Edition) Java SE Спецификация API + runtime environment services Java ME (Micro Edition) Мобильные телефоны, бытовые приборы 21
  • 23. Наименования Классы в Java собирают в пакеты (packages) Пакеты обычно собирают в *.jar файлы (zip архивы) Класс может быть однозначно идетифицирован по полному имени packageName.directoryName.ClassName Имена пакетов и директорий принято начинать с маленькой буквы Имена классов: MySuperClassName Имена функций: getMyVariable() Имена переменных: myVariable Пакеты не могут иметь циклических зависимостей 23
  • 24. Билеты 1. История и особенности языка Java 2. Платформа Java. Java Editions. GC, JVM, JDK, JRE. Bytecode 3. Правила наименований пакетов, классов, переменных и методов. 24
  • 26. План лекции 1. Java 2. Углубленное 3. Программирование 4. Платформа Java 5. Настройка окружения 26
  • 27. Инструменты JDK 1.7 Java Development Kit 7 IntelliJ IDEA среда разработки приложений на Java Maven система сборки проекта Git система контроля версий *Jetty *freemarker библиотека для web сервера шаблонизатор 27
  • 28. JDK 1.7 http://www.oracle.com/technetwork/java/javase/downloads/ Linux export JAVA_HOME = your java directory в файле /etc/profile Windows Control Panel -> System -> Advanced добавьте в переменные среды JAVA_HOME = your java directory 28
  • 29. IntelliJ IDEA http://www.jetbrains.com/idea/download/ Community Edition FREE Linux: запуск через bin/idea.sh Windows: обычная установка и запуск 29
  • 30. Maven Распакуйте архив в инсталляционную директорию. Windows: C:Program Filesmaven Linux: /opt/maven Установите переменную окружения M2_HOME = инсталляционная директория Установите переменную окружения PATH Windows: в переменной PATH добавьте к списку директорий строку %M2_HOME%bin. Linux: можно добавить строку export PATH=$PATH:$M2_HOME/bin в файл /etc/profile . Запустите в командной строке mvn -version 30
  • 31. Создание проекта http://wiki.jetbrains.net/intellij/Creating_and_importing_Maven_projects Project Object Model – pom.xml <groupId> адрес проекта </groupId> <artifactId> название приложения </artifactId> <version> версия приложения</version> <dependencies> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>9.0.5.v20130815</version> </dependency> </dependencies> 31
  • 33. Спасибо за внимание Виталий Чибриков chibrikov@corp.mail.ru