☕🧵 Введение в многопоточность в Java. Часть 2. Жизненный цикл потоков, Thread.join() и потоки-демоны
В этой части узнаем, какие состояния проходят потоки в своем жизненном цикле, что такое ожидание потоков и что такое потоки-демоны.
🔗 Основной сайт
🔗 Зеркало
В этой части узнаем, какие состояния проходят потоки в своем жизненном цикле, что такое ожидание потоков и что такое потоки-демоны.
🔗 Основной сайт
🔗 Зеркало
Сборка мусора в неисправных JVM, проактивный подход
Команда Netflix Cloud Data Engineering работает с различными приложениями для JVM, включая такие популярные хранилища данных, как Cassandra и Elasticsearch. Хотя большинство наших кластеров стабильно работают, обходясь выделенной им памятью, иногда «запрос смерти» или ошибка в самом хранилище данных приводят к перерасходу памяти, что может спровоцировать лишние циклы сборки мусора или даже привести к исчерпанию памяти в JVM.
https://habr.com/ru/company/timeweb/blog/700224/
Команда Netflix Cloud Data Engineering работает с различными приложениями для JVM, включая такие популярные хранилища данных, как Cassandra и Elasticsearch. Хотя большинство наших кластеров стабильно работают, обходясь выделенной им памятью, иногда «запрос смерти» или ошибка в самом хранилище данных приводят к перерасходу памяти, что может спровоцировать лишние циклы сборки мусора или даже привести к исчерпанию памяти в JVM.
https://habr.com/ru/company/timeweb/blog/700224/
Хабр
Сборка мусора в неисправных JVM, проактивный подход
Команда Netflix Cloud Data Engineering работает с различными приложениями для JVM, включая такие популярные хранилища данных, как Cassandra и Elasticsearch. Хотя большинство наших кластеров стабильно...
Создаем умные типы данных при помощи records и enums
Друзья, предложенную сегодня статью написал Брюс Эккель, автор книги "Философия Java".
Основываясь на функциональном подходе конструирования типов Java, используя "записи" (records) и перечисляемые типы (enums), Брюс научит вас получать объекты с корректными значениями. 🤔
Приятного чтения!
https://blogs.oracle.com/javamagazine/post/java-smarter-types-records-enums
Друзья, предложенную сегодня статью написал Брюс Эккель, автор книги "Философия Java".
Основываясь на функциональном подходе конструирования типов Java, используя "записи" (records) и перечисляемые типы (enums), Брюс научит вас получать объекты с корректными значениями. 🤔
Приятного чтения!
https://blogs.oracle.com/javamagazine/post/java-smarter-types-records-enums
В следующем году состоится релиз Java 20, но мы уже сегодня можем говорить о том, что нового будет в новой версии.
В предложенном сегодня видео рассмотрены:
✔️ Последовательные коллекции
✔️ Фабричные методы для коллекций
✔️ Сопоставление с образцом для оператора Switch
✔️ Паттерны для записей
✔️ Примитивные классы
и др.
Приятного просмотра!
В предложенном сегодня видео рассмотрены:
✔️ Последовательные коллекции
✔️ Фабричные методы для коллекций
✔️ Сопоставление с образцом для оператора Switch
✔️ Паттерны для записей
✔️ Примитивные классы
и др.
Приятного просмотра!
YouTube
Glimpse at Java 20: Pattern Matching, Concurrent Programming and Valhalla - Inside Java Newscast #38
Java 20 is almost round the corner. We already have a good idea of what new things will be in it. So let us visit them in this newscase: Sequenced Collections, Pattern Matching from project Amber with the support of nesting and type inference, Loom and the…
Spring: новости за прошедшую неделю
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
Приятного чтения! 😃
Читать статью
Вашему вниманию предлагается информационная подборка материалов "Spring: новости за прошедшую неделю" от Джоша Лонга (Josh Long).
Приятного чтения! 😃
Читать статью
This Week in Spring - November 29th, 2022 (Spring Boot 3 has arrived)
Level up your Java code and explore what Spring can do for you.
🐕🖥 16 универсальных идей для пет-проектов вне зависимости от языка
Хотите создать что-нибудь эдакое, но вам не хватает фантазии и вдохновения? Держите 16 идей для разработки собственного проекта от «Библиотеки программиста».
🔗 Основной сайт
🔗 Зеркало
Хотите создать что-нибудь эдакое, но вам не хватает фантазии и вдохновения? Держите 16 идей для разработки собственного проекта от «Библиотеки программиста».
🔗 Основной сайт
🔗 Зеркало
💡 8 IT-профессий для тех, кто не хочет программировать
В погоне за большими и, как оказывается впоследствии, совсем не легкими деньгами некоторые люди задумываются об IT-профессиях. Но что делать, если вы не любите программировать, но хотите попасть в IT и получать достойную зарплату? Рассказываем о 8 IT-профессиях, в которых не нужно программировать.
🔗 Основной сайт
🔗 Зеркало
В погоне за большими и, как оказывается впоследствии, совсем не легкими деньгами некоторые люди задумываются об IT-профессиях. Но что делать, если вы не любите программировать, но хотите попасть в IT и получать достойную зарплату? Рассказываем о 8 IT-профессиях, в которых не нужно программировать.
🔗 Основной сайт
🔗 Зеркало
Друзья, Vlad Mihalcea подготовил небольшое видео на тему извлечения объектов при помощи JPA и Hibernate. 😃
В этом видео рассмотрено следующее:
✔️ Непосредственное извлечение объектов
✔️ JPQL запросы
✔️ SQL запросы
✔️ Запросы Criteria API
Приятного просмотра!
В этом видео рассмотрено следующее:
✔️ Непосредственное извлечение объектов
✔️ JPQL запросы
✔️ SQL запросы
✔️ Запросы Criteria API
Приятного просмотра!
YouTube
The best way to fetch entities with JPA and Hibernate
In this video, we are going to talk about fetching JPA and Hibernate entities.
First, I'm going to explain how you fetch entities directly via their entity identifier or natural identifier.
Afterward, we are going to see how we can fetch entities via JPQL…
First, I'm going to explain how you fetch entities directly via their entity identifier or natural identifier.
Afterward, we are going to see how we can fetch entities via JPQL…
🛠 Программирование без кода: немного о no-code и low-code разработке
Не нравится кодить или просто не получается, но очень хочется? Или нужно быстро собрать и протестировать MVP? Попробуй no-code и low-code программирование.
🔗 Основной сайт
🔗 Зеркало
Не нравится кодить или просто не получается, но очень хочется? Или нужно быстро собрать и протестировать MVP? Попробуй no-code и low-code программирование.
🔗 Основной сайт
🔗 Зеркало
#вопросы_с_собеседований
Что произойдет со сборщиком мусора, если выполнение метода finalize() требует ощутимо много времени, или в процессе выполнения будет выброшено исключение?
Непосредственно вызов
То же самое применимо и выброшенным в процессе
Что произойдет со сборщиком мусора, если выполнение метода finalize() требует ощутимо много времени, или в процессе выполнения будет выброшено исключение?
Непосредственно вызов
finalize()
происходит в отдельном потоке Finalizer
(java.lang.ref.Finalizer.FinalizerThread
), который создаётся при запуске виртуальной машины (в статической секции при загрузке класса Finalizer
). Методы finalize()
вызываются последовательно в том порядке, в котором были добавлены в список сборщиком мусора. Соответственно, если какой-то finalize()
зависнет, он подвесит поток Finalizer
, но не сборщик мусора. Это в частности означает, что объекты, не имеющие метода finalize()
, будут исправно удаляться, а вот имеющие будут добавляться в очередь, пока поток Finalizer
не освободится, не завершится приложение или не кончится память.То же самое применимо и выброшенным в процессе
finalize()
исключениям: метод runFinalizer()
у потока Finalizer
игнорирует все исключения выброшенные в момент выполнения finalize()
. Таким образом возникновение исключительной ситуации никак не скажется на работоспособности сборщика мусора.#вопросы_с_собеседований
Какие есть особенности класса String?
• Это неизменяемый (immutable) и финализированный тип данных;
• Все объекты класса String JVM хранит в пуле строк;
• Объект класса String можно получить, используя двойные кавычки;
• Можно использовать оператор + для конкатенации строк;
• Начиная с Java 7 строки можно использовать в конструкции switch.
Какие есть особенности класса String?
• Это неизменяемый (immutable) и финализированный тип данных;
• Все объекты класса String JVM хранит в пуле строк;
• Объект класса String можно получить, используя двойные кавычки;
• Можно использовать оператор + для конкатенации строк;
• Начиная с Java 7 строки можно использовать в конструкции switch.
⭐ 15 000 звезд на GitHub за год: 10 советов по развитию и продвижению продукта
В этой статье авторы популярного опенсорс-проекта Medusa (альтернатива Shopify) дадут 10 советов по развитию и продвижению продукта.
🔗 Основной сайт
🔗 Зеркало
В этой статье авторы популярного опенсорс-проекта Medusa (альтернатива Shopify) дадут 10 советов по развитию и продвижению продукта.
🔗 Основной сайт
🔗 Зеркало