Основы Java
Редакции Java
Где используется Java
Принципы языка и платформы Java
Основные понятия
Отличия Java – C#
Сравнение Java и C#
Java в сравнении с С++
Java в сравнении с С++: чего нет в Java
Java в сравнении с C++: что добавилось
Инструментарий
Литература
Проблема выбора
Гиганты OpenSource разработки
Полезные сайты
Задание
271.00K
Categories: internetinternet softwaresoftware

Основы Java. Язык и платформа

1. Основы Java

Язык и платформа

2. Редакции Java

Java Standard Edition
Cреда для разработки
настольных и server-side
приложений.
Java Enterprise Edition
Основанный на Java SE, промышленный
стандарт реализации сервисориентированной архитектуры для
приложений enterprise-класса и вебприложений.
Java Micro Edition
Программная среда для разработки приложений под мобильные
и встраиваемые системы

3. Где используется Java

• BBC, CNN. Streaming media
systems.
Network,
Multimedia
Enterprise
Java Beans
• Работа с базами данных и
распределенными
транзакциями
JMS (Службы
гарантированной
доставки
сообщений)
• Высокопроизводительные
биллинговые системы (MTS)
• Rich Web Applications (Google
Mail, Calendar, …)
Webтехнологии,
AJAX
Где используется Java

4. Принципы языка и платформы Java

Мультиплатф
орменность
• Позволяет разрабатывать приложения,
независимые от аппаратной платформы и
операционной системы
Безопасност
ь
• Возможность ограничить возможности приложения
по взаимодействию с внешним миром (файловая
системы, сеть)
• Использование объектно-ориентированного
подхода везде, где это возможно
• Открытые стандарты, поддерживаемые и
развиваемые сообществом, открытые исходные
коды платформы
• Минимум ключевых слов и конструкций языка
Объектноориентированный
подход
Открытость
Минимализм
Принципы языка и
платформы Java

5. Основные понятия

Java
C#
Класс, метод, поле
Класс, метод, поле
Пакет (package)
Пространство имен (namespace)
Import <package>.*
Using <namespace>
Свойства – методы get/set
(JavaBeans)
Свойства (property)
Файловая система для
хранения пакетов и классов
-
Jar-архив (zip-архив)
Сборка (assembly)
Classpath
Assembly search path

6. Отличия Java – C#

Java
C#
Все методы виртуальные
Виртуальные методы надо
отмечать ключевым словом
virtual
Нет value-типов
Есть value типы (struct)
Для обработки событий
используются анонимные
классы
Для обработки событий
используются делегаты
Для nullable примитивов
используются классы-обертки
(Integer, Long, Double)
Для nullable примитивов
используются int? long? double?

7. Сравнение Java и C#

Нет свойств, событий, перегрузки операторов,
индексируемых свойств, неявных и явных операторов
преобразований
Есть внутренние классы, связанные с экземпляром
внешнего класса, анонимные классы
Нет инициализаторов для коллекций, LINQ, Lambdaвыражений
Нет out-параметров, var - объявлений
Generics похожи с т.з использования, но работают
принципиально по-другому
Другая структура программы (нет сборок, есть
classpath)
Нет unmanaged-кода
Мультиплатформенность

8. Java в сравнении с С++

Безопасность
Виртуальная машина Java
Байт-код, JIT-компиляция
Мультиплатформенность бинарных
модулей
Платформа
Минимализм языка

9. Java в сравнении с С++: чего нет в Java

Указателей.
Struct и union
Перегрузки операторов
Препроцессора
Глобальных переменных и функций
Множественного наследования
Деструкторов
Typedef
Unsigned – типы
Goto
<< и >>
Templates

10. Java в сравнении с C++: что добавилось

Сборка мусора (Garbage collection)
Unicode по-умолчанию
Встроенный тип String
Встроенная поддержка
многопоточности
@Аннотации (Атрибутное
программирование)
/** Комментарии для документации */

11. Инструментарий

junit
IDEs
Unit
тестирование
jconsole
javadoc
Авто
сборка
<apache ant>
TestNG
OpenSource
Фреймворки и библиотеки :
1. Apache, Jakarta
2. Spring Framework
3. Jboss
4. Codehaus

12. Литература

Брюс Эккель «Философия Java» 4
изд. (Thinking In Java)
Кей Хорстманн, Гари Корнелл «Java
2. Библиотека профессионала» (Core
Java)

13. Проблема выбора

1. Посмотреть встроенные средства
2. Посмотреть альтернативные
реализации среди OpenSource
Самые часто используемые (форум, мейл-
лист)
Самые активные в разработке (по релизам
и коммитам)
Самые легкие по использованию
Самые документированные
С понятным исходным кодом для отладки

14. Гиганты OpenSource разработки

Apache Software Foundation (
http://apache.org)
JBoss (http://jboss.org)
SpringSource (http://www.springsource.org)
Codehaus (http://www.codehaus.org)
Java.net (http://
www.java.net/projects/community)

15. Полезные сайты

http://Theserverside.com – новости,
статьи, обсуждения сообществом
http://infoq.com - новости, статьи, книги,
ролики – более тщательно отобранные
http://java-source.net/ - реестр (не полный
и не всегда актуальный) OpenSource
проектов на Java по категориям
http://
www.oracle.com/technetwork/index.html источник официального софта и
документации

16. Задание

Найти и выбрать лучшую библиотеку
для:
Рисование диаграмм (Charting)
XML-(де) сериализация (XML Serialization)
Протоколирование (Logging)
Кэширование (Cache)
Работа с коллекциями (Collections)
Встроенная Java База данных (Java
embedded Database)
Движок для работы с правилами (Rule
Engine)
Поисковый движок (Search Engine)
Работа с текстовыми шаблонами
English     Русский Rules