- •Нововведения Java5
- •План лекции
- •Проблема
- •java.lang.CharSequence
- •java.lang.StringBuilder
- •java.lang.Appendable
- •java.lang.Readable
- •Проблема
- •Форматированные ввод и вывод
- •java.util.Formatter
- •java.util.Formatter
- •java.util.Formatter
- •java.util.Formatter
- •Строка форматирования
- •Преобразующие спецификаторы формата
- •Возможности форматирования
- •Возможности форматирования
- •Возможности форматирования
- •Метод printf()
- •java.util.Scanner
- •java.util.Scanner
- •java.util.Scanner
- •java.util.Scanner
- •java.util.Scanner
- •Проблема
- •Обновленные коллекции
- •Проблема
- •Обновленная рефлексия
- •Пример использования аннотаций
- •Проблема
- •java.util.concurrent
- •java.util.concurrent
- •Изменения в пакете java.lang
- •Изменения в пакете java.util
- •Нововведения Java7
- •План лекции
- •Проблема
- •Бинарные литералы
- •Проблема
- •Подчеркивание в числовых литералах
- •Подчеркивание в числовых литералах
- •Проблема
- •Проблема
- •Строки в предложениях switch
- •Проблема
- •Вывод типа (type inference)
- •Проблема
- •Проблема
- •Блок try с ресурсами
- •Блок try с ресурсами
- •Проблема
- •Проблема
- •Проблема
- •Отлов исключений нескольких типов
- •Спасибо за внимание!
- •Дополнительные источники
java.util.concurrent
Пакет содержит высокоуровневый инструментарий для многопоточных приложений
Пакет содержит следующие категории инструментов
Executors – средства запуска потоков
Synchronizers – средства синхронизации работы потоков
Timing – вспомогательные средства контроля времени
Concurrent structures – структуры, корректно работающие в многопоточных приложениях (без блокировки всей структуры)
31
java.util.concurrent
java.util.concurrent.atomic
пакет содержит классы оберток для базовых типов, обеспечивающие корректный доступ к значениям в многопоточных приложениях
java.util.concurrent.locks
пакет содержит высокоуровневые средства работы с блокировками и критическими секциями
32
Изменения в пакете java.lang
Добавлены новые подпакеты
java.lang.annotation
java.lang.instrument
java.lang.management
Добавлены новые классы
Enum
ProcessBuilder
StringBuilder
Добавлены новые интерфейсы
Appendable
Iterable<T>
Readable
Изменения в классах и интерфейсах
Math
String
StringBuffer
Comparable<T>
И т.д.
33
Изменения в пакете java.util
Модифицированные коллекции
Появление классов форматированного ввода/вывода
Появление подпакета java.util.concurrent и его подпакетов
34
Нововведения Java7
© Составление, Будаев Д.С., Гаврилов А.В., 2013
Лекция 12.2
УНЦ «Инфоком» Самара
2013
План лекции
Бинарные литералы
Разделители в числовых литералах
Строки в предложениях switch
Вывод типа
Блок try с ресурсами
Отлов исключений нескольких типов
36
Проблема
Имеется:
int m1 = 130816; int m2 = 0377; int m3 = 0x780;
// Что это за числа???
Хотелось бы:
int m1 = 0b11111111100000000; int m2 = 0b00000000011111111; int m3 = 0B00000011110000000;
37
Бинарные литералы
Префиксы
0b
0B
Полезны при работе с битовыми представлениями чисел, поскольку позволяют лучше видеть:
саму структуру числа
0b0000111111110000 // 2040, 0x07f8
взаимосвязь чисел
0b0000111111111111 // 4095, 0x0fff
0b1111000000000000 // 61440, 0xf000
38
Проблема
Имеется:
double v1 = 7583432455435.324521; double v2 = 532453245.3453425235;
// А это сколько, много или мало???
Хотелось бы:
double v1 = 7_583_432_455_435.324_521; double v2 = 532_453_245.345_342_523_52;
39
Подчеркивание в числовых литералах
Можно использовать
В литералах любых числовых типов
765_324_213_434L
В литералах в любых системах счисления
0xFF_00_FF_00
В нужных местах числа
1_23_456_7890
В нужном количестве
6_____6
40