Разработка программ. Мои заметки.

Блог

May 5, 2018 at 17:20

Немного про новые версии Java. Что там в планах на будущее. Состояние на Май 2018 года.

Про Java 9. Вспомним былое.

В феврале прошлого (2017) года казалось что дата выхода девятки уже в который раз но всё-таки устаканилась и это событие всенепременно должно было случиться 27 июля 2017 года. Однако ребята нашли достойный повод попридержать коней (модульность) и финальный релиз девятки вышел только 21 сентября 2017 года.


February 23, 2017 at 23:59

NullPointerException в Java. Закончился цикл. От Истоков до Итогов.

Цикл про NullPointerException в Java — закончился. Вот ссылки на все статьи. Я планирую, что тексты не будут оставаться статичными, а будут меняться в процессе развития языка и упоминаемых инструментов.

1. NullPointerException в Java. Истоки.
2. NullPointerException в Java. The Billion Dollar Mistake.
3. NullPointerException в Java. Элегантное противостояние.
4. NullPointerException в Java. Аннотации как щит. FindBugs.
5. NullPointerException в Java. Checker Framework и Lombok.
6. NullPointerException в Java. Optional - что он такое есть?
7. NullPointerException в Java. Как использовать class Optional.
8. NullPointerException в Java. Сlass Optional в Java 9.
9. NullPointerException в Java. Итоги.

Под кат можно не ходить. Там тот же текст.


February 15, 2017 at 23:58

Интерфейсы в Java 8 и Java 9. И немного об абстрактных классах.

Interface Недавно в интернете попался программистский анекдот. Совсем незамысловатый, но суть проблемы оттеняющий. Звучит вот так:
Собеседуют Java разработчика. Задают традиционный вопрос:
– В чём состоит отличие абстрактного класса от интерфейса?
– бла-бла… наличие реализации… бла-бла-бла….
– Хорошо, а в Java 8?

Вроде ничего особенного, но вопрос действительно слегка усложнился. Решил чуть детальнее осветить сей аспект.

Эволюция интерфейсов в Java. Нововведения в Java 9.


February 9, 2017 at 20:18

Дата выхода Java 9 — 27 июля 2017 года.

Java 9 Решил уточнить, не изменились ли снова сроки выхода JDK 9. Нет, не изменились. Java 9 is coming! Countdown to Java 9 Release Date. До официального релиза осталось 167 дней. Напомню, что изначально дата выхода Java 9 планировалась на сентябрь прошлого (2016) года. Затем была отложена на март 2017 года. А затем, в сентябре, главный архитектор проекта Mark Reinhold предложил ещё раз отложить дату выхода на июль 2017. Новый план был официально утверждён во второй половине октября 2016 года. Выглядит он так:

  • 2016/05/26 Feature Complete
  • 2016/12/22 Feature Extension Complete
  • 2017/01/05 Rampdown Start
  • 2017/02/09 All Tests Run
  • 2017/02/16 Zero Bug Bounce
  • 2017/03/16 Rampdown Phase 2
  • 2017/07/06 Final Release Candidate
  • 2017/07/27 General Availability

По такому случаю хотелось бы ещё раз подытожить, что же нового определённо добавится в девятке. Список этот тайной не является, но есть мнение что в процессе работ он всё-таки корректировался. Формально, он приведён вот тут — JDK 9. Данные актуальны на 19 января 2017 года. Я посчитал количество позиций в списке. Их там 89 (ну если не ошибся, по любому — близко). 89 нововведений. Причём, там перечислены логически очерченные места. Это не просто формальный список новых методов или классов. Для простоты ориентации, была сделана попытка систематизировать все нововведения, разбив их на категории. О ней можно прочитать в блоге Oracle.

Было предложено использовать 6 категорий. Некоторые из них слегка туманно сформулированы (пересекаются с другими). И даже присутствует некоторая путаница в пояснениях. Автор не очень внимательно отнеслась к своей заметке. Два раза перечислила категорию New standards и забыла про категорию Gone. Но, тем не менее, попробуем придерживаться этой классификации. Итак.


February 6, 2017 at 22:01

Немного юмора.

Продолжил пополнять раздел “Разное”.


February 6, 2017 at 02:12

Следующая заметка об Optional.

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

7. NullPointerException в Java. Как использовать class Optional.


January 31, 2017 at 23:58

Мы на финишной прямой!

Вот мы и добрались до сердца повествования. Быстро пришли. Начинаю вещать про class Optional. Рассчитываю уложиться в две заметки. Коротенько так, но зато всё по делу.

6. NullPointerException в Java. Optional - что он такое есть?


January 21, 2017 at 00:58

Движемся вперёд. Последовательно и методично.

Ещё два быстрых и изящных прыжка для запугивания NullPointerException.

4. NullPointerException в Java. Аннотации как щит. FindBugs.

5. NullPointerException в Java. Checker Framework и Lombok.


January 17, 2017 at 00:55

Элегантное противостояние.

Продолжаю вкрадчиво подступаться к несложному классу - Optional.

3. NullPointerException в Java. Элегантное противостояние.


January 12, 2017 at 23:02

Понравилась аналогия.

В процессе чтения некоторых тем, на глаза попался вопрос на stackoverflow - В чём разница между JPA и Hibernate? Понравился один из ответов: JPA is the dance, Hibernate is the dancer (JPA - это танец, Hibernate - танцор).