Интерактивный стол

Интерактивный стол

Теперешняя этажерка не не более того удобна в использовании, она ещё и диалоговая, поскольку имеет навык взаимодействовать с юзером. Говорение в данном сцене топает про интерактивные столы, что стали дьявольски…
Оптимизация производительности Java в AIX: Часть 4. Устранение узких мест ввода/вывода и сети

Оптимизация производительности Java в AIX: Часть 4. Устранение узких мест ввода/вывода и сети

Это четвертая статья из серии статей о настройке производительности Java на AIX, состоящей из пяти частей. Прежде чем продолжить чтение этой статьи, настоятельно рекомендуется еще раз просмотреть предыдущие статьи этой серии.

В этой статье рассказывается еще о двух областях, которые могут стать узким местом в производительности:
сеть;
дисковый ввод/вывод (I/O).

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

Использование Spring и Websphere MQ в Java приложениях

Использование Spring и Websphere MQ в Java приложениях

Spring (Spring Framework) — open source фреймворк для разработки приложений на Java.

IBM Websphere MQ (MQSeries) — коммерческий продукт всем известной компании IBM для обмена сообщениями.

Данный текст в основном предназначен для разработчиков приложений на базе Spring и интересующимися асинхронными средствами обмена.

Будем рассматривать отправку и прием сообщений из Websphere MQ средствами Spring-Jms.

Применение XStream для сериализации Java-объектов в XML

Применение XStream для сериализации Java-объектов в XML

XStream позволяет сериализовать большинство Java-объектов без всякого отображения. При этом имена элементов соответствуют именам объектов, а содержимое элементов – строковому представлению объектов. XStream способна сериализать объекты классов, не реализующих интерфейс Serializable. XStream представляет собой средство для сериализации объектов, а не связывания с данными, поэтому ее возможности не включают генерацию классов на основании документов XML или схем XML (XML Schema).

XStream обладает тремя свойствами, отличающими ее от любой другой библиотеки для сериализации.
Видимость полей класса не играет роли в процессе сериализации/десериализации.
Для сериализации/десериализации класса не требуется наличие get/set-методов для полей.
Для сериализации/десериализации класса не требуется наличие конструктора по умолчанию.

Компиляция исходного кода Java в объектах CharSequence

Компиляция исходного кода Java в объектах CharSequence

В этом разделе будет сконструирован фасад для класса javax.tools.JavaCompiler. Класс javaxtools.compiler.CharSequenceCompiler (см. Загрузка) может компилировать исходный код Java в любых объектах java.lang.CharSequence (таких как String, StringBuffer и StringBuilder), возвращая объект типа Class. Класс CharSequenceCompiler имеет следующий API:
public CharSequenceCompiler(ClassLoader loader, Iterable options): Этот конструктор принимает объект типа ClassLoader, который передается компилятору Java, позволяя ему находить зависимые классы. Параметр типа Iterable позволяет клиенту передать дополнительные параметры компилятора, которые соответствуют опциям компилятора javac.

Компиляция Java: принципы и реализация

Компиляция Java: принципы и реализация

Для понимания пакета javax.tools полезно ознакомиться с принципами компиляции в Java и тем, как они реализуются в пакете. Пакет javax.tools предоставляет абстракции для всех этих концепций в общем виде, что позволяет вводить исходный код из различных объектов-источников, а не только из файловой системы.

Компиляция исходного кода требует следующих компонентов:
Объект (переменная) classpath (путь к классам), через которую компилятор может найти классы библиотек. Объект classpath для компилятора обычно состоит из упорядоченного списка каталогов файлов системы и архивных файлов (JAR или ZIP), которые содержат уже скомпилированные .class файлы. Объект classpath реализуется объектом типа JavaFileManager, который управляет множество объектов JavaFileObject со скомпилированными классами и исходным кодом и объекта типа ClassLoader, передаваемым в конструктор JavaFileManager. JavaFileObject это потомок FileObject, специализированный с помощью одного из вариантов значения перечисляемого типа (enum) JavaFileObject.Kind, полезного для компилятора:
SOURCE (исходный код)

Создание динамических приложений с помощью javax.tools

Создание динамических приложений с помощью javax.tools

Пакет javax.tools, добавленный в Java SE 6 как стандартный API для компиляции исходного кода Java, позволяет добавлять динамическую функциональность для расширения статических приложений. Эта статья представляет обзор основных классов пакета и показывает, как использовать их для компиляции исходного кода Java из Java-объектов String, StringBuffer или CharSequence вместо файлов. Затем этот фасад используется для построения интерактивного приложения для построения графиков, которое позволяет пользователю задать числовую функцию y = f(x) с помощью любого правильного числового Java-выражения. В конце обсуждаются возможные угрозы безопасности, связанные с динамической компиляцией исходного кода, и способы для устранения этих рисков.