Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемmadagascar1506.narod.ru
1 Java-технологии Основные черты и перспективы развития
2 Содержание Введение Компоненты Java- технологии Виртуальная Java-машина Происхождение Java-языка Основные преимущества Java-технологии Безопасность Эффективность Объектно-ориентированная направленность Устойчивость к ошибкам Поддержка многопоточности Независимость от архитектуры Преимущества интерпретированности в сравнении с высокой продуктивностью Распределенность Доступность инструментария и эффективность разработок Перспективы развития Интересный факт из истории создания Java-технологии, или удар по «пакету Windows» Вывод
3 Введение Технология Java язык Java виртуальная Java-машина специальные дополнительные меры для обеспечения безопасности и надежной работы сетевых устройств и ПО
4 Виртуальная Java-машина основным механизмом управления программами, написанными на языке Java. Любой процессор Java должен соответствовать спецификации виртуальной Java-машины, которая является основным механизмом управления программами, написанными на языке Java. Эта спецификация полностью определяет систему команд Java, типы данных, обрабатываемых Java-машиной и ее регистры.
5 Java-машина обрабатывает следующие типы данных : byte - байты, short - двухбайтные целые числа, integer - четырехбайтные целые числа, long - восьмибайтные целые числа, float - четырехбайтные вещественные числа, double - восьмибайтные вещественные числа, char - двухбайтные символы, object - четырехбайтные ссылки на объекты, returnAddress - четырехбайтные адреса возврата из метода.
6 Java-машина имеет следующие регистры: pc - счетчик команд, указывающий на код операции, которая будет выполняться следующей, vars - регистр для доступа к локальным переменным текущего метода, optop - указатель на стек операндов (так как основная часть операций выполняются именно через стек), frame - указатель на структуру окружения времени выполнения.
7 Три способа выполнения байт-кода Java
8 Происхождение Java-языка зародился в 1991 году в лабораториях компании Sun Microsystems разработка первой рабочей версии заняла 18 месяцев и имела название Oak, но в 1995 году проект был переименован на Java период становления Java совпал со временем расцвета международной информационной службы World Wide Web.
9 Основные преимущества Java-технологии Безопасность Эффективность Объектно-ориентированная направленность Устойчивость к ошибкам Поддержка многопоточности Независимость от архитектуры Преимущества интерпретированности в сравнении с высокой продуктивностью Распределенность Доступность инструментария и эффективность разработок
10 Безопасность Java имеет интерпретированный язык пространство ресурсов Java-программ ограничено так называемой виртуальной Java-машиной, которая может контролировать поведение программы и защищать систему от побочных эффектов, которые могут возникать по вине процессора в языке Java есть дополнительные ограничения, которые не позволяют процессору стать «троянским конем» Java-процессор не может получить доступ к локальному жесткому диску
11 Эффективность Интерпретация - это наипростейший путь к перенесению программ, реализованных в Java- технологии. Но Java не является интерпретированным языком в чистом понимании. Программа на Java компилируется. Результатом работы компилятора Java является байт- код (bytecode). Байт-код – это оптимизированный набор команд, предназначенный для исполнения виртуальной Java-машиной.
12 Java-машина имеет следующий набор команд: загрузки констант и переменных в стек операндов, записи переменных из стека операндов в локальные переменные, управления массивами, обработки стека, арифметические стековые, логические стековые, преобразования типов, передачи управления, вызова методов, возврата из метода, манипулирования полями объектов, возбуждения исключительной ситуации, синхронизации, прочие объектные операции.
13 Объектно-ориентированная направленность унаследовала механизм объектно- ориентированно программирования от С++ объектная модель Java просто и легко расширяется, в то время как о стальные типы остаются как данные, которые не являются объектами, что позволяет значительно увеличить скорость при их обработке.
14 Устойчивость к ошибкам Java имеет строго определенный язык программирования Исполнительная система Java берет на себя «сбор мусора», чтобы автоматически очистить память, недоступную для программы на смену С++ в Java обработка исключительных ситуаций является обязательной. Из-за этого невозможно скомпилировать программу, которая открывает файл, не обработав возможные ошибки типа «файл не найден», которые возникают при этом. Хорошо написанная Java-программа может сама обрабатывать все ошибки во время исполнения.
15 Поддержка многопоточности Выполнение Java-программы основано на элегантном, но в то же время высокоорганизованном решении многофункциональной синхронизации, которая позволяет создавать высокоэффективные интерактивные системы.
16 Независимость от архитектуры «написанное однажды работает везде, в любое время и всегда» Java является системой, которая легко расширяется за счет исполнения создания новых стандартных классов и библиотек.
17 Распределенность Язык Java предназначен для создания программ, которые работают в распределенной среде Internet на базе протоколов TCP/IP в Java присутствует явный уклон передачи сообщений в границах внутреннего адресного пространства высокий уровень абстракции в программировании для среды клиент/сервер.
18 Доступность инструментария и эффективность разработок Простота программирования на Java. Простота программирования на Java. Переносимость программ на Java, поскольку ликвидируются затраты, связанные с адаптацией программ на конкретных платформах. Переносимость программ на Java, поскольку ликвидируются затраты, связанные с адаптацией программ на конкретных платформах. Интегрированные программы оболочки для разработки Java программ стоят намного дешевле, чем аналогичные продукты С++ Интегрированные программы оболочки для разработки Java программ стоят намного дешевле, чем аналогичные продукты С++ набор инструментария для пакетной компиляции Java программ JDK является freeware набор инструментария для пакетной компиляции Java программ JDK является freeware
19 Сhat-программа состоит из четырех классов: Server ClientConnection Client ServerConnection
20 Класс Server import java.net.*; import java.io.*; import java.util.*; public class Server implements Runnable { private int port = 6564; private Hashtable idcon = new Hashtable(); private int id = 0; static final String CRLF = "\r\n"; synchronized void addConnection(Socket s) { ClientConnection con = new ClientConnection(this, s, id); id++; }
21 Продолжение программы… synchronized void set(String the_id, ClientConnection con) { idcon.remove(the_id) ; con.setBusy(false); Enumeration e = idcon.keys(); while (e.hasMoreElements()) { String id = (String)e.nextElement(); ClientConnection other = (ClientConnection) idcon.get(id); if (!other.isBusy()) con.write("add " + other + CRLF); } idcon.put(the_id, con); broadcast(the_id, "add " + con); }
22 Продолжение программы… synchronized void sendto(String dest, String body) { ClientConnection con = (ClientConnection)idcon.get(dest); if (con != null) { con.write(body + CRLF); } } } synchronized void broadcast(String exclude, String body) { Enumeration e = idcon.keys(); while (e.hasMoreElements()) { String id = (String)e.nextElement(); if (!exclude.equals(id)) { ClientConnection con = (ClientConnection) idcon.get(id); con.write(body + CRLF); } } }
23 Продолжение программы… synchronized void delete(String the_id) { broadcast(the_id, "delete " + the_id); } synchronized void kill(ClientConnection c) { if (idcon.remove(c.getId()) == c) { delete(c.getId()); } } public void run() { try { ServerSocket acceptSocket = new ServerSocket(port); System.out.println("Server listening on port " + port); while (true) {
24 Окончание программы! Socket s = acceptSocket.accept(); addConnection(s); } } catch (IOException e) { System.out.println("accept loop IOException: " + e); } } public static void main(String args[]) { new Thread(new Server()).start(); try { Thread.currentThread().join(); } catch (InterruptedException e) { } }
25 Вывод Java-технология является очень перспективной в разработках некоммерческого использования Ограниченность инструментария Java не проявляется в проектах небольшого объема Простота программирования различных программ, которые работают в сети Internet/Intranet Переносимость Java программ вызывает необходимость обмена обучающими программами привлекательной с точки зрения эффективности остается идея внедрения в образовательные учреждения сетевых компьютеров (Network Computers), которые работают на базе Java), вместо привычных персональных компьютеров (Personal Computers)
26 СПАСИБО ЗА ВНИМАНИЕ!!! Надеюсь, вышеизложенная информация будет полезной в изучении Java- технологии и поможет Вам лучше сориентироваться в современном мире высоких технологий;)
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.