Микросервисы на Spring
монолитные приложения
что такое микросервисы
монолит или микросервисы
CI/CD Devops
что такое Spring Cloud
что такое Service Discovery
схема работы тестового проекта
создание модульного проекта в IDEA
добавление модуля Eureka Server
разбор проекта Eureka Server
доработка модуля Eureka Server
добавление модуля клиента Eureka
прямой вызов микросервиса по порту
что такое API Gateway
добавление API Gateway
перенаправления в API Gateway
добавление нового микросервиса
что такое Load Balancer
Load balancer в API Gateway
стандартные порты приложений
источник
👉@BookJava
монолитные приложения
что такое микросервисы
монолит или микросервисы
CI/CD Devops
что такое Spring Cloud
что такое Service Discovery
схема работы тестового проекта
создание модульного проекта в IDEA
добавление модуля Eureka Server
разбор проекта Eureka Server
доработка модуля Eureka Server
добавление модуля клиента Eureka
прямой вызов микросервиса по порту
что такое API Gateway
добавление API Gateway
перенаправления в API Gateway
добавление нового микросервиса
что такое Load Balancer
Load balancer в API Gateway
стандартные порты приложений
источник
👉@BookJava
Forwarded from Java Geek
Где и для чего используется модификатор abstract?
Класс, помеченный модификатором abstract, называется абстрактным классом. Такие классы могут выступать только предками для других классов. Создавать экземпляры самого абстрактного класса не разрешается. При этом наследниками абстрактного класса могут быть как другие абстрактные классы, так и классы, допускающие создание объектов.
Метод, помеченный ключевым словом abstract - абстрактный метод, т.е. метод, который не имеет реализации. Если в классе присутствует хотя бы один абстрактный метод, то весь класс должен быть объявлен абстрактным.
Использование абстрактных классов и методов позволяет описать некий шаблон объекта, который должен быть реализован в других классах. В них же самих описывается лишь некое общее для всех потомков поведение.
@java_geek
Класс, помеченный модификатором abstract, называется абстрактным классом. Такие классы могут выступать только предками для других классов. Создавать экземпляры самого абстрактного класса не разрешается. При этом наследниками абстрактного класса могут быть как другие абстрактные классы, так и классы, допускающие создание объектов.
Метод, помеченный ключевым словом abstract - абстрактный метод, т.е. метод, который не имеет реализации. Если в классе присутствует хотя бы один абстрактный метод, то весь класс должен быть объявлен абстрактным.
Использование абстрактных классов и методов позволяет описать некий шаблон объекта, который должен быть реализован в других классах. В них же самих описывается лишь некое общее для всех потомков поведение.
@java_geek
Горизонтальное масштабирование
Кейсы использования 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
Media is too big
VIEW IN TELEGRAM
Варианты использования Java ML библиотек совместно с Spring, Docker, Spark, Rapids, CUDA
В данной статье рассматривается способ использования GPU nVidia с технологией CUDA в Docker-контейнерах для распределенной тренировки моделей машинного обучения на нескольких машинах. Цель статьи - показать вариант использования Big Data Tool Apache Spark в Docker-контейнерах, совместно с акселератором GPU вычислений Rapids на устройствах nVidia CUDA, с применением библиотек DJL, Spark ML, XGBoost, в приложении Spring Boot на Java 8 (требование Rapids), на нескольких машинах под управлением ОС Windows 10 Pro для решения задачи тренировки моделей машинного обучения в распределенной системе. Те же контейнеры в дальнейшем можно использовать в Kubernetes.
https://habr.com/ru/post/679248/
👉@BookJava
В данной статье рассматривается способ использования GPU nVidia с технологией CUDA в Docker-контейнерах для распределенной тренировки моделей машинного обучения на нескольких машинах. Цель статьи - показать вариант использования Big Data Tool Apache Spark в Docker-контейнерах, совместно с акселератором GPU вычислений Rapids на устройствах nVidia CUDA, с применением библиотек DJL, Spark ML, XGBoost, в приложении Spring Boot на Java 8 (требование Rapids), на нескольких машинах под управлением ОС Windows 10 Pro для решения задачи тренировки моделей машинного обучения в распределенной системе. Те же контейнеры в дальнейшем можно использовать в Kubernetes.
https://habr.com/ru/post/679248/
👉@BookJava
Now It's Time to Uncomplicate With the Not-So-New API in Java
https://dzone.com/articles/now-its-time-to-uncomplicate-with-the-not-so-new-a
👉@BookJava
https://dzone.com/articles/now-its-time-to-uncomplicate-with-the-not-so-new-a
👉@BookJava
DZone
Now It's Time to Uncomplicate With the Not-So-New API in Java
This article will give you a better understanding of the complexity of working with dates and how useful Java's date API is.
Сборка мусора в неисправных JVM, проактивный подход
Команда Netflix Cloud Data Engineering работает с различными приложениями для JVM, включая такие популярные хранилища данных, как Cassandra и Elasticsearch. Хотя большинство наших кластеров стабильно работают, обходясь выделенной им памятью, иногда «запрос смерти» или ошибка в самом хранилище данных приводят к перерасходу памяти, что может спровоцировать лишние циклы сборки мусора или даже привести к исчерпанию памяти в JVM.
Rus https://habr.com/ru/company/timeweb/blog/700224/
Eng https://netflixtechblog.medium.com/introducing-jvmquake-ec944c60ba70
👉@BookJava
Команда Netflix Cloud Data Engineering работает с различными приложениями для JVM, включая такие популярные хранилища данных, как Cassandra и Elasticsearch. Хотя большинство наших кластеров стабильно работают, обходясь выделенной им памятью, иногда «запрос смерти» или ошибка в самом хранилище данных приводят к перерасходу памяти, что может спровоцировать лишние циклы сборки мусора или даже привести к исчерпанию памяти в JVM.
Rus https://habr.com/ru/company/timeweb/blog/700224/
Eng https://netflixtechblog.medium.com/introducing-jvmquake-ec944c60ba70
👉@BookJava
Что такое Keyword?
Зарезервированные слова в Java – это специальные последовательности символов, которые воспринимаются компилятором особым образом. Такие слова нельзя использовать как названия классов, переменных, и для других идентификаторов. Все зарезервированне слова можно разбить на три больших группы. Все они перечислены в таблице ниже.
1. 4 зарезервированных слова не являются ключевыми словами: это литералы
2. 51 ключевое слово (keywords). В таблице мы сгруппировали их по смыслу.
3. 10 ограниченных ключевых слов (restricted keywords). Они считаются ключевыми словами только в контексте файла объявления модуля
👉@BookJava
Зарезервированные слова в Java – это специальные последовательности символов, которые воспринимаются компилятором особым образом. Такие слова нельзя использовать как названия классов, переменных, и для других идентификаторов. Все зарезервированне слова можно разбить на три больших группы. Все они перечислены в таблице ниже.
1. 4 зарезервированных слова не являются ключевыми словами: это литералы
true
, false
, null
, и специальный идентификатор выводимого типа var
.2. 51 ключевое слово (keywords). В таблице мы сгруппировали их по смыслу.
3. 10 ограниченных ключевых слов (restricted keywords). Они считаются ключевыми словами только в контексте файла объявления модуля
module-info
. В обычных .java
-файлах это разрешенные идентификаторы.👉@BookJava