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

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

Ява

>> Пятница Java 8: темная сторона Java 8

Давайте начнем с пятничной полезности Java 8 на этой неделе — о том, насколько груба Java 8 по краям (или, по крайней мере, по некоторым краям). Обязательна к прочтению, даже если вы уже какое-то время используете Java 8.

>> Распространенные заблуждения о Java

Божо снова в деле, на этот раз с интересной статьей о неправильных представлениях о Java — интересное чтение.

>> Компиляция и запуск Java без IDE

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

Ява

>> Java 8 Friday: ORM больше не нужны

Это присоединяется к старой дискуссии (нужен ли мне ORM?) с новыми и многообещающими инструментами — взгляните на примеры кода и удивитесь, что это действительно код Java. Очень круто.

>> Еще один способ обработки исключений в JUnit: catch-exception

Надежный способ обработки исключений в тестах JUnit — библиотека перехвата исключений BDD . Сейчас попробую - действительно выглядит очень круто.

>> Оптимизация сборки мусора для приложений Java с высокой пропускной способностью и малой задержкой

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

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

2014 год был довольно насыщенным, и каждую неделю мы писали обзоры. Я стал намного больше читать, чтобы убедиться, что освещаю и курирую вещи, которые имеют ценность и действительно интересны.

Дайте мне знать в комментариях , если вы находите мои обзоры интересными и полезными.

Вот так…

1. Весна

>> Spring и Angular JS: безопасное одностраничное приложение

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

1. Обзор

Нередко можно столкнуться с загадочным состоянием при работе с git. Тем не менее, в один прекрасный день, скорее всего, вы увидите «отдельную ГОЛОВУ».

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

2. Что такое HEAD в Git

Git сохраняет запись о состоянии всех файлов в репозитории, когда мы создаем коммит. HEAD — еще один важный тип ссылки. Целью HEAD является отслеживание текущей точки в репозитории Git . Другими словами, HEAD отвечает на вопрос «Где я сейчас?»:

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

1. Обзор

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

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

2. Добавление текста к изображению

Чтобы прочитать изображение и добавить текст, мы можем использовать разные классы. В последующих разделах мы увидим несколько вариантов.

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

1. Overview

These days, it's hard to imagine Java without annotations, a powerful tool in the Java language.

Java provides a set of built-in annotations . Additionally, there are plenty of annotations from different libraries. We can even define and process our own annotations. We can tune these annotations with attribute values, however, these attribute values have limitations. Particularly, an annotation attribute value must be a constant expression .

In this tutorial, we're going to learn some reasons for that limitation and look under the hood of the JVM to explain it better. We'll also take a look at some examples of problems and solutions involving annotation attribute values.

2. Java Annotation Attributes Under the Hood

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

1. Введение

JVM поставляется с различными вариантами сборки мусора для поддержки различных вариантов развертывания. Благодаря этому мы получаем гибкость в выборе того , какой сборщик мусора использовать для нашего приложения.

По умолчанию JVM выбирает наиболее подходящий сборщик мусора на основе класса хост-компьютера. Однако иногда наше приложение сталкивается с серьезными узкими местами, связанными с GC, требующими большего контроля над используемым алгоритмом. Вопрос в том, «как можно выбрать алгоритм GC?»

В этой статье мы попытаемся ответить на этот вопрос.

2. Что такое GC?

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

1. Введение

Архив Java (JAR) описывается его файлом манифеста. В этой статье рассматриваются его многочисленные возможности, в том числе добавление атрибуции, создание исполняемого файла JAR и встраивание информации о версиях.

Однако давайте начнем с краткого обзора того, что такое файл манифеста.

2. Файл манифеста

Файл манифеста называется MANIFEST.MF и находится в каталоге META-INF в JAR. Это просто список пар ключ-значение, называемый заголовками или атрибутами , сгруппированный в разделы.

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

Готовитесь к созданию безопасной аутентификации в своем Java-приложении или боретесь с ней? Не уверены в преимуществах использования токенов (и, в частности, веб-токенов JSON) или в том, как их следует развертывать? Я рад ответить на эти и другие вопросы для вас в этом уроке!

Прежде чем мы углубимся в веб-токены JSON ( JWT ) и библиотеку JJWT (созданную техническим директором Stormpath Лесом Хэзлвудом и поддерживаемую сообществом участников ), давайте рассмотрим некоторые основы.

1. Аутентификация против аутентификации по токену

Набор протоколов, которые приложение использует для подтверждения личности пользователя, называется аутентификацией. Приложения традиционно сохраняют свою идентичность с помощью сеансовых файлов cookie. Эта парадигма основана на хранении идентификаторов сеансов на стороне сервера, что вынуждает разработчиков создавать хранилище сеансов, которое либо уникально и специфично для сервера, либо реализовано как полностью отдельный уровень хранения сеансов.

Аутентификация с помощью токенов была разработана для решения проблем, с которыми идентификаторы сеансов на стороне сервера не справились и не могли справиться. Как и при традиционной аутентификации, пользователи предоставляют проверяемые учетные данные, но теперь им выдается набор токенов вместо идентификатора сеанса. Исходными учетными данными могут быть стандартная пара имени пользователя и пароля, ключи API или даже токены из другого сервиса. (Примером этого является функция аутентификации ключа API Stormpath.)

1.1. Почему жетоны?

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

1. Обзор

В этом руководстве мы собираемся показать класс Optional , представленный в Java 8.

Цель класса — предоставить решение на уровне типа для представления необязательных значений вместо пустых ссылок.

Чтобы глубже понять, почему мы должны заботиться о классе Optional , загляните в официальную статью Oracle .

2. Создание необязательных объектов