Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 1 Основы программирования на языке Java Платформа Java.

Презентация:



Advertisements
Похожие презентации
Вперёд ЯЗЫКИ ПРОГРАММИРОВАНИЯ ЦЕЛИ: ЦЕЛИ: 1. Средство для задания действий, которые должны быть выполнены машиной.(Машинный язык) 1. Средство для задания.
Advertisements

Введение в объектно- ориентированное программирование на JAVA Макаревич Л. Г.
Разработка сред управляемого исполнения на примере виртуальной машины Java Занятие 2 Салищев С.И.
Синтаксис языка Java. Символы и синтаксис Перевод строчки эквивалентен пробелу Регистр в именах различается.
Виртуальная машина Java Андрей Дмитриев 2008.
Java: современные технологии разработки ПО Вашенков О.Е. ООО «РСС», разработчик ПО.
Web - сервисы. Веб-служба, веб-сервис (англ. web service) идентифицируемая веб-адресом программная система со стандартизированными интерфейсами.англ.веб-адресоминтерфейсами.
Практическое использование Java Макаревич Л. Г.. Инсталляция Java Документация в docs Прописать PATH (каталог bin в JSDK) Прописать CLASSPATH (путь к.
1 Java 1. ВВЕДЕНИЕ В КЛАССЫ И ОБЪЕКТЫ. 2 ООП Базовый способ борьбы со сложностью программных продуктов. Методология программирования, основанная на представлении.
Test 6 Вопрос 1. Как можно уничтожить объект в Java? a)присвоить null всем ссылкам на объект b)вызвать Runtime.getRuntime().gc() c)вызвать метод finalize()
Разработка сред управляемого исполнения на примере виртуальной машины Java Занятие 1 Салищев С. И.
Язык Java. JSP.. Java. Синтаксис. Перевод строчки эквивалентен пробелу Регистр в именах различается // Комментарии до конца строки /* Многострочные комментарии.
1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.
Изучение динамического определения типов. Класс Class. Динамическая загрузка и инстанцирование классов. В Java вся информация о классе хранится в специальном.
Обзор технологии Java Card. Что такое смарт - карта Карта снабженная микропроцессором, памятью, устройствами приема и передачи информации; Взаимодействие.
1 Java. Введение JDK, JRE, JVM, IDE Ерофеева Елена Анатольевна ассистент кафедры МПУ.
Рассматриваемые темы Технология EJB Типы EJB Вызов EJB Сборка и развертывание EJB- приложения 2-1.
Remote Method Invocation (RMI). Задачи распределенного программирования Получить некоторую информацию от одной удаленной машины и переслать ее другой.
1 (с) ИТЛаб, ННГУ, ВМК, 2003г Java 2 Micro Edition Жерздев С.В. Java 2 Micro Edition Лаборатория информационных технологий (ИТЛаб) При поддержке фирмы.
Java-технологии Основные черты и перспективы развития.
Транксрипт:

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 1 Основы программирования на языке Java Платформа Java

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 2 Исторические предпосылки Конец 1980 гг. – начало 1990 гг. основное средство ОО программирования – С++ Поздняя стандартизация Сильная зависимость от реализации и платформы, отсутствие стандарта на бинарное представление Достаточно высокая сложность Отсутствие стандартной библиотеки, содержащей средства сетевого и меж процессного взаимодействия и построения графического интерфейса Классическая модель построения систем – компиляция, связывание, построение образа процесса

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 3 Исторические предпосылки (продолжение) Язык программирования Oak (1991) James Gosling, Patric Naughton, Chris Warth, Ed Frank, Mike Sheridan, Sun Microsystems, Inc Разработка – 18 месяцев (первый компилятор – осень 1991г.) Платформенная независимость, переносимость, виртуальная машина Первоначальный акцент на «бытовую электронику», микроконтроллеры Момент совпал с бурным развитием Internet, WWW 1993г. – идея использования в сети Internet

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 4 Эволюция Java 1995 – Oak представлен мировой общественности под именем Java 1996 – версия 1.0 с библиотекой AWT 1997 – версия 1.1.x новый механизм обработки событий, расширенная библиотека 1998 – версия 1.2 с библиотекой JFC, платформа Java – версия 1.3, HotSpot оптимизация 2002 – версия 1.4, Асинхронный ввод-вывод – версия 1.5 Существенное расширение языка (boxing/unboxing, generics, foreach etc)

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 5 Принципы Java Простота Безопасность Переносимость, независимость от архитектуры ООП Многопоточность Высокая производительность Распределенность Динамичность (reflection) Интерпретируемость (до версии 1.3)

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 6 Цикл разработки и компиляции

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 7 Запуск и исполнение

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 8 Виртуальная машина Java: байт-код ClassFile { u4 magic; //0xCAFEBABE u2 minor_version; u2 major_version; //версия формата u2 constant_pool_count; //размер constant_pool cp_info constant_pool[constant_pool_count-1]; u2 access_flags; u2 this_class; u2 super_class; //информация о типе u2 interfaces_count; //реализуемые u2 interfaces[interfaces_count]; //интерфейсы u2 fields_count; field_info fields[fields_count]; //поля u2 methods_count; method_info methods[methods_count]; //методы u2 attributes_count; attribute_info attributes[attributes_count]; //атрибуты }

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 9 Виртуальная машина Java: типы данных boolean (ограниченная поддержка VM) byte (8 bit signed), short (16 bit signed) int (32 bit signed), long (64 bit signed) char (16 bit unsigned) float, double (IEEE 754) returnAddress (только VM, но нет в языке) reference type class type reference array type reference interface type reference

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 10 Виртуальная машина Java: runtime

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 11 Особенности языка Java Основан на синтаксисе С Развитая система типов («абстракция», «инкапсуляция», «типизация») Одиночное наследование классов и множественное наследование интерфейсов («иерархия») Развитая система пакетов («модульность») Обработка исключений Автоматическая сборка мусора Обеспечение конкурентного доступа к данным при многопоточности («параллелизм») Доступ к метаинформации (reflection api) Отсутствие низкоуровнего управления памятью Развитая библиотека (с поддержкой «сохраняемости»)

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 12 Библиотека Java (1.0) java.langбиблиотека языковой поддержки java.utilутилиты java.ioввод-вывод java.netсредства работы с сетью java.appletапплеты java.awtбиблиотека графического интерфейса

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 13 Особенности Java 1.1 inner classes java beans internationalization new GUI event model (listeners-adapters) new AWT (Abstract Window Toolkit) поддержка jar в апплетах serialization reflection security JDBC (Java Database connectivity) RMI (Remote Method Invocation)

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 14 Особенности java 1.2 (java 2 platform) переработана библиотека улучшенный ввод вывод расширенные коллекции перестроена система безопасности JFC (Java Foundation Classes): swing Pluggable look and feel поддержка Accessibility drag and drop Java 2D

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 15 Особенности Java 1.3 (java 2 platform)

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 16

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 17 Особенности Java 1.5 (java 2 platform) Обобщенное программирование (Generics) Алгоритмические усовершенствования: Autoboxing/Unboxing Усовершенствование синтаксиса циклов Поддержка произвольного количества аргументов в методах (Varargs) Статический импорт Поддержка метаданных (Annotations) Улучшение производительности Улучшения в системе отладки и мониторинга за java процессами

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 18 Особенности Java 1.6 (java 2 platform) Поддержка веб севисов (Web Services) Поддержка scripting Java DB Расширенная диагностика «Компиляция на лету» доступ к компилятору через API Множество новых возможностей в библиотеке (JSR)

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 19 Платформа J2EE (enterprise edition) Java API for XML (JAXP, JAXR, JAX-RPC, SAAJ) CORBA Enterprise Java Beans (EJB) Java Servlets Java Server Pages (JSP) Java Mail Java Message Service JDBC Transactions

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 20 Платформа J2ME (Micro Edition) CDC (Connected Device Configuration) & CVM CLDC (Connected Limited Device Configuration) & KVM JavaCard JavaCheck Java Phone API Java TV Java embedded server и многое другое…

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 21 Первая программа (Hello world) // file Hello.java public class Hello { public static void main( String args[] ) { System.out.println(Hello World!); System.out.println(My arguments:); for (int i = 0; i < args.length; i++) { System.out.println( arg[+i+] :+args[i]); } System.out.println(Good bye!); } C:\...>javac Hello.java C:\...>java Hello one two three fore five

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 22 Локализованный ввод-вывод import java.io.*; public class InputDemo { public static void main( String args[] ) { Writer ow = new OutputStreamWriter(System.out); PrintWriter pw = new PrintWriter(ow,true); Reader ir = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(ir); try { pw.print(Введите строку:); pw.flush(); String s = br.readLine(); pw.println(Вы ввели: +s); } catch (IOException ioex) { System.err.println(ioex); }

Новосибирск, 2004 (С) Всеволод Рылов, все права защищены 23 Использование пакетов //файл Hello.java в каталоге ru/nsu/fit/rylov/demo package ru.nsu.fit.rylov.demo; public class Hello { public static void main( String args[] ) { System.out.println(Hello World!); System.out.println( Class name:+Hello.class.getName()); System.out.println( Hello.class.getPackage()); } C:\...>javac ru/nsu/fit/rylov/demo/Hello.java C:\...>java ru.nsu.fit.rylov.demo.Hello Hello World! Class name:ru.nsu.fit.rylov.demo.Hello package ru.nsu.fit.rylov.demo