История версий
Java 1.0
Разработка Java началась в 1990 году, первая официальная версия — Java 1.0, — была выпущена только в 1996 году.
Java 1.2
К 1998 году была разработана обновлённая спецификация JDK 1.2, вышедшая под наименованием Java 2. Язык практически не изменился — было добавлено одно ключевое слово strictfp. Платформа получила следующие дополнения:
Библиотека Swing для создания графического интерфейса пользователя .
Коллекции (JSR 166).
Поддержка файлов Policy и цифровых сертификатов пользователя.
Библиотека Accessibility.
Java 2D.
Поддержка технологии drag-and-drop.
Полная поддержка Unicode, включая поддержку ввода на японском, китайском и корейском языках.
Поддержка воспроизведения аудиофайлов нескольких популярных форматов.
Полная поддержка технологии CORBA.
JIT-компилятор, улучшенная производительность.
Усовершенствования инструментальных средств JDK, в том числе поддержка профилирования Java-программ
Java 2
В данном случае встречается путаница. Выпускались книги, например, Beginning Java 2 by Ivor Horton (Mar 1999), фактически по JDK 1.2 (бывшее название — Java 2). Вместе с тем, по сей день такие книги публикуются, например: Х. М. Дейтел, П. Дж. Дейтел, С. И. Сантри. Технологии программирования на Java 2. Распределенные приложения (2011).
В то время, когда, как известно, Java 2 была исторически заменена следующими релизами, подобные названия книг дезориентируют в понимании, о какой же версии Java они написаны на самом деле. Если JDK 1.2 принято считать за Java 2, а авторы книг за Java 2 принимают JDK 7, это приводит к полной путанице.
Java 5.0
Спецификация Java 5.0 была выпущена в сентябре 2004 года. C этой версии изменена официальная индексация, вместо Java 1.5 правильнее называть Java 5.0. Внутренняя же индексация Sun осталась прежней — 1.x. Минорные изменения теперь включаются без изменения индексации, для этого используется слово «Update» или буква «u», например Java Development Kit 5.0 Update 22. Предполагается, что в обновления могут входить как исправления ошибок так и небольшие добавления в API, JVM.
В данной версии разработчики внесли в язык целый ряд принципиальных дополнений:
Перечислимые типы (англ. enum). Ранее отсутствовавшие в Java типы оформлены по аналогии сC++, но при этом имеют ряд дополнительных возможностей.
Перечислимый тип является полноценным классом Java, то есть может иметь конструктор, поля, методы, в том числе скрытые и абстрактные.
Перечисление может реализовывать интерфейсы.
Для перечислений имеются встроенные методы, дающие возможность получения значений типа по имени, символьных значений, соответствующих именам, преобразования между номером и значением, проверки типа на то, что он является перечислимым.
Аннотации — возможность добавления в текст программы метаданных, не влияющих на выполнение кода, но допускающих использование для получения различных сведений о коде и его исполнении. Одновременно выпущен инструментарий для использования аннотированного кода. Одно из применений аннотаций — упрощение создания тестовых модулей для Java-кода.
Средства обобщённого программирования (англ. generics) — механизм, аналогичный Eiffel (позже также появились и в C#, принципиально отличаются от шаблонов C++), дающий возможность создавать классы и методы с полями и параметрами произвольного объектного типа. С использованием данного механизма реализованы новые версии коллекций стандартной библиотеки Java.
Методы с неопределённым числом параметров.
Autoboxing/Unboxing — автоматическое преобразование между скалярными типами Java и соответствующими типами-врапперами (например, между int — Integer). Наличие такой возможности сокращает код, поскольку исключает необходимость выполнения явных преобразований типов в очевидных случаях.
Разрешён импорт статических полей и методов.
В язык введён цикл по коллекции объектов (итератор, англ. foreach).
Было введено использование Javadoc-комментариев, которые используются для автоматического оформления документации по комментариям в исходном коде.
Java 6
Релиз версии состоялся 11 декабря 2006 года. Изменена официальная индексация — вместо ожидаемой 6.0 версия значится как 6. Минорные изменения как и в Java 5.0 вносятся в обычные обновления версии, например Java SE Development Kit 6 Update 27. Внесены следующие изменения:
Коллекции — добавлены интерфейсы для организации очереди, работающей с двух сторон коллекции; организовывающие поиск по ближайшему соответствию; блокирующие себя во время ожидания элемента. Организованы новые классы, реализующие перечисленные интерфейсы.
Добавлена поддержка японского императорского календаря (наряду с уже существующими григорианским и буддийским календарями).
Доступны классы-потоки для чтения и передачи сжатых данных, с возможностью передачи их по сети. Сняты ограничения на количество файлов в архиве (ранее 64Кб), длину названия файла (ранее 256 символов) и количество одновременно открытых файлов (ранее 2000 шт).
Организована система управления кешэм и добавлена поддержка параметра "no-cache" в HTTP-запросе.
JConsole, графический мониторинг JVM, стала официально поддерживаемой утилитой.
Java HTTP Server, позволяет создать полноценный HTTP сервер, с минимально необходимыми функциональными свойствами.
Повысилась скорость вычислений на 70%, скорость операций ввода/вывода возросла в два раза.[19]
Swing - улучшена работоспособность OpenGL и DirectX; обработка текста на LCD; добавлен GifWriter, для работы с файлами .gif.
Исправлено большое количество ошибок.
Java 7
Релиз версии состоялся 28 июля 2011 года[20]. В финальную версию Java SE 7 не были включены все ранее запланированные изменения. Согласно плану развития (план «Б»)[21], включение нововведений будет разбито на две части: Java SE 7 (без лямбд, проекта Jigsaw, и части улучшений Coin) и Java SE 8 (все остальное), намеченный на конец 2012 года.
В новой версии, получившей название Java SE 7 (Java Platform, Standard Edition 7), помимо исправления большого количества ошибок были представлено несколько новшеств. Так, например, в качестве эталонной реализации Java SE 7 использован не проприетарный пакет JDK, а его открытая реализацияOpenJDK, а сам релиз новой версии платформы готовился при тесном сотрудничестве инженеровOracle с участниками мировой экосистемы Java, комитетом JCP (Java Community Process) и сообществом OpenJDK. Все поставляемые Oracle бинарные файлы эталонной реализации Java SE 7 собраны на основе кодовой базы OpenJDK, сама эталонная реализация полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с проприетарными продуктами. К другим нововведениям относится интеграция набора небольших языковых улучшений Java, развиваемых в рамках проекта Coin, добавлена поддержка языков программирования с динамической типизацией, таких как Ruby, Python и JavaScript, поддержка загрузки классов по URL, обновленный XML-стек, включающий JAXP 1.4, JAXB 2.2a и JAX-WS 2.2 и другие[22].
За 5 дней до выхода релиза Java SE 7 было обнаружено несколько серьёзных ошибок в горячей оптимизации циклов, которая включена по умолчанию и приводит виртуальную машину Java к краху. Специалисты Oracle найденные ошибки за столь короткий срок исправить не могли, но пообещали, что они будут исправлены во втором обновлении (Java 7 Update 2) и частично в первом[23].
- Определение асни. Типовая структура. Применение асни. Цели создания асни.
- Автоматизированные системы научных исследований (асни)
- Типовая структура
- Для чего нужны асни?
- Назначение и применение руководящих материалов
- Цели создания асни
- Определение, функции, принципы создания асни.
- Функции асни
- Структура асни
- Основные принципы создания асни
- Интеграция автоматизированных систем как асни,сапр ,сапр тп,асу,асу тп. Десять основных этапов, подлежащих автоматизации в асни.
- Примеры
- Системы автоматизации научных исследований
- Автоматизация экспериментов.
- Структурное развитие систем автоматизации экспериментов. Эволюция структур.
- Универсальная система автоматизации экспериментальных исследований.
- Структура аппаратных средств системы автоматизации эксперимента
- Окончательная конфигурация аппаратных средств и программного обеспечения
- Система сбора и первичной обработки данных
- Источники питания
- Система управления ходом физического эксперимента и развернутой обработки данных
- Программное обеспечение
- Описание работы системы
- Многофункциональная тиражируемая система автоматизации лабораторного эксперимента Назначение и область применения
- Структура и состав системы
- Особенности системы
- Примеры применения
- Автоматизированная система управления технологическим процессом.
- Система автоматизированного проектирования. Цели создания и задачи. Структура.
- Расшифровки и толкования аббревиатуры
- Английский эквивалент
- Цели создания и задачи
- Состав и структура По гост
- Система автоматизированного проектирования. Подсистемы. Компоненты и обеспесение.
- Компоненты и обеспечение
- Система автоматизированного проектирования. Классификация. Развитие рынка cad/cam/cae-систем. По гост
- Классификация английских терминов
- По отраслевому назначению
- По целевому назначению
- Периодические издания
- См. Также
- Примечания
- Наиболее распространённые cae-системы
- История развития
- Программная среда для разработки и запуска распределенных систем управления асни.
- Виды асни. Scada - система диспетчерского управления и сбора данных в реальном времени.
- Основные задачи, решаемые scada-системами
- Основные компоненты scada
- Концепции систем
- Некоторые распространенные scada
- Уязвимость
- Виды асни. Tango — распределенная система управления.
- Поддерживаемые языки программирования
- Лицензия
- Консорциум
- Использование в России
- Виды асни. Corba - поддержка разработки и развёртывания сложных объектно-ориентированных прикладных систем
- Назначение corba
- Общий обзор
- Ключевые понятия технологии Объекты по значению
- Компонентная модель corba (ccm)
- Общий протокол межброкерного взаимодействия (giop)
- Ссылка на объект (Corba Location)
- Языки асни. Java — объектно-ориентированный язык программирования.
- Написание в русском языке
- [Править]Основные особенности языка
- История версий
- Список нововведений
- Классификация платформ Java
- Применения платформы Java
- Производительность
- Основные возможности
- Пространство имён
- Пример программы
- Основные идеи Примитивные типы
- Преобразования при математических операциях
- Объектные переменные, объекты, ссылки и указатели
- Дублирование ссылок и клонирование
- Сборка мусора
- Классы и функции
- Статические методы и поля
- Завершённость (final)
- Абстрактность
- Интерфейсы
- Маркерные интерфейсы
- Шаблоны в Java (generics)
- Проверка принадлежности к классу
- Библиотеки классов
- Средства разработки по
- Спецификация jvm
- Конкуренция между Sun и Microsoft
- Разногласия между Sun и ibm
- Среда исполнения
- Виртуальная машина Parrot , используемая интерпретируемыми языками для эффективного исполнения байт-кода.
- Примеры Регистры
- Поддерживаемые платформы
- Операционные системы асни. Ли́нукс.
- Название
- Операционные системы асни. Unix.
- Коммерческий и общественный спрос
- Текущее развитие
- Логотип Linux
- Интерфейс пользователя
- Разработка
- Сообщество
- Программирование в Linux Применение
- Дистрибутивы Linux.
- Безопасность
- Критика со стороны Microsoft
- Типичная архитектура асни на примере х86 и др.
- Основные особенности архитектуры
- Сегментная организация памяти Реальный режим (real mode)
- Защищённый режим (protected mode)
- Режим виртуального 8086 (virtual 8086 mode, v86)
- Смешанные режимы
- Страничная организация памяти
- Расширения, применяемые в процессорах для работы в асни.
- Процессоры, применяемые для работы в асни. Процессоры Intel
- Процессоры amd
- Процессоры Harris Semiconductor
- Процессоры Cyrix
- Процессоры idt
- Процессоры oki
- Процессоры Rise Technology
- Процессоры via
- Процессоры nec
- Процессоры NexGen
- Процессоры SiS
- Процессоры Transmeta
- Процессоры umc
- Процессоры, выпускавшиеся в ссср и России[5]
- Процессоры blx ic Design/ict
- Производители
- Среда интерфейс командной строки Cygwin в Microsoft Windows для работы в асни.
- Описание
- История
- Интернационализация
- Работа с кириллицей
- Базовые функции интерфейсов программирования приложений операционных систем семейств Windows api для работы в асни.
- Общие сведения
- Технологии, доступные через Windows api
- История
- Платформы
- Функциональность
- Системные функции
- Сетевые функции
- Уникальные, передовые функции
- Безопасность
- Лицензии и распространение
- Области применения
- Solaris — компьютерная операционная система, используемая в асни.
- История
- Поддерживаемые архитектуры
- Графический пользовательский интерфейс
- Файловые системы
- Архитектура sparCv7
- Операционные системы, работающие на sparc
- Реализации с открытым кодом
- Суперкомпьютеры
- Свободная Unix-подобная операционная система FreeBsd, используемая в асни.
- История
- Версии системы
- Модель разработки FreeBsd
- Варианты установки
- Порты и пакеты
- Талисманы-логотипы
- Производные системы
- Универсальная система анализа, трансформации и оптимизации программ в асни Low Level Virtual Machine (llvm).
- История
- Особенности
- Платформы
- Типы данных Простые типы
- Производные типы
- Операции
- Операции с указателями
- Литература
- Журналы