krosovok programs
224 subscribers
74 photos
13 videos
3 files
123 links
по всем вопросам —> @nefertitiNFT

soon...

https://t.me/krsCODE
Download Telegram
Можно ли считать Final переменную константой?

Поскольку у нас не получится присвоить новое значение для final переменной, кажется, что это переменные константы. Но это только на первый взгляд. Если тип данных, на который ссылается переменная — immutable, то да, это константа.

А если тип данных mutable, то есть изменяемый, при помощи методов и переменных можно будет изменить значение объекта, на который ссылается final переменная, и в таком случае назвать ее константой нельзя. Так вот, на примере видно, что часть финальных переменных действительно константы, а часть — нет, и их можно изменить.

📱 krosovok programs
Please open Telegram to view this post
VIEW IN TELEGRAM
211111
Что такое ThreadLocal-переменная?

ThreadLocal - класс, позволяющий имея одну переменную, иметь различное её значение для каждого из потоков.

У каждого потока - т.е. экземпляра класса Thread - есть ассоциированная с ним таблица ThreadLocal-переменных. Ключами таблицы являются cсылки на объекты класса ThreadLocal, а значениями - ссылки на объекты, «захваченные» ThreadLocal-переменными, т.е. ThreadLocal-переменные отличаются от обычных переменных тем, что у каждого потока свой собственный, индивидуально инициализируемый экземпляр переменной. Доступ к значению можно получить через методы get() или set().

Например, если мы объявим ThreadLocal-переменную: ThreadLocal<Object> locals = new ThreadLocal<Object>();. А затем, в потоке, сделаем locals.set(myObject), то ключом таблицы будет ссылка на объект locals, а значением - ссылка на объект myObject. При этом для другого потока существует возможность «положить» внутрь locals другое значение.

Следует обратить внимание, что ThreadLocal изолирует именно ссылки на объекты, а не сами объекты. Если изолированные внутри потоков ссылки ведут на один и тот же объект, то возможны коллизии.

Так же важно отметить, что т.к. ThreadLocal-переменные изолированы в потоках, то инициализация такой переменной должна происходить в том же потоке, в котором она будет использоваться. Ошибкой является инициализация такой переменной (вызов метода set()) в главном потоке приложения, потому как в данном случае значение, переданное в методе set(), будет «захвачено» для главного потока, и при вызове метода get() в целевом потоке будет возвращен null.

Я хочу показать вам разные фишки и техники, которые можно использовать при написании кода. Не буду говорить, что вот это – "правильно", а вот это – "нет". Что-то работает лучше, что-то хуже, всё зависит от ситуации. Главное, что я хочу донести – это то, что так делать можно. А уж что именно применять – решайте сами, исходя из ваших задач и предпочтений.


📱 krosovok programs
Please open Telegram to view this post
VIEW IN TELEGRAM
331
извиняюсь, что не в 12:00

charBuffer

Метод charBuffer() используется для получения буфера символов из строки. Он принадлежит java.nio.

Этот метод возвращает объект CharBuffer, который представляет последовательность символов строки.
CharBuffer позволяет эффективно читать и манипулировать символами строки без создания копий.


Я хочу показать вам разные фишки и техники, которые можно использовать при написании кода. Не буду говорить, что вот это – "правильно", а вот это – "нет". Что-то работает лучше, что-то хуже, всё зависит от ситуации. Главное, что я хочу донести – это то, что так делать можно. А уж что именно применять – решайте сами, исходя из ваших задач и предпочтений.


📱 krosovok programs
Please open Telegram to view this post
VIEW IN TELEGRAM
1321
Класс LocalDateTime

Класс LocalDateTime используется для работы с датой и временем без учета часового пояса.
Он появился в Java 8 в пакете java.time и является частью новой date/time API, которая пришла на смену устаревшим классам Date и Calendar.

Основные возможности класса LocalDateTime:
— Хранение даты и времени с точностью до наносекунд.
— Получение различных компонентов даты/времени (год, месяц, день недели и т. д.).
— Выполнение операций сложения и вычитания дат и интервалов.
— Сравнение и сортировка дат по времени.
— Форматирование и парсинг строк по заданному шаблону.


Я хочу показать вам разные фишки и техники, которые можно использовать при написании кода. Не буду говорить, что вот это – "правильно", а вот это – "нет". Что-то работает лучше, что-то хуже, всё зависит от ситуации. Главное, что я хочу донести – это то, что так делать можно. А уж что именно применять – решайте сами, исходя из ваших задач и предпочтений.


📱 krosovok programs
Please open Telegram to view this post
VIEW IN TELEGRAM
51
krosovok programs
🕔🕕🕖🕗🕘 ⚫️ телеграмм премиум х3 ⚫️ 1 место - 1 месяц (300 рублей\3$) + 15% скидка в боте на 1 товар 2 место - 1 месяц (300 рублей\3$) + 10% скидка в боте на 1 товар 3 место - 1 месяц (300 рублей\3$) + 5% скидка в боте на 1 товар Условия: ⚫️ Подписаться…
⌛️ 2 часа

если у кого-то есть желанию сделать совместный розыгрыш, пишите —> @krosov_ok

второй будет больше чем первый, но 3 Вас порадует конкретно, это я гарантирую, пока что разогрев

💋 для тех кто репостит, отдельно от себя разыграю 1,5к (в след розыгрыше)
Please open Telegram to view this post
VIEW IN TELEGRAM
3
🙂 не расстраивайтесь, в понедельник в 3-4 раза больше розыгрыш

🪴🪴🪴🪴🪴🪴🪴🪴
🔖хочешь пробрести товар? тебе сюда:

👩‍💻 @krosovokBuyBot

🔖есть вопросы? тебе сюда:

👩‍💻 @krosovokHelpBot
Please open Telegram to view this post
VIEW IN TELEGRAM
12
Какие существуют виды тестовых объектов?

🔞 более подробно —> клик

⭐️ Пустышка (dummy) — объект, который обычно передается в тестируемый класс в качестве параметра, но не имеет поведения: с ним ничего не происходит и никакие его методы не вызываются. Основная цель пустышки — удовлетворение интерфейса без необходимости в её функциональности. Примеры пустышек включают объекты типа new Object(), null, или строки вроде «Ignored String».

⭐️ Фальшивка (fake object) — применяется в основном для ускорения запуска ресурсоёмких тестов и является заменой тяжеловесного внешнего зависимого объекта его легковесной реализацией. Примеры включают эмулятор базы данных (fake database) или фальшивый веб-сервис.

⭐️ Заглушка (test stub) — используется для получения данных из внешней зависимости, подменяя её. Заглушка игнорирует все данные, поступающие из тестируемого объекта, возвращая заранее определённый результат. Например, если объект использует чтение из конфигурационного файла, можно передать ему заглушку ConfigFileStub, которая возвращает тестовые строки конфигурации без обращения к файловой системе.

⭐️ Шпион (test spy) — разновидность заглушки, которая умеет протоколировать обращения к ней из тестируемой системы для проверки их правильности в конце теста. Шпион фиксирует количество, состав и содержание параметров вызовов. Если существует необходимость проверить, что определённый метод тестируемого класса вызывался ровно один раз, шпион — именно то, что нужно.

⭐️ Фикция (mock object) — похожа на шпиона, но обладает расширенной функциональностью с заранее заданным поведением и реакцией на вызовы. Мок-объекты часто используются в тестах для проверки взаимодействий между объектами и могут быть настроены на возврат различных значений в зависимости от вызовов.
Я хочу показать вам разные фишки и техники, которые можно использовать при написании кода. Не буду говорить, что вот это – "правильно", а вот это – "нет". Что-то работает лучше, что-то хуже, всё зависит от ситуации. Главное, что я хочу донести – это то, что так делать можно. А уж что именно применять – решайте сами, исходя из ваших задач и предпочтений.


📱 krosovok programs
Please open Telegram to view this post
VIEW IN TELEGRAM
4
кто хочет совместку, думайте до вечера
пишите —> @krosov_ok
🕔🕕🕖🕗🕘🕙
от krosov_ok & alexec0de

1 место - лицензия майнкрафт (1-2к рублей)
2 место - 250 коинов (250 рублей)
3 место - 250 коинов (250 рублей)
4 место - 250 коинов (250 рублей)
5 место - 250 коинов (250 рублей)

⭐️ условие:

🔞 подписаться на krosov_ok

🔞 подписаться на alexec0de

🔞 поставить реакцию на пост

⌛️итоги:

3.03.25 13:00
Please open Telegram to view this post
VIEW IN TELEGRAM
468121111
еще вы можете пересылать в свои тгк, и кинуть скрины мне в лс @krosov_ok
между теми кто репостнул (от 100 подписчиков, делаю исключения) сделаю розыгрыш на 1,5к от себя
так же можете купить спонсорку в @krosovokBuyBot

таблица участников - лист

⌛️итоги:

24.02.25 13:00
Please open Telegram to view this post
VIEW IN TELEGRAM
72
- обои в канале (скоро будут)

🔞 кому не жалко - буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2
This media is not supported in your browser
VIEW IN TELEGRAM
411
неожиданный фаст клик 50 звездочек
9
krosovok programs
неожиданный фаст клик 50 звездочек
🎉 Результаты розыгрыша:

Победитель:
выдал

Проверить результаты
51
⚙️ Java — различные форматы конфигурации

⭐️ YAML

— Удобочитаемый формат сериализации данных
— Использует отступы для вложенности
— Часто используется для конфигурационных файлов и обмена данными
— Без дополнительных библиотек работать не будет

⭐️ JSON

— Лёгкий формат обмена данными с использованием пар "ключ-значение"
— Широко используется в API, конфигурационных файлах и для обмена данными

⭐️ XML

— Язык разметки, использующий теги для определения элементов данных и их структуры
— Часто применяется для представления структурированных данных и хранения документов

⭐️ Java Properties

— Простой формат конфигурации с парами "ключ-значение"
— Используется в Java-приложениях для хранения настроек и конфигурационных данных

💬 Какой формат вы используете чаще всего?
Напишите в коментарии

📱 krosovok programs
Please open Telegram to view this post
VIEW IN TELEGRAM
10431
API Gateway vs. Load Balancer: В чём разница?

Отличное понимание ролей API Gateway и Load Balancer является ключевым для проектирования масштабируемых и эффективных архитектур.

✉️ API Gateway: Почтальон цифрового мира

Работает как почтальон, направляя API-запросы к нужному сервису. А также выполняет роль охранника, управляя аутентификацией и авторизацией, переводчика, преобразуя запросы и ответы, и регулировщика движения, контролируя частоту запросов.

🚦 Load Balancer: Регулировщик движения

Его задача — равномерно распределять трафик между серверами, предотвращая их перегрузку, улучшая надежность и обеспечивая автоматическое переключение в случае сбоя одного из серверов.

🌐 Оба компонента необходимы в современных архитектурах, но выполняют разные функции!
Я хочу показать вам разные фишки и техники, которые можно использовать при написании кода. Не буду говорить, что вот это – "правильно", а вот это – "нет". Что-то работает лучше, что-то хуже, всё зависит от ситуации. Главное, что я хочу донести – это то, что так делать можно. А уж что именно применять – решайте сами, исходя из ваших задач и предпочтений.


📱 krosovok programs
Please open Telegram to view this post
VIEW IN TELEGRAM
522