Перейти к основному содержимому

· 6 мин. чтения

1. Обзор

Спецификация языка Java не определяет и даже не использует термин константы времени компиляции. Однако разработчики часто используют этот термин для описания значения, которое не меняется после компиляции .

В этом руководстве мы рассмотрим различия между константой класса и константой времени компиляции. Мы рассмотрим константные выражения и посмотрим, какие типы данных и операторы можно использовать для определения констант времени компиляции. Наконец, мы рассмотрим несколько примеров, где обычно используются константы времени компиляции.

2. Константы класса

Когда мы используем термин константа в Java, большую часть времени мы имеем в виду статические и окончательные переменные класса. Мы не можем изменить значение константы класса после компиляции. Таким образом, все константы класса примитивного типа или String также являются константами времени компиляции :

· 7 мин. чтения

1. Обзор

Все языки объектно-ориентированного программирования (ООП) должны обладать четырьмя основными характеристиками: абстракцией, инкапсуляцией, наследованием и полиморфизмом .

В этой статье мы рассмотрим два основных типа полиморфизма: статический полиморфизм или полиморфизм времени компиляции и динамический полиморфизм или полиморфизм времени выполнения . Статический полиморфизм применяется во время компиляции , а динамический полиморфизм реализуется во время выполнения .

2. Статический полиморфизм

Согласно Википедии , статический полиморфизм — это имитация полиморфизма, которая разрешается во время компиляции и, таким образом, устраняет поиск виртуальных таблиц во время выполнения .

· 5 мин. чтения

1. Обзор

В этой быстрой статье мы обсудим основы важного механизма в дженериках Java, известного как стирание типов.

2. Что такое стирание шрифта?

Стирание типа можно объяснить как процесс принудительного применения ограничений типа только во время компиляции и отбрасывания информации о типе элемента во время выполнения.

Например:

· 17 мин. чтения

1. Обзор

В этом руководстве по Spring Framework мы покажем, как использовать аннотации, связанные с внедрением зависимостей, а именно аннотации @Resource , @Inject и @Autowired . Эти аннотации предоставляют классам декларативный способ разрешения зависимостей:

@Autowired 
ArbitraryClass arbObject;

В отличие от их прямого создания (императивный способ):

ArbitraryClass arbObject = new ArbitraryClass();

Две из трех аннотаций относятся к пакету расширения Java: javax.annotation.Resource и javax.inject.Inject . Аннотация @Autowired принадлежит пакету org.springframework.beans.factory.annotation .

· 8 мин. чтения

1. Введение

В этом руководстве мы рассмотрим, как собрать проект Spring Boot в тонкий файл JAR, используя проект spring-boot-thin-launcher .

Spring Boot известен своими «толстыми» развертываниями JAR, где один исполняемый артефакт содержит как код приложения, так и все его зависимости.

Boot также широко используется для разработки микросервисов. Иногда это может противоречить подходу «толстого JAR», потому что повторное включение одних и тех же зависимостей во многие артефакты может стать важной тратой ресурсов.

2. Предпосылки

· 5 мин. чтения

В самом начале прошлого года я решил отслеживать свои читательские привычки и делиться лучшим материалом здесь, на ForEach . С тех пор не пропускал обзоров.

Вот так…

1. Весна и Ява

>> Шестимесячная задержка выпуска Java 9 [ codefx.org ]

>> Java 9 отложен на 6 месяцев? [ infoq.com ]

Коротко и по существу: Java 9 выйдет в начале 2017 года — на 6 месяцев позже, чем планировалось изначально.

· 5 мин. чтения

Вот так…

1. Весна и Ява

>> Обзор Java в 2017 г. [ docs.google.com ]

Я провожу свой ежегодный опрос Java «State of the Union» за 2017 год. Пожалуйста, уделите несколько секунд голосованию.

>> Головоломка памяти с лямбда -выражениями [ javaspecialists.eu ]

Очень интересная головоломка памяти Java 8 с довольно неожиданными результатами 🙂

· 4 мин. чтения

На этой неделе много интересных статей о Java 9.

Вот так…

1. Весна и Ява

>> Project Amber: раскрыто будущее Java [ takipi.com ]

Будущая Java с выводом типа локальной переменной, Enhanced Enums и Lambda Leftovers определенно выглядит интересно. Будем надеяться, что долго ждать не придется?

>> Java SE 9 — модули JPMS не являются артефактами [ joda.org ]

· 4 мин. чтения

На этой неделе много интересных статей о Java 9.

Вот так…

1. Весна и Ява

>> Представляем функцию Spring Cloud [ spring.io ]

Spring всегда использовал подходы на основе POJO, теперь пришло время сосредоточиться на функциональных подходах. Spring Cloud расширяется за счет возможности определения bean-компонентов из реализаций функций — все это хорошо интегрировано с Reactor.

>> Насколько прогнозы могут помочь? [ блог.arnoldgalovics.com ]

· 3 мин. чтения

На этой неделе много интересных статей о Java 9.

Вот так…

1. Весна и Ява

>> Безболезненная миграция модулей Java Jigsaw — пример из практики [ infoq.com ]

Модульность — следующая важная вещь в будущей версии Java. Давайте рассмотрим варианты модуляризации существующих приложений .

>> Учебник по JDeps — анализ зависимостей вашего проекта [ blog.codefx.org ]