19
20 лет Java Зрелая экосистема и постоянные инновации

Андрей Беляев - 20 лет Java

  • Upload
    dataart

  • View
    72

  • Download
    5

Embed Size (px)

Citation preview

Page 1: Андрей Беляев - 20 лет Java

20 лет JavaЗрелая экосистема и постоянные инновации

Page 2: Андрей Беляев - 20 лет Java

Что такое Java

• Язык• Объектный

• Строго типизированный

• Платформонезависимый

• Многопоточность

• Много чего «из коробки»

Page 3: Андрей Беляев - 20 лет Java

Что такое Java

• JVM• Оптимизирована под OS

• JIT компилятор

• GC

• Открытая спецификация

Page 4: Андрей Беляев - 20 лет Java

Все, что вокруг

• Фреймворки• Тысячи их

• Библиотеки• apache-*

• Утилиты• Сборка

• Анализ кода

• CI

Page 5: Андрей Беляев - 20 лет Java

20 лет развития

• 1

• 1.2 – (1998) Swing, JIT

• 1.3 – (2000) HotSpot, JNDI

• 1.4 – (2002) RegExp, NIO, Logging, XML

• 5 – (2004) Generics, Autoboxing, Enums

• 6 – (2006) Annotations

• 7 – (2011) Project Coin, InvokeDynamic,

• 8 – (2014) Лямбды, Project Nashorn

Page 6: Андрей Беляев - 20 лет Java

Что сейчас?

• JSE

• JEE

• Java Embedded• JSE Embedded

• JME Embedded

• JavaCard

Page 7: Андрей Беляев - 20 лет Java

Функциональное программирование

• Java 8• Map

• Reduce

• Parallel Execution

• Functional Interfaces

• Collectors

Page 8: Андрей Беляев - 20 лет Java

Генерация CSV

StringBuilder sb = new StringBuilder();

for (int i = 0; i < strings.size() - 1; i++) {

sb.append(strings.get(i)).append(separator);

}

result = sb.append(strings.get(strings.size() - 1))

.toString();

System.out.println(result);

Page 9: Андрей Беляев - 20 лет Java

Генерация CSV

result = strings.stream()

.reduce((s1, s2) -> s1 + separator + s2)

.get();

System.out.println(result);

Page 10: Андрей Беляев - 20 лет Java

Генерация CSV

result =

strings.stream().collect(Collectors.joining(separator));

System.out.println(result);

Page 11: Андрей Беляев - 20 лет Java

Основной фокус

• Web• JEE

• Spring

• REST+JS

• IoT• DeviceHive

Page 12: Андрей Беляев - 20 лет Java

Web

• Упрощение разработки

• Серверы приложений

Page 13: Андрей Беляев - 20 лет Java

Фреймворки

• Web – разработка• Запрос-ответ

• Компонентные

Page 14: Андрей Беляев - 20 лет Java

Фреймворки

• Struts

• Spring MVC

• Grails

Page 15: Андрей Беляев - 20 лет Java

Фреймворки

• JSF (JSR 314)

• Wicket

• Tapestry

• Vaadin

Page 16: Андрей Беляев - 20 лет Java

IoT

Page 17: Андрей Беляев - 20 лет Java

JVM

Page 18: Андрей Беляев - 20 лет Java

Что дальше?

• Java 9• Jigsaw

Page 19: Андрей Беляев - 20 лет Java

Спасибо за внимание