Можно ли считать Final переменную константой?
Ответ:
Если тип данных, на который ссылается переменная — immutable, то да, это константа.
А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя.
Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.
Please open Telegram to view this post
VIEW IN TELEGRAM
Размышляете над тем, какой фреймворк освоить, чтобы стать полноценным специалистом?
В нашем распоряжении десятки фреймворков, но не обязательно знакомиться со всеми. Какие-то вы начнете изучать по мере необходимости, но есть ряд фреймворков, подлежащих освоению в первую очередь, например Spring и Hibernate.
Ссылка на статью — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁52 11🤣9❤4
Данный код позволяет сгенерировать случайный уникальный идентификатор с помощью класса
java.util.UUID.Для удаления знака тире "-" из уникального идентификатора воспользуемся методом
replace():String uuidString = uuid.toString().replace("-", "");
System.out.println("UUID: " + uuidString);
// b80ecc19ac5a4e299a7ffb4a6a4a0264Please open Telegram to view this post
VIEW IN TELEGRAM
❤66 8💯2
🤣41 23😁6👍2
Благодаря этой статье вы узнаете, как подключить и настроить Liquibase в Spring Boot приложении, сгенерировать скрипты инициализации и миграции схемы БД, а также дополнить уже существующие changelog файлы новыми скриптами миграции.
Ссылка на статью — КЛИК
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12 7💯4👍1
Что такое JAXP?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое SOLID?
1. Принцип единственной ответственности
Класс должен быть ответственен лишь за что-то одно. Если класс отвечает за решение нескольких задач, его подсистемы, реализующие решение этих задач, оказываются связанными друг с другом. Изменения в одной такой подсистеме ведут к изменениям в другой.
Рассмотрим код:
class Animal {
constructor(name: string){ }
getAnimalName() { }
saveAnimal(a: Animal) { }
}Класс
Animal описывает какое-то животное и нарушает принцип единственной ответственности:В соответствии с принципом класс должен решать лишь какую-то одну задачу. Он же решает две, занимаясь работой с хранилищем данных в методе saveAnimal и манипулируя свойствами объекта в конструкторе и в методе getAnimalName.
Как такая структура класса может привести к проблемам?
Если изменится порядок работы с хранилищем данных, то придётся вносить изменения во все классы, работающие с хранилищем. Такая архитектура не отличается гибкостью, изменения одних подсистем затрагивают другие, что напоминает эффект домино.
Приведём в порядок и создадим ещё один класс, единственной задачей которого является работа с хранилищем, в частности — сохранение в нём объектов класса
Animal:class Animal {
constructor(name: string){ }
getAnimalName() { }
}
class AnimalDB {
getAnimal(a: Animal) { }
saveAnimal(a: Animal) { }
}В следующих частях мы рассмотрим остальные принципы SOLID, а пока что оставьте свои реакции:
«Проектируя классы, мы должны стремиться к тому, чтобы объединять родственные компоненты, то есть такие, изменения в которых происходят по одним и тем же причинам. Нам следует стараться разделять компоненты, изменения в которых вызывают различные причины» — Стив Фентон.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤121 45🔥2
Для чего используется аннотация
@Bean?Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤21 10
К вашему вниманию любимая рубрика «инструкция для чайников — как самостоятельно сделать свой первый деплой».
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19 5💯1
Джеймс Гослинг, создатель Java, вышел на пенсию и поделился этой новостью в LinkedIn:
Наконец-то я вышел на пенсию. После многих лет работы инженером-программистом настало время просто наслаждаться жизнью. Последние 7 лет в Amazon были замечательными, несмотря на COVID-19 и индустриальные потрясения. У меня длинный список сторонних проектов, которые теперь могу завершить. Это будет весело.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤225 2
Instancio — это библиотека, которая позволяет автоматически создавать объекты для юнит-тестов.
Вместо ручной настройки данных:
Address address = new Address();
address.setStreet("street");
address.setCity("city");
//...
Person person = new Person();
person.setFirstName("first-name");
person.setLastName("last-name");
person.setAge(22);
person.setGender(Gender.MALE);
person.setAddress(address);
//...
Вы можете просто выполнить следующее:
Person person = Instancio.create(Person.class);
❤️ — если было полезно
Please open Telegram to view this post
VIEW IN TELEGRAM
Эта статья для тех, кто только начинает свой путь в изучении Java.
Здесь автор не сильно углубляется в детали каждой коллекции в отдельности, ведь чтобы начать ими пользоваться, достаточно хотя бы на базовом уровне понять, что это такое и с чем это "едят".
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14 8⚡1👍1
Что такое Reflection?
Ответ:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15 8
Метод
shuffle() случайным образом перемешивает все элементы переданного списка.В примере на картинке создаётся список из упорядоченных элементов, затем срабатывает метод
shuffle(), элементы перемешиваются в случайном порядке и выводятся на экран при помощи цикла for.❤️ — если было полезно
Please open Telegram to view this post
VIEW IN TELEGRAM
Вам дана целочисленная матрица
m x n со следующими свойствами:— Каждая строка отсортирована в неубывающем порядке.
— Первое целое число каждой строки больше последнего целого числа предыдущей строки.
Если число
target находится в матрице вернуть true, в противном случае — false.Пример 1:
Картинка: открыть
Входные данные:
matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3Вывод:
trueПример 2:
Картинка: открыть
Входные данные:
matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13Вывод:
falsePlease open Telegram to view this post
VIEW IN TELEGRAM
На данном этапе автор показывает, как зарегистрировать бота в Telegram, создать maven проект и реализовать базовый функционал.
Please open Telegram to view this post
VIEW IN TELEGRAM