Специальный учебный курс Механико-математического факультета Новосибирского государственного университета “Java-технологии”, Лекции: 32 часа; лабораторная работа 32 часа. В рамках курса рассматривается популярная платформа для разработки программного обеспечения Java. Изучаются основы: базовые конструкции языка, виртуальная javaмашина, стандартные библиотеки, среда разработки. Большое внимание уделяется современным технологиям разработки программного обеспечения, которые обеспечивают: взаимодействие с БД, создание сетевых сервисов, сборку, верификацию и отладку программ и т.д. Технологические знания и навыки будут закрепляться на лабораторных занятиях. Кроме этого, студенты смогут получить представления о современных методологиях разработки программных систем. Для наглядного представления материала на лекциях планируется использовать ноутбук с мультимедийным проектором. 1. Введение. История языка Java. Виртуальная Java-машина. Основные возможности и применения Java. Классификация платформ Java. 2. Основы Java. Синтаксис. Примитивные типы. Операторы. Интерфейсы, классы и объекты. Наследование, инкапсуляция, полиморфизм, типизация. Исключения. Области видимости. Пакеты классов. Компиляция и запуск Java-программ. 3. Расширения Java 5. Перечислимые типы. Аннотации. Шаблоны (generics). Автоматическое преобразование типов. 4. Стандартные библиотеки. Работа со строками. Потоки ввода-вывода. Файлы. Сетевые соединения. Коллекции. Локализация. Графика в Java. 5. Среда разработки. Интегрированные среды разработки: IDEA, Eclipse, Netbeans. Технология управления проектом Maven. Технологии тестирования: JUnit, Fitness. Режим отладки программ. Управление журналом сообщений. Документирование программ. 6. Взаимодействия с СУБД. Технология JDBC. Пул соединений. Понятие и принципы работы объектно-реляционного отображения. ORM. Технологии ORM: hibernate, ebatis. Языки построения запросов. Кэширование. 7. Java и web. Апплеты. Технология Java Servlet. Java server pages. Шаблон проектирования Model-View-Controller. Современные реализации MVC: Struts, Tapestry, Wicket. 8. XML. Модели документов DOM и SAX. XSL-преобразования. Web services. 9. Шаблоны проектирования (паттерны). UML. Основные, порождающие, структурные и поведенческие шаблоны. Антипаттерны. 10. Технологии J2EE. Сервера приложений. JavaBeans. Java Message Service (JMS). Java Persistence API (JPA). Dependency Injection.