Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемНикита Бедрин
1 Андрей Дмитриев Февраль 2008 Инструментарий JDK
2 2 Что такое Java? Язык программирования. Среда разработки. Платформа. Сообщество разработчиков. Технологии.
3 3 Как устроен процесс разработки программы Исходный код Java Компилятор Java Объектный код Java (байт-код) JVM Интепретатор Java ОС Объектный код проверяется и загружается в виртуальную машину Java Программа выполняется интерпретатором Интерпретатор взаимодействует с ОС конкретной машины
4 4 Что такое JDK? Java Development Toolkit. Платформа Java как среда разработки представляет собой инструментарий и набор утилит, позволяющий создавать Java приложения.
5 5 Программа Стандартные инструменты и утилиты JDK Экспериментальные инструменты и утилиты JDK
6 6 Базовый инструментарий javac – компилятор языка Java. java – интерпретатор байт-кода. javah - создает заголовочные файлы. javadoc - формирует стандартную документацию. jar – создание дистрибутивов Java. javap – дизассемблер. apt – обработчик аннотаций. Другие базовые инструменты (appletviewer, jdb, extcheck).
7 7 javac (компилятор языка Java) Преобразует исходный код в промежуточный байт-код. Пример компиляции: javac myClass.java После выполнения данной команды будет создан файл myClass.class в той же директории, где расположен файл с исходным кодом, myClass.java. Все параметры компиляции (в том числе расположение обоих файлов) можно конфигурировать при помощи опций. Полученный в результате байт-код не может быть выполнен непосредственно (как.exe файл). Его может выполнить лишь интерпретатор java.
8 8 Параметры компиляции Параметры компиляции можно изменять при помощи ключей компилятора javac: -cp –classpath указать путь, по которому можно найти классы, необходимые для компиляции (переменная CLASSPATH) -bootclasspath указанть путь, по которому можно найти классы, необходимые для запуска JVM -sourceуказать версию исходного кода -target указать версию JVM, для которой создается класс- файл -versionвывести версию компилятора -helpперечень разрешенных опций компилятора -J-J свойство, передаваемое в JVM. Виртуальная машина может изменять свое поведение в зависимости от переданных параметров. -Xдополнительные опции
9 9 Расширенные параметры компиляции -Xbootclasspath/a (/p) Заменить классы, необходимые для запуска компилятора. -Xmaxerrs/-Xmaxwarns Установить максимальное число выводимых ошибок/предупреждений. -Xlint Выводить предупреждения о некорректном коде программы. -Xcheck:jni Дополнительные проверки для JNI кода. -Xstdout Перенаправление вывода программы.
10 10 java ( интерпретатор байт-кода) Запускает среду выполнения Java (Java Runtime Environment, JRE), загружает указанный класс и вызывает метод main данного класса. Примеры запуска: > java myClass.class > java –jar myArchive.jar SomeArgument Можно передавать аргументы приложению и указывать опции запуска в командной строке.
11 11 Параметры запуска -cp(-classpath)указание пути, по которому содержатся классы, необходимые для запуска -D-Dустановка системного свойства -X-Xрасширенные параметры -agentlibзагрузка отладочного агента -javaagentзагрузка Java агента -client/-serverвыбор клиентской или серверной модификаций JVM Параметры исполнения можно изменять при помощи ключей интерпретатора, передаваемых java:
12 12 Расширенные параметры запуска -Xbootclasspath/a (/p)замена классов, необходимых для запуска приложения -Xnoclassgcотключение удаления объектов -Xincgcвключение инкрементального сборщика мусора -Xloggcжурнализация сборщика мусора -Xms/-Xmxустановка размера heap области (начальный/максимальный размеры) -Xssустановка размера стека -Xcheck:jniдополнительные проверки JNI вызовов
13 13 javah Генерирует заголовочные файлы и файлы-заглушки на языке С на основе Java классов. Данные файлы позволяют наладить взаимодействие кода на Java и на С или С++. Название заголовочного файла и структуры, в нем описанной, основывается на имени Java класса с учетом пакета. Технология Java Native Interface (JNI), позволяет общаться с чужим кодом без заголовочных файлов и заглушек. Для отладки следует использовать утилиту javah_g (неоптимизированную версию javah). javah [ options ] fully-qualified-classname... javah_g [ options ] fully-qualified-classname...
14 14 javadoc Генерирует документацию к программному интерфейсу приложения. Предпосылки: > Для обеспечения поддержки код должен быть хорошо документирован. > Найти нужную информацию непосредственно в коде не всегда просто. > Нужен инструмент, собирающий разбросанные по коду комментарии и предоставляющий удобную навигацию по ним. От разработчика требуется: > придерживаться несложных правил написания комментариев (чтобы Javadoc правильно их интерпретировал), > запускать утилиту Javadoc для создания и обновления документации.
15 15 javadoc (продолжение) По умолчанию Javadoc генерирует документацию для: Пакетов Public классов и интерфейсов Public и protected методов Public и protected полей При необходимости документировать private классы/методы/поля, можно указать ключ -private. Внутри текста комментария можно использовать специальные тэги. Стандартные теги HTML допустимы. Запуск утилиты: javadoc [options] [packagenames] [sourcefiles]
16 16 javadoc (пример) Используется формат HTML:
17 17 Jar (Java ARchive) Утилита для создания дистрибутивов Java программ. Пример: % jar cf myApp.jar *.class > Все файлы текущей директории с расширением.class собираются в архив myApp.jar. При этом автоматически создается манифест, содержащий мета-информацию о приложении. Использует алгоритм Zip. Также можно сделать JAR файл самораспаковывающимся. > Запакованное приложение можно запустить двойным щелчком. JAR файлы могут быть подписаны автором.
18 18 javap (дизассемблер) Разбирает класс-файл. Выводимая информация варьируется в зависимости от используемых опций. По умолчанию javap выводит название пакета, а также protected и public поля и методы анализируемого класса. Запуск утилиты из командной строки: javap [ options ] class... Пример вывода информации о классе: Compiled from DocFooter.java public class DocFooter extends java.applet.Applet { java.lang.String date; java.lang.String ; public DocFooter(); public void init(); public void paint(java.awt.Graphics); }
19 19 Пример вывода байт-кода класса javap –c позволяет оценить структуру и сложность класс файла. public ThreeD(); Code: 0:aload_0 1:invokespecial#1; //Method java/applet/Applet." ":()V 4:aload_0 5:iconst_1 6:putfield#2; //Field painted:Z 9:aload_0 10:fconst_1 11:putfield#3; //Field scalefudge:F 14:aload_0 15:new#4; //class Matrix3D 18:dup 19:invokespecial#5; //Method Matrix3D." ":()V 22:putfield#6; //Field amat:LMatrix3D; 25:aload_0 26:new#4; //class Matrix3D 29:dup 30:invokespecial#5; //Method Matrix3D." ":()V 33:putfield#7; //Field tmat:LMatrix3D; 36:aload_0 37:aconst_null 38:putfield#8; //Field mdname:Ljava/lang/String; 41:aload_0 42:aconst_null 43:putfield#9; //Field message:Ljava/lang/String; 46:return
20 20 javap - опции -package Показывает пакет, в котором расположен класс, а также его -protected и -public поля и методы. Данная опция используется по умолчанию. -public (-protected) Показывает только -public (-protected и -public) классы и члены классов. -private Показывает все классы и члены классов. -verbose Выводит на печать размер стека, число локальных переменных, и параметров методов. -s Выводит на печать сигнатуры внутренних типов.
21 21 Другие базовые инструменты apt Утилита обработки аннотаций. appletviewer Запуск и отладка апплетов без веб-браузера. jdb Отладчик Java. extcheck Утилита для обнаружения конфликтов Jar.
22 22 Инструментарий обеспечения безопасности keytool Управление сертификатами и хранилищами ключей. jarsigner Создание и проверка подписей архивов JAR. policytool Утилита с графическим интерфейсом, позволяющая управлять файлами политик. Установка собственных политик безопасности. Использование политик безопасности, заданных на удаленных сайтах.
23 23 Инструментарий обеспечения безопасности (продолжение) kinit Утилита просмотра удостоверений Kerberos v5. klist Утилита командной строки, позволяющая работать со списком записей в кэше удостоверений. ktab Утилита командной строки, помогающая пользователю управлять записями в таблице ключей. Представленные инструменты системы безопасности помогут просматривать и управлять удостоверениями Kerberos.
24 24 Инструментарий интернационализации native2ascii Смена кодировки текста на Unicode Latin-1. Данный инструмент помогает создавать локализуемые приложения.
25 25 Инструментарий развертывания приложений Утилиты, используемые для развертывания java приложений и паллетов в сети. pack200Преобразует файл JAR в сжатый файл pack200 при помощи системы сжатия данных gzip. unpack200Преобразует архив, полученный при использовании pack200, в архив JAR. Пересылаемые архивы представляют собой архивы JAR, которые сжаты сильнее чем обычно и при этом могут быть непосредственно развернуты средой исполнения. За счет уменьшения размера файла, снижается время загрузки.
26 26 Инструментарий подключения плагинов unregbean Снимает регистрацию компонента JavaBeans; использует Active X. htmlconverter Преобразует страницу (файл) HTML, содержащую апплет в формат OBJECT / EMBED для Java Plug-in. Утилиты, используемые совместно с Java Plug- in.
27 27 Инструментарий удаленного вызова методов rmic Генерация заглушек и каркасов для удаленных объектов. rmiregistry Сервис регистрации удаленных объектов. rmid Системный демон активации RMI. serialver Получение класса serialVersionUID. Данные инструменты позволяют создавать приложения, взаимодействующие между собой через веб-интерфейс или интерфейс любой другой сети.
28 28 Консоль контроля выполнения приложений pid Идентификатор процесса локальной JVM. Идентификатор пользователя должен быть одним и тем же для JVM и jconsole. host:port Имя хоста, на котором запущена JVM и номер порта. jmxUrl Адрес агента JMX с которым следует установить соединение. Графический инструмент, удовлетворяющий стандарту JMX, для мониторинга виртуальной машины Java. Позволяет следить за работай как локальной, так и удаленной JVM. Также помогает следить за работой приложения и управлять ею. Запускается следующей командой: jconsole [ options ] [ connection... ] connection = pid | host:port | jmxUrl
29 29 Инструментарий веб-сервисов schemagen Генератор схем в архитектуре XML связываний Java. Wsimport, wsgen Инструменты для генерации переносимых приложений JAX-WS. xjc Компилятор связываний в архитектуре XML связываний Java. Обеспечивает легкую интеграцию веб-сервисов и веб-клиентов. Позволяет прозрачно использовать формат XML для передачи информации.
30 30 Экспериментальные инструменты Инструментарий мониторинга (jps, jstat, jstatd) Инструменты диагностики ошибок (jinfo, jhat, jmap, jsadebugd, jstack) Инструменты работы со скриптами (jrunscript)
31 31 Инструментарий мониторинга jps Отслеживает состояние процессов JVM (JVM Process Status Tool) - Выводит список виртуальных машин Java (HotSpot) в интересующей системе. jstat Утилита для ведения статистики по JVM (JVM Statistics Monitoring Tool) - Подключается к оборудованной виртуальной машине Java (HotSpot), собирает и заносит в журнал статистику по производительности. jstatd Демон утилиты JVM jstat - загружает приложение RMI сервера, отслеживающее создание и завершение работы виртуальной машины Java (HotSpot). Может быть использован для учета статистических показателей производительности JVM. Данные инструменты работают на всех современных платформах.
32 32 Инструменты диагностики ошибок jinfo Конфигурационная информация Java (Configuration Info for Java) - Выводит конфигурационную информацию для заданного процесса, файла памяти или удаленного сервера отладки. jstat Средство просмотра дампа кучи (Heap Dump Browser) - Стартует веб-сервис для файла, содержащего дамп кучи (например, созданного утилитой jmap с опцией -dump), позволяя просматривать содержимое кучи. jmap Карта памяти Java - Выводит карты памяти разделяемых объектов или детали памяти кучи для заданного процесса, файла памяти или удаленного сервера отладки.
33 33 Инструменты диагностики ошибок (продолжение) jsadebugd Демон отладки агента, занимающегося удобством эксплуатации приложения (Serviceability Agent Debug Daemon for Java) - Подключается к процессу или файлу памяти и действует в качестве сервера отладки. jstack Трассировщик стека Java (Stack Trace for Java) - Выводит историю стека потоков для заданного процесса, файла памяти или удаленного сервера отладки.
34 34 Инструменты работы со скриптами jrunscript Оболочка для скриптов в Java (Script shell for Java) - Запускает скрипт. Может быть использован для запуска скриптов, взаимодействующих с платформой Java.
35 35 Ссылки Технические статьи: > > > ment/jconsole.html
36 Q&A
37 Февраль 2008 Инструментарий JDK Спасибо!
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.