Использование диагностических утверждений Java

Использование диагностических утверждений JavaДиагностические утверждения(assertion) - это широко распространенные идиомы, применяемые для обеспечения надежности программирования. Допустим, вы убеждены в том, что конкретное свойство уже задано, и ссылаетесь на него в своей программе. Предположим, что вы вычисляете следующее выражение:

Вы уверены, что число x - неотрицательное. Возможно, оно получено в результате других вычислений, которые не могут порождать отрицательные числа, либо является параметром метода, которому можно передавать лишь положительные числа. Но вы все же хотите еще раз проверить свои предположения, чтобы в ходе выполнения программы не возникло ошибки. Читать

Анализ элементов трассировки стека Java

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

В версиях, предшествующих Java SE 1.4, для получения текстового описания трассировки стека применялся метод printStackTrace() класса Throwable. Теперь разработчикам доступен метод getStackTrace() он возвращает массив объектов StackTraceElement, которые можно анализировать в программе. Например: Читать

Взаимодействие апплетов Java

Взаимодействие апплетов JavaВеб-страница может содержать несколько апплетов. Если параметр codebase у этих апплетов один и тот же, они могут взаимодействовать друг с другом. Естественно, что взаимодействие апплетов - довольно сложный процесс, необходимость в котором возникает часто.

Если для каждого апплета задать атрибут name, то с помощью метода getApplet(String), объявленного в интерфейсе AppletContext, можно получить ссылку на любой апплет. Предположим, что в HTML-файле содержится дескриптор: Читать

Кодовые точки и кодовые единицы Java

Кодовые точки и кодовые единицы JavaВ языке Java строки реализованы как последовательности значений типа char. Тип char позволяет задавать кодовые единицы, представляющие кодовые точки Unicode в кодировке UTF-16. Наиболее часто используемые символы Unicode представляются одной кодовой единицей. Дополнительные символы задаются парами кодовых единиц.

Метод length() возвращает количество кодовых единиц для данной строки в кодировке UTF-16. Ниже приведен пример использования данного метода: Читать

Перспективные языки программирования

Перспективные языки программированияЧеловек всегда стремится к познанию и созданию чего-то нового. Не стала исключением и среда программирования, ведь при всем своем многообразии языки программирования все продолжают появляться. Бывает, что появление новых языков обусловлено желанием студентов создать что-то индивидуальное в рамках своего проекта, а иногда небольшие компании создают язык для нужд своей отрасли. Так что же движет программистами в создании новых языков программирования?

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

Управление файлами в Java

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

Например, его можно применять для выяснения времени последнего изменения файла, а также удаления или переименования файла. Другими словами, классы потоков имеют дело с содержимым файла, а класс File - с хранением файла на диске.

Кроме того, как часто бывает в Java, класс File следует принципу "наименьшего знаменателя". Например, в Windows можно узнавать о наличии у файла флага "только для чтения(и даже устанавливать его), а вот хотя узнавать о том, является ли файл скрытым, можно, скрывать его без использования платформо-ориентированного метода нельзя. Читать

Отслеживание чтения данных из потока Java

Отслеживание чтения данных из потока JavaВ пакете swing содержится ProgressMonitorStream, который автоматически отображает диалоговое окно с информацией о том, какая часть данных была уже прочитана из потока.

Использовать данный фильтр чрезвычайно просто. Следует лишь поместить ProgressMonitorInputStream в состав последовательности используемых потоков.

Предположим, например, что вам требуется читать текст из файла. Формирование последовательности начинается с потока FileInputStream: Читать

JNLP API Java

JNLP API JavaJNLP API позволяет неподписанному приложению запускаться в "песочнице" и в то же время получать безопасный доступ к локальным ресурсам. Например, в нем предусмотрены службы для загрузки и сохранения файлов. Приложения не видит файловой системы и не может специфицировать имена файлов.

Вместо этого отображается файловый диалог, и пользователь программы выбирает файл. Перед появлением диалогового окна для выбора файлов пользователь получает предупреждение и должен выразить согласие на продолжение работы. Более того, на самом деле API не предоставляет программе доступа к объекту File.

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