Spec-Zone .ru
спецификации, руководства, описания, API
|
Следующие темы затрагиваются:
Кроме того, следующие улучшения представляются:
Область: API: Язык
Стандарт/Платформа: Java SE 7
Резюме: загрузка Класса может быть склонной к мертвым блокировкам, если пользовательские загрузчики class не придерживаются нециклической модели делегации загрузчика class. Новые API были добавлены к java.lang.ClassLoader class, чтобы поддерживать параллельную загрузку классов и прекраснее гранулированы, блокируя механизм для операций загрузки class. Пользовательские загрузчики class, которые хотели бы усилить эту функциональность, должны обратиться к
Область: API: Язык
Стандарт/Платформа: JDK 7
Резюме: Ранее, два исключения вводят пакет javax.lang.model.type, MirroredTypeException и MirroredTypesException, были не связаны. В реализации javac был брошен MirroredTypeException, где MirroredTypesException должен был быть брошен. Частично, чтобы рассмотреть эту проблему, MirroredTypeException был сделан подклассом MirroredTypesException. Это изменение двоичное совместимый и обычно сохраняет поведение существующих процессоров аннотации. Однако, возможно, что это изменение может вызвать исходные несовместимости для клиентских программ; в тех случаях, изменяя порядок пунктов выгоды должен позволить программам компилировать снова.
Область: API: Язык
Стандарт/Платформа: JDK 7
Резюме: Чтобы смоделировать изменения языка в этом выпуске, несколько обновлений были сделаны к javax.lang.model.* включая добавление метода к интерфейсу javax.lang.model.type.TypeVisitor. Такое дополнение является источником, несовместимым с библиотеками, которые непосредственно реализовали интерфейс TypeVisitor. Однако, такие дополнения были предсказаны как часть развития этого API, и библиотеки явно предостерегли расширить одного из служебных посетителей вместо того, чтобы непосредственно реализовать такой интерфейс.
RFE:
Область: API: Утилиты
Стандарт/Платформа: JDK 7
Резюме: из-за ошибки в java.util.TreeMap, было ранее возможно вставить недопустимые нулевые элементы и элементы, не реализовывая Comparable в пустой TreeMaps и TreeSets. Только единственный недопустимый элемент мог быть вставлен в пустой TreeMaps или TreeSets; дополнительные элементы вызвали бы ожидаемый NullPointerException или ClassCastException. Большинство других операций на набор также перестало бы работать. С JDK 7, вставляя недопустимый нулевой элемент или элемент, не реализовывая Comparable в пустой TreeMap или TreeSet бросает NullPointerException. RFE:
ProcessBuilder
class обеспечивает более удобный способ вызвать подпроцессы, чем делает Runtime.exec. В частности ProcessBuilder облегчает запускать подпроцесс с измененной среды процесса (то есть, одно основанное на среде процесса родителя, но с несколькими изменениями).java.lang.Thread
У class есть следующие улучшения: Thread.State
перечислимый class и новое getState()
API обеспечивается для того, чтобы он запросил режим выполнения потока.getStackTrace
и getAllStackTraces
методы в Thread
class - обеспечивает программируемый способ получить трассировку стека потока или всех потоков.uncaughtExceptionHandler
механизм, ранее доступный только через ThreadGroup class, теперь доступен непосредственно через Поток class.sleep()
метод обеспечивается, который учитывает времена сна, меньшие чем одна миллисекунда.java.lang.instrument
пакет предоставляет услуги, которые позволяют агентам программирования Java инструментовать программы, работающие на виртуальной машине Java, изменяя байт-коды методов во времени выполнения.Formatter
class оказывает поддержку для выравнивания расположения и выравнивания, стандартных форматов для числового, строки, и данных даты/времени, и специфичного для локали вывода. Общие типы Java такой как byte
, java.math.BigDecimal
, и java.util.Calendar
поддерживаются. Ограниченная настройка форматирования для произвольных пользовательских типов обеспечивается через java.util.Formattable
интерфейс.java.util.Scanner
class может использоваться, чтобы преобразовать текст в примитивы или String
s. Так как это основано на java.util.regex
пакет, это также предлагает способ провести регулярное выражение базируемые поискы на потоках, данных файла, строках, или конструкторах Readable
интерфейс.split
методы новы. subSequence
метод был добавлен, как требуется CharSequence
соедините интерфейсом с этим String
теперь реализации. Были добавлены три дополнительных метода: matches
, replaceAll
, и replaceFirst
.subSequence
метод был добавлен, как требуется CharSequence
соедините интерфейсом с этим StringBuffer
теперь реализации.interrupt
метод был пересмотрен, чтобы прервать потоки, блокированные в операциях channel-I/O.java.util.prefs
, позволяет приложениям хранить и получать пользователя и системное предпочтение и данные конфигурации. Эти данные постоянно хранятся в зависящем от реализации запоминающем устройстве. Привилегированный API предназначается, чтобы заменить наиболее популярные способы использования class java.util.Properties
, исправление многих из его недостатков, сохраняя его легкий вес.java.lang.StrictMath
- Класс java.lang.StrictMath
имеет тот же самый API как старый class java.lang.Math
, который присутствовал в предыдущих версиях платформы Java. В отличие от class Math
, однако, StrictMath
определяется, чтобы возвратить поразрядные восстанавливаемые результаты во всех реализациях.java.lang.Math
- Класс java.lang.Math
обеспечивает тот же самый набор API, как делает class StrictMath
. Однако, в отличие от некоторых из числовых функций class StrictMath
, все реализации эквивалентных функций class Math
не определяются, чтобы возвратить поразрядное те же самые результаты, но может измениться в пределах указанных ограничений. Это разрешает лучше выполняющие реализации, где строгая воспроизводимость не требуется.Countdown.java
простое демонстрационное приложение, которое использует API Таймера.java.lang.Runtime
обеспечить простой и переносимый интерфейс для этих facitilies. Новые методы: Кроме того, Runtime.exit
метод был пересмотрен. Для получения дополнительной информации см. Проект API Рычагов Завершения работы.java.util.zip
и java.util.jar
были улучшены с добавлением следующего: java.util.zip.OPEN_READ
java.util.zip.OPEN_DELETE
java.util.zip.ZipFile(File file, int mode)
java.util.jar.JarFile(File file, boolean verify, int mode)
JarURLConnection
создает временный локальный файл, который содержит дату Файла фляги, и объект JarFile создается сверху временного файла. Поскольку открытый дескриптор файла / дескриптор на каждом временном файле никогда не закрывался, файлы могли быстро привести дисковое пространство в рабочее состояние для продолжительных серверных приложений. Новый API обеспечивает, решение для этой проблемы, поддерживая новый режим "удаляют на завершении" для открытия файлы Фляги и Zip.