Какими свойствами обладает платформа java

Какими свойствами обладает платформа java thumbnail

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 26 мая 2016;
проверки требуют 4 правки.

Программная платформа Java — ряд программных продуктов и спецификаций компании Sun Microsystems, ранее независимой компании, а ныне дочерней компании корпорации Oracle, которые совместно предоставляют систему для разработки прикладного программного обеспечения и встраивания её в любое кросс-платформенное программное обеспечение.
Java используется в самых разных компьютерных платформах от встраиваемых устройств и мобильных телефонов в нижнем ценовом сегменте, до корпоративных серверов и суперкомпьютеров в высшем ценовом сегменте.

Технология Java-апплетов стала редко используемой в настольных компьютерах, однако она иногда используется для улучшения функциональности и повышения безопасности при просмотре всемирной паутины.

Программный код, написанный на Java, виртуальная машина Java исполняет байт-код Java. Однако есть компиляторы байт-кода для других языков программирования, таких как Ada, JavaScript, Python, и Ruby. Также есть несколько новых языков программирования, разработанных для работы с виртуальной машиной Java. Это такие языки как Scala, Clojure and Groovy. Синтаксис Java (англ.) в основном заимствован из Си и C++, но объектно-ориентированные возможности основаны на модели, используемой в Smalltalk и Objective-C[1]. В Java отсутствуют определённые низкоуровневые конструкции, такие как указатели, также Java имеет очень простую модель памяти, где каждый объект расположен в куче и все переменные объектного типа являются ссылками. Управление памятью осуществляется с помощью интегрированной автоматической сборки мусора, которую выполняет JVM.

13 ноября 2006 года компания Sun Microsystems сделала большую часть своей реализации Java доступной в соответствии с GNU General Public License (GPL)[2] , хотя некоторые части поставляются в скомпилированном виде из-за вопросов авторского права с кодом, на который имеет лицензию (но не право собственности) компания Sun Microsystems[3].

Платформа[править | править код]

Программная платформа Java — это имя для пакета программ компании Sun, которые позволяют разрабатывать и запускать программы, написанные на языке программирования Java. Эта программная платформа не является специфической для какого-либо одного процессора или операционной системы, но механизм выполнения (называемый виртуальной машиной) и компилятор с набором библиотек, которые реализованы для различного аппаратного обеспечения и различных операционных систем, чтобы Java-программы могли работать везде одинаково.

  • Java Card: Технология, которая позволяет небольшим Java-приложениям (апплетам) надежно работать на смарт-картах и других подобных устройств c малым объёмом памяти.
  • Java ME: Включает в себя несколько различных наборов библиотек (известных как профили) для устройств с ограниченным объёмом места для хранения, небольшим размером дисплея и батареи. Часто используется для разработки приложений для мобильных устройств, КПК, ресиверов цифрового телевидения и принтеров.
  • Java SE: для использования на настольных ПК, серверах и другом подобном оборудовании.
  • Java EE: Java SE плюс API, полезное для многоуровневых клиент-серверных бизнес-приложений (англ.).

Примечания[править | править код]

Ссылки[править | править код]

  • Andrew Binstock. The JVM As Language Farm Club // Dr. Dobb’s Journal. — February 14, 2012.
  • Eric Bruno. A Long Look at JVM Languages // Dr. Dobb’s Journal. — November 19, 2012.

Источник

Какими свойствами обладает платформа java
Java — открытый объектно-ориентированный язык программирования, создавался для преодоления сложностей, связанных с написанием и компилированием программного обеспечения для различных операционных систем и различных устройств.

Java переводится как «кофе». Почему же так назвали серьёзный язык программирования? Да просто потому что программисты-разработчики очень любили кофе!

Целью разработчиков было создать инструмент позволяющий писать код, который будет полностью переносимым (кроссплатформенным) и в то же время эффективным, стабильным и будет быстро выполняться.

Кроссплатформенность была достигнута за счёт создания виртуальной машина Java.

Java Virtual Machine или JVM — это программа, являющаяся прослойкой между операционной системой и Java программой.

В среде виртуальной машины выполняются коды Java программ. Реализованы версии JVM для всех существующих операционных систем.

Другие достижения разработчиков

  • Разработчики достигли значительного сокращения времени на создание сложных программ, благодаря читаемому и понятному коду, синтаксис которого похож на C/C++.
  • Предотвращение несанкционированного выполнения вредоносного кода за счёт системы безопасности.
  • Добились элегантного решения таких сложных задач как многопоточность, сетевое взаимодействие, создание распределённых приложений, работа с потоками данных, предотвращение утечки памяти, перехватывание и обработка ошибок и исключений.
  • Была разработана технология апплетов — динамически загружаемых программ, которые работают в среде веб браузера и позволяют вносить интерактивность в веб страницы.
  • Разработана технология WEB-start, предоставляющая возможность запускать программу онлайн, кликом по ссылке на веб странице. При этом программа загружается, кэшируется и запускается, не требуется процесс установки и обновления подобного программного обеспечения, также достигается кроссплатформенность.
  • И, наконец, была разработана платформа JavaFX, она основана на Java и используется для быстрого создания замечательных приложений с современным пользовательским интерфейсом. Эта технология также используется для запуска и разработки RIA — Rich Internet Applications, для создания программного обеспечения по работе с мультимедиа и для программирования на языке JavaFX Script.

Разделение платформы на три составляющие

  • Java Standard Edition (Java SE) — кроме JVM, предоставляет набор библиотек для создания десктоп приложений, как консольных, так и оконных с продвинутым пользовательским интерфейсом.
  • Java Enterprise Edition (Java EE) — надстройка над Java SE, предоставляет набор библиотек для создания web приложений, от обычных сайтов, до сложнейших корпоративных веб приложений.
  • Java Micro Edition (Java ME) — вариант виртуальной машины, оптимизированной для работы на портативных устройствах — карманных компьютерах и мобильных телефонах.
Читайте также:  Какие органы чувств могут определить свойства воды

В настоящее время платформа Java EE является лучшей основой для создания корпоративных (enterprise) приложений.

Что предлагает нам установка Java платформы

  • Java Runtime — среда выполнения, обеспечивается виртуальной машиной.
  • Инструменты для разработки — компилятор, отладчик, инструмент для создания документации.
  • API — Application Programming Interface, обширный набор готовых библиотек для решения типичных и нетипичных задач.

Как работают Java программы

  • Программист создаёт файл с расширением JAVA и помещает в него исходный код программы.
  • С помощью компилятора на основании исходного кода создаётся файл с расширением CLASS, в него компилятор помещает байтовый код программы — команды для виртуальной машины.
  • При запуске программы загружается и выполняется файл с байт-кодом.

В настоящее время на Java написано огромное количество качественного и полезного программного обеспечения, чтобы не упускать все преимущества его использования или получить удовольствие создавая Java программы, приступим к установке виртуальной машины Java.

Добавить эту страницу в закладки:

  • admin’s блог

Источник

Важнейшая проблема, с которой мы начнем наш разговор, — это разница между языком Java и платформой Java. Это весьма важно понимать разницу  для будущих профессиональных программистов на языке Java, чтобы создавать гибкие, эффективные и элегантные приложения под базы данных Oracle. Удивительно, но разные авторы по-разному определяют и феномен языка, и феномен платформы. Из-за этого может возникать неясность и некоторая путаница и в том, чем отличаются язык и платформа, и в том, к чему относятся те или иные программные функции, используемые в коде приложения.

Четко очертим эти различия прямо сейчас, так как эта разница затрагивает суть самых разных тем программирования. Итак, вот эти определения.

  • Язык Java — это статически типизированный объектно-ориентированный язык, над которым мы немного пошутили в разделе «Об этой книге». Надеемся, что вы уже довольно хорошо знакомы с ним. Одно из самых очевидных качеств языка Java заключается в том, что он пригоден для чтения человеком (или, по крайней мере, должен таким быть!).
  • Платформа Java — это программное обеспечение, предоставляющее нам среду времени исполнения. Это виртуальная машина Java (JVM), линкующая и выполняющая ваш код в том виде, в каком он ей предоставляется. Код предоставляется в виде файлов классов, непригодных для чтения человеком. Иными словами, машина не интерпретирует непосредственно файлы с исходным кодом на языке Java, а требует предварительного преобразования этого кода в файлы классов.

Одна из основных причин успеха  Java как системы ПО заключается в ее стандартизации. Это означает, что Java имеет спецификации, описывающие, как должна работать платформа. Стандартизация позволяет различным производителям и участникам разнообразных проектов создавать реализации, которые теоретически должны работать одинаково. Такие спецификации не гарантируют, насколько высока будет производительность конкретной реализации одной конкретной задачи, но вполне гарантируют правильность результатов.

Существует несколько отдельных спецификаций, управляющих системой Java. Самые важные из них — это спецификация языка Java (JLS) и спецификация виртуальной машины Java (VMSpec). В версии Java 7 это разделение соблюдается очень строго; на самом деле VMSpec уже нигде не ссылается на JLS. Если вы усматриваете в этом признак того, насколько серьезно в Java 7 поставлена работа с исходными языками, не являющимися Java, то нам нравится ход ваших мыслей, продолжайте в том же духе. Ниже мы подробнее обсудим разницу между двумя этими спецификациями.

При внимательном изучении такого дуализма напрашивается вопрос: «А какова же связь между языком и платформой?» Если в Java 7 они настолько разделены, то как они стыкуются и образуют общую систему Java?

Связь между языком и платформой заключается в совместном использовании файлов классов (файлов в формате .class). Рекомендуем серьезно изучить определение файлов классов. Эти сведения вам точно не помешают, а знание этой темы — один из способов, позволяющих хорошему Java-программисту стать выдающимся. На рис. 1. показан полный процесс создания и использования кода Java.

Рис. 1. Исходный код Java преобразуется в файлы .class, затем с ним производятся манипуляции в период загрузки, после чего он подвергается динамической компиляции

Как понятно из рисунка, код Java начинается в виде исходного кода, написанного программистом и пригодного для чтения человеком. После этого javac компилирует его в файл .class. Затем эта информация загружается в виртуальную машину Java. Обратите внимание, что манипуляции с классами и их изменение зачастую осуществляются в ходе процесса загрузки. Многие популярные фреймворки (особенно те, в названии которых присутствует слово Enterprise) преобразуют классы в ходе загрузки.

Итак, когда мы немного разъяснили разницу между языком и платформой Java, поговорим о некоторых заметных изменениях синтаксиса языка, появившихся в Java 7. Начнем с небольших синтаксических перемен, объединенных в рамках проекта «Монета». Данный пример будет поучительным для программистов, которые стремятся создавать эффективные программы под СУБД Oracle.

Вас заинтересует / Intresting for you:

Источник

13.1 Основные свойства платформы Java

Принято считать, что технология Java зародилась в 1980 г. Она была создана группой разработчиков фирмы Sun Microsystems, инициаторами этого проекта являлись Патрик Нотон и Джеймс Гослинг. Первоначально этот проект (тогда он назывался Oak) предназначался для управления включением в сеть бытовых устройств со встроенными вычислительными возможностями. В 1995 году проект получил свое нынешнее название и был переориентирован на программирование в Internet. В дальнейшем возможности и функции языка и платформы Java существенно расширились. На сегодняшний день можно назвать четыре типа программ, создаваемых в рамках технологии Java:

Читайте также:  Какие специфические свойства характерны для радиоактивных веществ

приложения — программы в обычном смысле, выполняемые, однако, в среде платформы Java;

аплеты — программы, выполняемые в среде Web-броузера, поддерживающего платформу Java (Sun HotJava, Netscape Communicator, Microsoft Internet Explorer), такие программы могут передаваться по Internet и выполняться на компьютере клиента;

сервлеты и корпоративные бины — Java-программы, серверные компоненты распределенных приложений;

программы (пока для них нет общего названия), выполняющиеся в средах продуктов промежуточного программного обеспечения, например, программы для сервера приложений Lotus Domino, хранимые процедуры для СУБД IBM DB2 и Oracle и т.п.

Технология Java состоит из двух основных компонентов:

языка программирования Java [19];

платформы Java [25].

Язык программирования Java является универсальным объектно-ориентированным языком программирования, синтаксис которого очень похож на синтаксис C++. Отличия Java от С++ состоят в том, что, во-первых, Java гораздо более последовательно воплощает парадигму объектно-ориентированного программирования, во-вторых, в Java отсутствуют некоторые свойства C++, делающие последний трудным для понимания и легким для ошибок (например, арифметика указателей), в-третьих, в Java введены некоторые дополнительные свойства, расширяющие его функциональность (например, нити и синхронизация). Сам по себе язык Java был бы не столь интересен (во всяком случае, для нас), если бы не платформа Java. Платформа Java или среда выполнения Java (JRE — java runtime environment) — это набор программных средств, обеспечивающих выполнение Java-программы на любой аппаратной платформе и в среде любой ОС. В JRE входит виртуальная машина Java и набор стандартных библиотек Java. Девиз технологии Java — «написано однажды — работает везде». Sun Microsystems декларирует большой набор достоинств языка и платформы Java, но, безусловно, ключевым достоинством Java является переносимость.

Переносимость в Java достигается за счет того, что Java-программа компилируется не непосредственно в команды какой-либо конкретной ЭВМ, а в, так называемый, байт-код Java — команды некоторой абстрактной машины, называемой виртуальной машиной Java (Java VM), как показано на рисунке 13.1. Конечным результатом (исполняемым модулем) является файл класса — программа в байт-коде Java. На целевой платформе (на той машине, на которой программа выполняется) должна быть запущена программная Java VM, которая эмулирует ЭВМ, способную выполнять команды байт-кода Java. Сама Java VM платформенно-зависимая, то есть, предназначена для выполнения на конкретной платформе и в конкретной операционной системе. Java VM читает команды байт-кода Java и моделирует их выполнение на той аппаратной платформе и в той операционной среде, в которой она работает. При этом она использует библиотеки Java, также платформенно-зависимые. Стержнем технологии являются спецификации байт-кода Java, файла класса и Java VM. Компиляторы Java могут быть созданы (и создаются) разными разработчиками, но все генерируемые ими исполняемые модули должны соответствовать спецификациям байт-кода Java. Более того, существуют и компиляторы других языков программирования, которые генерируют байт-код Java. Также различными разработчиками могут разрабатываться (и разрабатываются) и Java VM, но все Java VM должны выполнять стандартный байт-код Java.

Какими свойствами обладает платформа java 

Рисунок 13.1 Выполнение приложения в платформе Java

Итак, Java-программа выполняется в режиме интерпретации. Хотя фирма Sun Microsystems декларирует эффективность в числе основных свойств Java-программ, в отношении быстродействия это утверждение, мягко говоря, сомнительно. Интерпретируемая программа в принципе не может выполняться так же быстро, как программа в целевых кодах. Эффективность работы Java-программ зависит от эффективности работы Java VM, и Java VM разных производителей существенно различаются по этому показателю (лидером является фирма IBM). В составе средств разработки Java имеются также «своевременные» (just-in-time) компиляторы (JIT), которые транслируют байт-код Java в коды целевой платформы, результатом чего является исполняемый модуль в формате целевой платформы и системы. Такой модуль выполняется без участия Java VM, и его выполнение происходит эффективнее, чем выполнение интерпретируемого байт-кода, но это уже выходит за пределы платформы Java.

Таким образом, независимость Java-программ от конкретной аппаратной платформы и ОС достигается за счет того, что Java-платформа является дополнительной «прослойкой» между приложением и ОС и вместо специфических системных вызовов API конкретной ОС приложение использует API JRE или базовые конструкции языка

Ниже мы рассматриваем некоторые особенности виртуального «процессора» Java VM, как той платформы, на которой выполняются Java-программы.

… , выдачей и приёмом лицензий). В условиях крупных сетей рекомендуется выделение под сервер лицензий отдельного компьютера (или нескольких — для резервирования). 1.1 Архитектура терминальных устройств В компьютерных технологиях трёхуровневая архитектура, синоним трёхзвенная архитектура (по англ. three-tier или Multitier architecture) предполагает наличие следующих компонентов приложения: …

… ФС в разделе MS-DOS. Это конфигурационный файл в котором содержится информация о драйверах используемых в процессе запуска ФС. Пункт доступен супервизору или его эквивалентам. «Система учета» NetWare обладает очень гибкой системой учета ресурсов, предоставляемых в общее пользование. Используя данный пункт меню можно просмотреть, а так же имея определенные права настроить плату за использование …

… числе на промышленных предприятиях, больше подходят клиент-серверные СУБД. Мы рассмотрим особенности таких распространенных СУБД, как Oracle и MS SQL Server. Глава 4. Язык SQL в системах управления базами данных SQL (англ. Structured Query Language — язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных …

Читайте также:  Какое свойство указывает на размер объекта

… ОС Windows
95, необходимость
выбора тех
конкретных
объектов, к
которым необходимо
ограничить
доступ.

Настоящая
работа посвящена
разработке
программы
защиты
объектов операционной
системы
WINDOWS95
работающей
в многопользовательском
режиме под
управлением
сервера Novell NetWare
(Windows NT, Unix),
позволяющей
проводить
защиту объектов
ОС на уровне
пользователя.

Под
защитой объектов
ОС Windows 95 …

Источник

Java Platform, Standard Edition, сокращённо Java SE (ранее Java 2 Standard Edition или J2SE) — стандартная версия платформы Java 2, предназначенная для создания и исполнения апплетов и приложений, рассчитанных на индивидуальное пользование или на использование в масштабах малого предприятия. Не включает в себя многие возможности, предоставляемые более мощной и расширенной платформой Java 2 Enterprise Edition (J2EE), рассчитанной на создание коммерческих приложений масштаба крупных и средних предприятий.

java.lang[править | править код]

Пакет java.lang содержит фундаментальные классы и интерфейсы, близко привязанные к языку и системе во время выполнения. Сюда входят корневые классы, которые формируют иерархию классов, типы, привязанные к определению языка, основные исключения, математические функции, классы поддержки многопоточности, функции безопасности, а также классы, позволяющие получить информацию относительно операционной системы, на которой выполняется программа.

Основные классы в java.lang:

  • Object — этот класс является корнем иерархии классов в Java;
  • Enum — базовый класс для перечислимого типа (с версии J2SE 5.0);
  • Class — класс является основным в подсистеме интроспекции Java;
  • ClassLoader — абстрактный класс, определяет, как загружаются классы. Ваше приложение может создавать подклассы, расширяющие ClassLoader, реализуя его методы. Это позволяет загружать классы другими способами, нежели тот, которым выполняется обычная загрузка в системе времени выполнения Java. Однако обычно вы не должны этого делать;
  • Throwable — класс является базовым для иерархии классов исключений;
  • Error, Exception, RuntimeException — базовые классы для каждого подтипа исключений;
  • Thread — класс, содержащий операции над потоками исполнения;
  • String — класс для представления строк и их значений;
  • StringBuffer и StringBuilder — классы для работы со строками (StringBuilder с версии J2SE 5.0);
  • Comparable — интерфейс для поддержки обобщённого сравнения и упорядочения объектов (с версии J2SE 1.2);
  • Iterable — интерфейс для поддержки улучшенного цикла for (с версии J2SE 5.0);
  • Process, Runtime, SecurityManager, System — выполняют «системные операции». Управляют динамической загрузкой классов, созданием внешних процессов, получением информации об окружающей среде (например, времени суток), и следят за выполнением политик безопасности;
  • Math и StrictMath — содержат основные математические функции, такие, как вычисление синуса, косинуса и квадратного корня (StrictMath с версии J2SE 1.3);
  • Классы-обёртки над примитивными типами, которые превращают их в объекты;
  • Классы исключений для основных исключительных ситуаций языка и среды исполнения.

Все классы из пакета java.lang автоматически подключаются в каждый исходный файл программы. Явное подключение не требуется.

java.lang.annotation[править | править код]

В этом пакете определен интерфейс Annotation, а также перечисления ElementType и RetentionPolicy.

java.lang.instrument[править | править код]

Пакет определяет средства, которые могут быть использованы для добавления инструментария для разных аспектов выполнения программ. Он определяет интерфейсы Instrumentation и ClassFileTransformer, а также класс ClassDefinition.

java.lang.management[править | править код]

Пакет предоставляет поддержку управления виртуальной Машиной Java и исполняющим окружением. Используя средства пакета, вы можете просматривать и управлять различными аспектами выполнения программы.

java.lang.ref[править | править код]

Предоставляет возможность взаимодействия со сборщиком мусора, благодаря чему программа может быть предупреждена об изменении числа ссылок на объект или о действиях, производимых сборщиком мусора над объектом.

java.lang.reflect[править | править код]

Пакет java.lang.reflect обеспечивает механизм отражения — способность программного обеспечения к самоанализу (то есть получению информации об имеющихся в системе классах, их методах, полях и связях). Отражение — важная возможность, необходимая при использовании компонентов, называемых JavaBeans.

java.io[править | править код]

Содержит классы для обеспечения файлового ввода-вывода информации, несколько классов абстракции ввода-вывода, а также набор классов для обработки вводимой информации: выделения токенов и т. д.

java.math[править | править код]

Содержит классы для вычислений над большими целыми числами (класс BigInteger) и над десятичными дробями произвольной точности (класс BigDecimal).
Также содержит методы для произведения операций над числами: получение их абсолютной величины и т.п.

java.net[править | править код]

Содержит классы, позволяющие приложению работать с сетью, предоставляя абстракции для сетевых адресов, соединений, реализацию сокетов и т. д.

java.text[править | править код]

Набор классов и утилит, позволяющих организовать работу с различного рода форматами данных, применять имеющиеся или создавать собственные шаблоны форматирования (например, формат вывода даты или числа с плавающей точкой).

java.util[править | править код]

Вспомогательные классы и интерфейсы. Очень удобные и используемые практически в каждой программе.

java.applet[править | править код]

Для работы в браузере.

java.beans[править | править код]

java.awt[править | править код]

Содержит классы для написания пользовательских интерфейсов, работы с изображениями, рисования.

java.rmi[править | править код]

java.security[править | править код]

java.sql[править | править код]

Java Database Connectivity

javax.swing[править | править код]

Содержит набор графических компонентов, позволяющих создавать графические интерфейсы, работающие по возможности одинаково на всех платформах.

Ссылки[править | править код]

  • https://java.sun.com/docs/books/tutorial/getStarted/index.html
  • https://web.archive.org/web/20070524162037/https://doc.java.sun.com/DocWeb/

Литература[править | править код]

  • Герберт Шилдт. Полный справочник по Java SE 6 = Java: The Complete Reference. — 7-е изд. — М.: «Вильямс», 2007. — С. 1040. — ISBN 0-07-226385-7.

Источник