Блог Java → Полезное по Java SE | OTUS

Курсы

Программирование
MS SQL Server Developer Java Developer. Professional Highload Architect C++ Developer. Basic Специализация C++ Developer C++ Developer. Professional HTML/CSS Kotlin Developer. Basic VR/AR - разработчик Microservice Architecture Software Architect PostgreSQL для администраторов баз данных и разработчиков PHP Developer. Professional Web-разработчик на Python Agile Project Manager Unity Game Developer. Professional C# Developer Flutter Mobile Developer Python Developer. Basic Python Developer. Professional Базы данных iOS Developer. Professional React.js Developer Scala-разработчик Специализация iOS Разработчик программных роботов (RPA) на базе UiPath и PIX Kotlin Backend Developer Node.js Developer Symfony Framework PHP Developer. Basic Буткемп Java Groovy Developer
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02
Extension-методы в Scala 3

Один из вариантов создания кортежа из 2-х элементов — применение a -> b, что является альтернативой всем привычного (a, b). В Scala 2-й версии это имплементировано посредством неявного преобразования из типа переменной a в ArrowAssoc, где определен метод ->:

Плюсы и минусы Scala

Когда Scala создавался, разработчики предполагали, что он станет преемником языка Java, для чего были предпосылки. И правда -- Scala наследует довольно много плюсов Java, а еще и работает по схожим принципам, ну и, разумеется, добавляет нечто свое. Однако по ряду причин преемником Java язык Scala не стал. Чтобы разобраться почему, давайте рассмотрим, каковы достоинства и недостатки этого языка.

ViewResolver и MultipartResolver в Spring

ViewResolver — это распознаватель представлений. Его интерфейс в Spring MVC (пакет org.springframework.web.servlet) поддерживает распознавание представлений на основании логического имени, который возвращается контроллером. Чтобы поддерживать разные механизмы распознавания, есть много классов реализации.

Неявные классы в Scala

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

Обработка исключений в Spring MVC Framework

В Spring MVC существует интерфейс HandlerExceptionResolver (берется из пакета org.springframework.web.servlet). На практике он используется при работе с непредвиденными исключениями, которые возникают в процессе выполнения обработчиков.

DispatcherServlet и ContextLoaderListener в Spring

DispatcherServlet представляет собой сервлет диспетчера. Он анализирует запросы, направляя их для обработки соответствующему контроллеру. Давайте рассмотрим, что это, немного подробнее. Заодно скажем пару слов и про ContextLoaderListener -- соответствующие знания могут помочь на собеседовании.

Особенности работы с Groovy

В этой статье рассмотрим некоторые особенности работы с Groovy на примерах. Начиная с Java 11, исходный код Groovy можно выполнять как обычный скрипт. Чтобы это работало, необходимо, чтобы скрипт содержал код вне определения класса либо класс с методом main, либо Runnable, либо же GroovyTestCase:

Массивы примитивных типов в Kotlin

Когда используешь функцию arrayOf() и создаешь массив с типами вроде Array<Int>, полученный таким образом массив будет представлять собой список из объектов. К примеру, при работе в JVM целочисленный тип будет упакован не как примитивный тип int, а как класс Integer. Все это, конечно, неплохо, однако есть нюанс: применение примитивных типов, если сравнивать их с аналогами в виде классов, потребляет меньше системной памяти, следовательно, повышает производительность. Как же создавать массивы примитивных типов в Kotlin? Нам помогут IntArray, FloatArray и DoubleArray.