Обработчик неперехваченных исключений Java

Обработчик неперехваченных исключений JavaМетод run() потока не может генерировать никаких контролируемых исключений, но может быть прерван неконтролируемым исключением. В этом случае поток уничтожается.

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

Web-службы и JAX-WS в Java

Web-службы и JAX-WS в JavaЗа последние годы популярной технологии для вызовов удаленных методов стали Web-службы(Web-services). С технической точки зрения каждая Web-служба состоит из двух компонентов:

  • непосредственно самой службы, доступ которой может получаться с помощью транспортного протокола SOAP;
  • описания службы в формате WSDL. Читать

Использование локального буфера обмена для передачи ссылок на объекты Java

Использование локального буфера обмена для передачи ссылок на объекты JavaИногда может возникать необходимость в копировании и вставке данных такого типа, которые не поддерживаются системным буфером обмена, то есть не является сериализируемым. Для передачи ссылки на произвольный объект Java в пределах одной и той же виртуальной машины (JVM) применяется тип MIME:

Для этого типа требуется определять объект-оболочку Transferable. Необходимый для этого процесс полостью аналогичен процессу определения объекта-оболочки SerialTransferable. Читать

Классы и интерфейсы для передачи данных Java

Классы и интерфейсы для передачи данных JavaПередача данных в технологии Java реализована посредством пакета java.awt.datatransfer. Ниже перечислены некоторые особенности классов в интерфейсов из данного пакета.

  • Объекты, переносимые посредством буфера обмена, должны реализовывать интерфейс Transferable.
  • Класс Clipboard описывает буфер обмена. Системный буфер обмена является конкретным примером реализации класса Clipboard.
  • Класс DataFlavor описывает типы документов, которые могут быть помещены в буфер обмена.
  • Класс StringSelection реализует интерфейс Transferable и используется для передачи строк. Читать

Чтение и запись изображений Java

Чтение и запись изображений JavaДо выхода версии 1.4 возможности для чтения и записи файлов с изображениями в Java SE были весьма ограниченным. Например, считывать можно было только файлы формата GIF и JPEG, а записывать официально вообще нельзя было никаких графических файлов.

Теперь ситуация выглядит значительно лучше. Еще в Java SE 1.4 появился пакет javax.imageio с готовыми средствами для чтения и записи нескольких наиболее типичных форматов файлов, а также средой для разработки своих собственных средств для чтения и записи файлов других форматов. Что касается версии Java SE 6, то в ней поддерживаются такие форматы файлов, как GIF, JPEG, PNG, BMP(растровый формат для Windows) и WBMP(Wireless Bitmap — растровый формат для беспроводных сетей). В прежних версиях из-за патентных ограничений возможность записи файлов формата GIF не поддерживалось. Читать

Рисования фигур с помощью Graphics в Java

Рисования фигур с помощью Graphics в JavaНиже перечислено несколько методов класса Graphics, которые используются для рисования фигур:

  • drawLine
  • drawRectangle
  • drawRoundRect
  • draw3DRect
  • drawPolygon
  • drawPolyline
  • drawOval
  • drawArc Читать

Прерываемые сокеты Java

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

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

Одностороннее закрытие сокета Java

Одностороннее закрытие сокета JavaОдностороннее закрытие(half-close) обеспечивает возможность одной стороне закрыть соединение с сокетом, прекратив отправку своих данных, но при этом получая данные с другой стороны.

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