|
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 может использоваться, чтобы преобразовать текст в примитивы или Strings. Так как это основано на 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_READjava.util.zip.OPEN_DELETEjava.util.zip.ZipFile(File file, int mode)java.util.jar.JarFile(File file, boolean verify, int mode)JarURLConnection создает временный локальный файл, который содержит дату Файла фляги, и объект JarFile создается сверху временного файла. Поскольку открытый дескриптор файла / дескриптор на каждом временном файле никогда не закрывался, файлы могли быстро привести дисковое пространство в рабочее состояние для продолжительных серверных приложений. Новый API обеспечивает, решение для этой проблемы, поддерживая новый режим "удаляют на завершении" для открытия файлы Фляги и Zip.