Что важно знать
- Байтовые и символьные потоки, буферизация, кодировка явно.
- NIO: каналы, буферы, селекторы — основа Netty.
- Встроенная Java-сериализация небезопасна и хрупка — JSON, protobuf.
- java.time:
Instantдля моментов,ZonedDateTimeдля показа.
Потоки ввода-вывода, NIO, сериализация и java.time.
Instant для моментов, ZonedDateTime для показа.Практика. Обработать большой CSV построчно без загрузки в память и посчитать агрегаты.
Практика. Реализовать хранение событий с датами в UTC и вывод в часовом поясе пользователя с тестами на переход времени.
InputStreamReader декодирует байты в символы, OutputStreamWriter кодирует символы в байты. Кодировку указывают явно: new InputStreamReader(in, StandardCharsets.UTF_8).
IO (java.io) — потоки байт и символов, блокирующие: чтение держит поток, модель «поток на соединение». NIO (java.nio) — каналы и буферы, неблокирующий режим и Selector: один поток…
Direct-буфер живёт вне кучи и передаётся ядру без промежуточного копирования (heap-буфер JVM копирует во временный нативный, потому что GC может переместить объект). Минусы…
java.time (Java 8) неизменяем, потокобезопасен и с явной моделью: Instant, LocalDate, LocalTime, ZonedDateTime, Duration, Period. Date и Calendar изменяемы, месяцы с нуля…
serialVersionUID — версия класса для встроенной сериализации. При несовпадении версии в потоке и у локального класса — InvalidClassException. Если не объявить, JVM вычислит её из…
Вернётся новый объект, исходный не изменится — все типы java.time неизменяемы.
Почему java.time вытеснил Date/Calendar, машинное (Instant) и человеческое (LocalDateTime) время, часовые пояса, Duration/Period и потокобезопасный DateTimeFormatter.
Байтовые и символьные потоки, кодировки и Charset, буферизация и системные вызовы, декоратор-паттерн и современный файловый API.
io против nio, Channel и ByteBuffer с его flip/clear, Selector и event loop, влияние виртуальных потоков и NIO.2.
Java serialization и её механика, serialVersionUID, почему её опасно использовать и какие форматы выбирают вместо неё.
На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.