Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
4
Добавлен:
27.11.2024
Размер:
413.83 Кб
Скачать

обеспечение, и как самостоятельная платформа. Использование одного байт-кода для многих платформ позволяет описать Java как «скомпилиро-

вано однажды, запускается везде» (compile once, run anywhere).

Принцип работы JVM

Программы, предназначенные для запуска на JVM, должны быть скомпилированы в стандартизированном переносимом двоичном формате,

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

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

Archive).

Виртуальная машина JVM исполняет файлы .class или .jar, эмулируя инструкции, написанные для JVM, путем интерпретирования или исполь-

зования just-in-time компилятора (JIT), такого, как HotSpot от Sun microsystems. В наши дни JIT компиляция используется в большинстве

JVM в целях достижения большей скорости. Существуют также ahead-of- time компиляторы, позволяющие разработчикам приложений прекомпили-

ровать файлы классов в родной для конкретной платформы код.

Как и большинство виртуальных машин, Java Virtual Machine имеет stack-ориентированную архитектуру, свойственную микроконтроллерам и микропроцессорам.

JVM, которая является экземпляром JRE (Java Runtime Environment),

вступает в действие при исполнении программ Java. После завершения ис-

полнения, этот экземпляр удаляется сборщиком мусора. JIT является ча-

стью виртуальной машины Java, которая используется для ускорения вы-

полнения приложений. JIT одновременно компилирует части байт-кода,

которые имеют аналогичную функциональность, и, следовательно, умень-

шает количество времени, необходимого для компиляции.

11

Обзор библиотеки классов JDK (Java Development Kit)

Java Development Kit (сокращенно JDK) — бесплатно распространя-

емый компанией Oracle Corporation (ранее Sun Microsystems) комплект разработчика приложений на языке Java, включающий в себя компилятор

Java (javac), стандартные библиотеки классов Java, примеры, документа-

цию, различные утилиты и исполнительную систему Java (JRE). В состав

JDK не входит интегрированная среда разработки на Java, поэтому разра-

ботчик, использующий только JDK, вынужден использовать внешний тек-

стовый редактор и компилировать свои программы, используя утилиты командной строки.

Все современные интегрированные среды разработки приложений на

Java, такие, как JDeveloper, NetBeans IDE, Sun Java Studio Creator, IntelliJ

IDEA, Borland JBuilder, Eclipse, опираются на сервисы, предоставляемые

JDK. Большинство из них для компиляции Java-программ используют компилятор из комплекта JDK. Поэтому эти среды разработки либо вклю-

чают в комплект поставки одну из версий JDK, либо требуют для своей работы предварительной инсталляции JDK на машине разработчика.

Доступны полные исходные тексты JDK, включая исходные тексты самого Java-компилятора javac.

Обзор библиотеки классов CDK (Chemistry Development Kit)

CDK (Chemistry Development Kit) — библиотека Java-классов для хемоинформатики и биоинформатики, распространяемая на условиях GNU Lesser General Public License.

CDK используется во многих программах, в том числе Jmol,

JChemPaint и Bioclipse.

Основные функции:

Молекулярный редактор 2D-структур.

12

Создание 3D геометрии.

Поиск подструктур, в том числе заданных с помощью SMARTS.

Поиск количественных соотношений структура-свойство.

Расчёт потенциальных полей.

Поддержка множества форматов.

Обзор библиотеки классов MARF (Modular Audio Recognition

Framework)

Модульная библиотека для распознавания аудио (англ. Modular Audio Recognition Framework, MARF) — является исследовательской плат-

формой и подборкой алгоритмов для обработки и распознавания образов

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

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

MARF может действовать как библиотека в приложениях или может ис-

пользоваться как источник для изучения и расширения. Несколько сопро-

вождающих приложений прилагаются для иллюстрации возможностей библиотеки и как ей пользоваться. Есть также достаточно детальное руко-

водство и описание программного интерфейса в формате Javadoc. MARF и

её приложения выпущены согласно лицензии BSD-стиля.

Обзор библиотеки классов JDOM (Java Document Object Model)

DOM (от англ. Document Object Model — «объектная модель доку-

мента») — это не зависящий от платформы и языка программный интер-

фейс, позволяющий программам и скриптам получить доступ к содержи-

мому HTML, XHTML и XML-документов, а также изменять содержимое,

структуру и оформление таких документов.

Модель DOM не накладывает ограничений на структуру документа.

Любой документ известной структуры с помощью DOM может быть пред-

13

ставлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями "родительский-дочерний".

JDOM это свободная Java-реализация DOM для XML, созданная с учётом особенностей языка и платформы Java. JDOM интегрируется с

Document Object Model (DOM) и Simple API for XML (SAX), поддерживает

XPath и XSLT. В JDOM используются внешние парсеры для генерации до-

кументов. JDOM разрабатывался Джейсоном Хантером и Бреттом МакЛо-

флином, начиная с марта 2000 года. Он является частью Java Community Process. Название JDOM расшифровывается как Java Document Object Model.

Обзор средства разработки NetBeans IDE

IDE NetBeans позволяет быстро и легко разрабатывать настольные,

мобильные и веб-приложения Java, а также приложения HTML5 с исполь-

зованием технологий HTML, JavaScript и CSS. IDE также предоставляет многофункциональные наборы средств для разработчиков PHP и C/C++.

Это бесплатное ПО с открытым исходным кодом, которое имеет большое сообщество пользователей и разработчиков по всему миру.

По сравнению с другими средами IDE среда IDE NetBeans обеспечи-

вает высококлассную комплексную поддержку новейших технологий Java

и последних усовершенствований стандартов Java. Это первая бесплатная среда IDE, поддерживающая JDK 8, JDK 7, Java EE 7, включая соответ-

ствующие усовершенствования HTML5 и JavaFX 2.

Благодаря постоянно совершенствующемуся редактору Java, разно-

образным возможностям и широкому спектру инструментов, шаблонов и образцов, IDE NetBeans устанавливает стандарт разработки с помощью но-

вейших готовых технологий.

IDE - это гораздо больше, чем просто текстовый редактор. В редак-

14

торе NetBeans обрабатываются отступы линий, сопоставляются слова и скобки, а также выделяется исходный код как синтаксически, так и семан-

тически. Он также предоставляет шаблоны кода, советы по написанию ко-

да и инструменты реорганизации.

Редактор поддерживает множество языков - от Java, C / C++, XML и HTML до PHP, Groovy, Javadoc, JavaScript и JSP. Редактор является рас-

ширяемым, поэтому можно подключить поддержку для множества других языков.

Стоимость ошибок в программном коде увеличивается по мере того,

как эти ошибки остаются неисправленными. NetBeans предоставляет сред-

ства статического анализа, в частности интеграцию с широко используе-

мым инструментом FindBugs, для выявления и исправления распростра-

ненных проблем в коде Java. Кроме того, отладчик NetBeans позволяет размещать точки останова в исходном коде, добавлять контрольные моду-

ли для полей, выполнять код в пошаговом режиме с заходом в методы, со-

здавать снимки и отслеживать выполнение.

NetBeans Profiler предоставляет экспертную помощь для оптимиза-

ции скорости приложения и использования памяти, а также упрощает по-

строение надежных и масштабируемых приложений Java SE, JavaFX и Java EE. IDE NetBeans включает в себя визуальный отладчик для приложений

Java SE, что позволяет выполнять отладку пользовательских интерфейсов,

не обращаясь к исходному коду. Возьмите снимки графического интер-

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

Обзор средства разработки Eclipse IDE

Eclipse — свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation.

15

Наиболее известные приложения на основе Eclipse Platform — раз-

личные «Eclipse IDE» для разработки ПО на множестве языков (например,

наиболее популярный «Java IDE», поддерживавшийся изначально, не по-

лагается на какие-либо закрытые расширения, использует стандартный от-

крытый API для доступа к Eclipse Platform).

Eclipse служит в первую очередь платформой для разработки расши-

рений, чем он и завоевал популярность: любой разработчик может расши-

рить Eclipse своими модулями. Уже существуют Java Development Tools (JDT), C/C++ Development Tools (CDT), разрабатываемые инженерами

QNX совместно с IBM, и средства для языков Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP, X10 (X10DT) и пр. от различных разработчиков.

Множество расширений дополняет среду Eclipse диспетчерами для работы с базами данных, серверами приложений и др.

Eclipse JDT (Java Development Tools) — наиболее известный модуль,

нацеленный на групповую разработку: среда интегрирована с системами управления версиями — CVS, GIT в основной поставке, для других систем

(например, Subversion, MS SourceSafe) существуют плагины. Также пред-

лагает поддержку связи между IDE и системой управления задачами

(ошибками). В основной поставке включена поддержка трекера ошибок

Bugzilla, также имеется множество расширений для поддержки других трекеров (Trac, Jira и др.). В силу бесплатности и высокого качества,

Eclipse во многих организациях является корпоративным стандартом для разработки приложений.

Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT исполь-

зуется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского ин-

16

терфейса, но иногда вызывает на разных платформах проблемы совмести-

мости и устойчивости приложений.

ВОПРОСЫ И ЗАДАНИЯ ДЛЯ САМОКОНТРОЛЯ

1.Опишите платформу Java Standard Edition.

2.Опишите платформу Java Enterprise Edition.

3.Охарактеризуйте технологии, включенные в платформу Java EE.

4.Приведите примеры серверов приложений J2EE.

5.Опишите платформу Java Micro Edition.

6.Опишите платформу для разработки RIA-приложений (JavaFX).

7.Опишите платформу Java Card.

8.Перечислите особенности виртуальной машины JVM.

9.Поясните принцип работы JVM.

10.Опишите библиотеку классов Java Development Kit.

11.Опишите библиотеку классов Chemistry Development Kit.

12.Опишите библиотеку классов Modular Audio Recognition Frame-

work.

13.Опишите библиотеку классов Java Document Object Model.

14.Охарактеризуйте средство разработки NetBeans IDE.

15.Охарактеризуйте средство разработки Eclipse IDE.

ТЕМЫ РЕФЕРАТОВ

Реферат оформляется на листах формата А4 и содержит: введение,

основную часть (в основной части подробно раскрывается тема реферата),

заключение, список используемых источников. В реферате следует отра-

зить основные термины и понятия, провести анализ современного состоя-

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

17

Темы рефератов:

1.Объектно-ориентированный язык ActionScript (3.0).

2.Объектно-ориентированный язык Ada.

3.Объектно-ориентированный язык C#.

4.Объектно-ориентированный язык C++.

5.Объектно-ориентированный язык Delphi.

6.Объектно-ориентированный язык Eiffel.

7.Объектно-ориентированный язык F#.

8.Объектно-ориентированный язык JavaScript.

9.Объектно-ориентированный язык JScript .NET.

10.Объектно-ориентированный язык Object Pascal.

11.Объектно-ориентированный язык Objective-C.

12.Объектно-ориентированный язык Perl.

13.Объектно-ориентированный язык PHP.

14.Объектно-ориентированный язык PowerBuilder.

15.Объектно-ориентированный язык Python.

16.Объектно-ориентированный язык Ruby.

17.Объектно-ориентированный язык Scala.

18.Объектно-ориентированный язык Simula.

19.Объектно-ориентированный язык Smalltalk.

20.Объектно-ориентированный язык Swift.

21.Объектно-ориентированный язык Vala.

22.Объектно-ориентированный язык VB.NET.

23.Объектно-ориентированный язык Visual DataFlex.

24.Объектно-ориентированный язык X++.

25.Объектно-ориентированный язык Xbase++.

18

СПИСОК ЛИТЕРАТУРЫ

ОСНОВНАЯ ЛИТЕРАТУРА

1.Гамма Э. Приемы объектно-ориентированного проектирования. [Текст] : паттерны проектирования / Э. Гамма [и др.]. - Санкт-Петербург [и

др.] : Питер, 2013. - 366 с.

2.Иванова, Г.С. Объектно-ориентированное программирование /

Г.С. Иванова, Т.Н. Ничушкина // М.: Издательство МГТУ им. Н. Э. Бау-

мана. - 2014. - 456 с. - ISBN 978-5-7038-3921-8.

ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА

3. Бабушкина И.А. Практикум по объектно-ориентированному про-

граммированию [Электронный ресурс]/ Бабушкина И.А., Окулов С.М.—

Электрон. текстовые данные.— М.: БИНОМ. Лаборатория знаний, 2012.—

366 c.— Режим доступа: http://www.iprbookshop.ru/12254.— ЭБС

«IPRbooks», по паролю.

4. Биллиг В.А. Основы объектного программирования на C# (C#

3.0, Visual Studio 2008): Учебное пособие - ("Основы информационных технологий") БИНОМ. ЛЗ, ИНТУИТ.РУ, 2013.

5.Бубенков А. А. Объектно-ориентированное программирование на языке JAVA. Учеб. пособ. - С.: СГТУ. - 2009. - 112 с.

6.Хорев, П. Объектно-ориентированное программирование / П.

Хорев // М.: Издательский центр «Академия». - 2012. - 448 с. - ISBN 978-5- 7695-9265-2.

7. Шилдт Г. Java. Полное руководство. / Г. Шилдт - М.: Вильямс,

2012. - 1104 с. - ISBN 978-5-8459-1759-1.

19

СОДЕРЖАНИЕ

 

Введение ...........................................................................................................

2

Темы, изучаемые в курсе Объектно-ориентированное программирование . 2

Объектно-ориентированное программирование ............................................

2

Вопросы и задания для самоконтроля ..........................................................

17

Темы рефератов..............................................................................................

17

Список литературы ........................................................................................

19

20