Media is too big
VIEW IN TELEGRAM
Java Hashtable, HashMap, ConcurrentHashMap - влияние на производительность
Существует большое количество статей, в которых сформулированы функциональные различия между HashMap, HashTable и ConcurrentHashMap. В этой заметке на практических примерах сравнивается производительность этих структур данных. Если у вас не хватит терпения прочитать всю статью, то вот краткое содержание: Если вы стоите перед выбором, что использовать: HashMap, HashTable или ConcurrentHashMap, то лучше остановиться на ConcurrentHashMap, поскольку ее реализация потокобезопасна, без ущерба для производительности.
https://blog.gceasy.io/2022/04/22/java-hashtable-hashmap-concurrenthashmap-performance-impact/
👉@BookJava
Существует большое количество статей, в которых сформулированы функциональные различия между HashMap, HashTable и ConcurrentHashMap. В этой заметке на практических примерах сравнивается производительность этих структур данных. Если у вас не хватит терпения прочитать всю статью, то вот краткое содержание: Если вы стоите перед выбором, что использовать: HashMap, HashTable или ConcurrentHashMap, то лучше остановиться на ConcurrentHashMap, поскольку ее реализация потокобезопасна, без ущерба для производительности.
https://blog.gceasy.io/2022/04/22/java-hashtable-hashmap-concurrenthashmap-performance-impact/
👉@BookJava
👍2
Настраиваем память JVM-приложения в Kubernetes
Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.
Я хотел бы поделиться одним из способов настройки памяти для Java-приложений в Kubernetes. Сразу скажу, что итоговые настройки, к которым мы придём, будут приведены лишь в качестве примера и должны настраиваться индивидуально под каждое приложение. Рассматривать будем настройки и метрики обычного микросервиса на Spring boot, интегрированного со Spring Boot Admin (далее просто SBA).
https://habr.com/ru/companies/domclick/articles/691240/
👉@BookJava
Друзья, всем привет! Как известно, в Kubernetes у каждого pod’а есть ограничение на использование памяти (limits.memory), и, как показывает опыт, далеко не всегда очевидно, как JVM-приложение интерпретирует эту настройку, что порой может приводить к OOMKill.
Я хотел бы поделиться одним из способов настройки памяти для Java-приложений в Kubernetes. Сразу скажу, что итоговые настройки, к которым мы придём, будут приведены лишь в качестве примера и должны настраиваться индивидуально под каждое приложение. Рассматривать будем настройки и метрики обычного микросервиса на Spring boot, интегрированного со Spring Boot Admin (далее просто SBA).
https://habr.com/ru/companies/domclick/articles/691240/
👉@BookJava
👍4
Лучшие практики Spring Boot для разработчиков
Spring Boot - это широко используемый и очень популярный высокопроизводительный фреймворк корпоративного уровня. Здесь приведены некоторые лучшие практики и несколько советов, которые можно использовать для улучшения приложения Spring Boot и повышения его эффективности. Эта статья будет немного длиннее, и для ее полного прочтения потребуется некоторое время.
https://medium.com/@raviyasas/spring-boot-best-practices-for-developers-3f3bdffa0090
👉@BookJava
Spring Boot - это широко используемый и очень популярный высокопроизводительный фреймворк корпоративного уровня. Здесь приведены некоторые лучшие практики и несколько советов, которые можно использовать для улучшения приложения Spring Boot и повышения его эффективности. Эта статья будет немного длиннее, и для ее полного прочтения потребуется некоторое время.
https://medium.com/@raviyasas/spring-boot-best-practices-for-developers-3f3bdffa0090
👉@BookJava
Medium
Spring Boot Best Practices for Developers
Spring Boot is a widely used and very popular enterprise-level high-performance framework. Here are some best practices and a few tips you…
👍2❤1
Горизонтальное масштабирование
Кейсы использования RabbitMQ+Redis (Spring+Java+RabbitMQ+Redis)
Пишем простой, масштабируемый чат на Spring+Java+RabbitMQ+Stomp
https://www.youtube.com/playlist?list=PLb9LG4UcPZxARYz6T_P8uIPuENRdCVxx7
👉@BookJava
Кейсы использования RabbitMQ+Redis (Spring+Java+RabbitMQ+Redis)
Пишем простой, масштабируемый чат на Spring+Java+RabbitMQ+Stomp
https://www.youtube.com/playlist?list=PLb9LG4UcPZxARYz6T_P8uIPuENRdCVxx7
👉@BookJava
👍5
Курс «Английский для разработчиков» Яндекс Практикума
Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.
Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:
✋Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.
Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.
Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:
✋Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.
Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
Неполное руководство по современным идиомам I/O (ввода-вывода) в Java
https://horstmann.com/unblog/2023-04-09/index.html
👉@BookJava
https://horstmann.com/unblog/2023-04-09/index.html
👉@BookJava
👍2
Перечислите примитивные типы данных в Java
• byte — целые числа в пределах -128 до 127, весит 1 байт;
• short — целые числа в пределах -32768 до 32767, весит 2 байта;
• int — целые числа -2147483648 до 2147483647, весит 4 байта;
• long — целые числа в пределах 9223372036854775808 до 9223372036854775807, весит 8 байтов;
• float — числа с плавающей запятой в пределах -3.4E+38 до 3.4E+38, весит 4 байта;
• double — числа с плавающей запятой в пределах -1.7E+308 до 1.7E+308, весит 8 байтов;
• char — одиночные символы в UTF-16, весит 2 байта;
• boolean значения true/false, весит 1 байт.
👉@BookJava
• byte — целые числа в пределах -128 до 127, весит 1 байт;
• short — целые числа в пределах -32768 до 32767, весит 2 байта;
• int — целые числа -2147483648 до 2147483647, весит 4 байта;
• long — целые числа в пределах 9223372036854775808 до 9223372036854775807, весит 8 байтов;
• float — числа с плавающей запятой в пределах -3.4E+38 до 3.4E+38, весит 4 байта;
• double — числа с плавающей запятой в пределах -1.7E+308 до 1.7E+308, весит 8 байтов;
• char — одиночные символы в UTF-16, весит 2 байта;
• boolean значения true/false, весит 1 байт.
👉@BookJava
👍6
Что означает CAP-теорема?
CAP-теорема, также известная как теорема Брюэра, является концептуальной основой для понимания распределенных систем.
Она была предложена в 2000 году Эриком Брюэром и формулирует три фундаментальных свойства, которые невозможно обеспечить одновременно в распределенной системе данных:
— Согласованность (Consistency);
— Доступность (Availability);
— Устойчивость к разделению (Partition tolerance).
Согласно CAP-теореме, в распределенной системе данных можно гарантировать только два из трех свойств:
— Согласованность и доступность (CA);
— Согласованность и устойчивость к разделению (CP);
— Доступность и устойчивость к разделению (AP).
Выбор между этими свойствами зависит от требований и характеристик конкретной системы и ее целей.
👉@BookJava
CAP-теорема, также известная как теорема Брюэра, является концептуальной основой для понимания распределенных систем.
Она была предложена в 2000 году Эриком Брюэром и формулирует три фундаментальных свойства, которые невозможно обеспечить одновременно в распределенной системе данных:
— Согласованность (Consistency);
— Доступность (Availability);
— Устойчивость к разделению (Partition tolerance).
Согласно CAP-теореме, в распределенной системе данных можно гарантировать только два из трех свойств:
— Согласованность и доступность (CA);
— Согласованность и устойчивость к разделению (CP);
— Доступность и устойчивость к разделению (AP).
Выбор между этими свойствами зависит от требований и характеристик конкретной системы и ее целей.
👉@BookJava
👍2❤1
Настройка и мониторинг Java приложений
За годы работы у нас сформировался определенный опыт диагностики и решения проблем, связанные с производительностью наших Java-приложений. В этой статье я опишу причины торможения, с которыми приходилось столкнуться, и возможные пути их исправления. Также опишу основные настройки, которые мы делаем, и ресурсы сервера, которые использует приложение.
Речь пойдет о бизнес-приложениях с одним сервером Java-приложения и одним сервером базы данных PostgreSQL, в каждом из которых одновременно работают от 500 до 2000 сотрудников компании. Приложения разработаны на базе открытой и бесплатной платформы lsFusion (пример приложения), но большинство описанных проблем и настроек не являются специфическими именно для нее.
https://habr.com/ru/companies/lsfusion/articles/741978/
👉@BookJava
За годы работы у нас сформировался определенный опыт диагностики и решения проблем, связанные с производительностью наших Java-приложений. В этой статье я опишу причины торможения, с которыми приходилось столкнуться, и возможные пути их исправления. Также опишу основные настройки, которые мы делаем, и ресурсы сервера, которые использует приложение.
Речь пойдет о бизнес-приложениях с одним сервером Java-приложения и одним сервером базы данных PostgreSQL, в каждом из которых одновременно работают от 500 до 2000 сотрудников компании. Приложения разработаны на базе открытой и бесплатной платформы lsFusion (пример приложения), но большинство описанных проблем и настроек не являются специфическими именно для нее.
https://habr.com/ru/companies/lsfusion/articles/741978/
👉@BookJava
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Шаблоны проектирования на языке Java
Введение в курс
Введение в ООП
Введение в шаблоны проектирования
Шаблоны Java. FactoryMethod (Фабричный метод)
Шаблоны Java. AbstractFactory (Абcтрактная фабрика)
Шаблоны Java. Singleton (Одиночка)
Шаблоны Java. Builder (Строитель)
Шаблоны Java. Prototype (Прототип)
Шаблоны Java. Creational patterns (Порождающие шаблоны. Заключение).
Шаблоны Java. Adapter (Адаптер)
Шаблоны Java. Bridge (Мост)
Шаблоны Java. Composite (Компоновщик)
Шаблоны Java. Decorator (Декоратор)
Шаблоны Java. Facade (Фасад)
Шаблоны Java. Flyweight (Приспособленец).
Шаблоны Java. Proxy (Прокси)
Шаблоны Java. Structural patterns (Структурные шаблоны. Заключение).
Шаблоны Java. Chain of Responsibility (Цепочка ответственности).
Шаблоны Java. Command (Команда).
Шаблоны Java. Interpreter (Интерпретатор).
Шаблоны Java. Iterator (Итератор).
Шаблоны Java. Mediator (Посредник)
Шаблоны Java. Memento (Хранитель)
Шаблоны Java. Observer (Наблюдатель)
Шаблоны Java. State (Состояние)
Шаблоны Java. Strategy (Стратегия)
Шаблоны Java. Template method (Шаблонный метод)
Шаблоны Java. Visitor (Посетитель)
Шаблоны Java. Conclusion (Заключение)
Полный курс на youtube
👉@BookJava
Введение в курс
Введение в ООП
Введение в шаблоны проектирования
Шаблоны Java. FactoryMethod (Фабричный метод)
Шаблоны Java. AbstractFactory (Абcтрактная фабрика)
Шаблоны Java. Singleton (Одиночка)
Шаблоны Java. Builder (Строитель)
Шаблоны Java. Prototype (Прототип)
Шаблоны Java. Creational patterns (Порождающие шаблоны. Заключение).
Шаблоны Java. Adapter (Адаптер)
Шаблоны Java. Bridge (Мост)
Шаблоны Java. Composite (Компоновщик)
Шаблоны Java. Decorator (Декоратор)
Шаблоны Java. Facade (Фасад)
Шаблоны Java. Flyweight (Приспособленец).
Шаблоны Java. Proxy (Прокси)
Шаблоны Java. Structural patterns (Структурные шаблоны. Заключение).
Шаблоны Java. Chain of Responsibility (Цепочка ответственности).
Шаблоны Java. Command (Команда).
Шаблоны Java. Interpreter (Интерпретатор).
Шаблоны Java. Iterator (Итератор).
Шаблоны Java. Mediator (Посредник)
Шаблоны Java. Memento (Хранитель)
Шаблоны Java. Observer (Наблюдатель)
Шаблоны Java. State (Состояние)
Шаблоны Java. Strategy (Стратегия)
Шаблоны Java. Template method (Шаблонный метод)
Шаблоны Java. Visitor (Посетитель)
Шаблоны Java. Conclusion (Заключение)
Полный курс на youtube
👉@BookJava
👍13❤4