🐕🖥 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 советов по развитию и продвижению продукта.
🔗 Основной сайт
🔗 Зеркало
#вопросы_с_собеседований
Почему char[] предпочтительнее String для хранения пароля?
С момента создания строка остаётся в пуле, до тех пор, пока не будет удалена сборщиком мусора. Поэтому, даже после окончания использования пароля, он некоторое время продолжает оставаться доступным в памяти и способа избежать этого не существует. Это представляет определённый риск для безопасности, поскольку кто-либо, имеющий доступ к памяти сможет найти пароль в виде текста. В случае использования массива символов для хранения пароля имеется возможность очистить его сразу по окончанию работы с паролем, позволяя избежать риска безопасности, свойственного строке.
Почему char[] предпочтительнее String для хранения пароля?
С момента создания строка остаётся в пуле, до тех пор, пока не будет удалена сборщиком мусора. Поэтому, даже после окончания использования пароля, он некоторое время продолжает оставаться доступным в памяти и способа избежать этого не существует. Это представляет определённый риск для безопасности, поскольку кто-либо, имеющий доступ к памяти сможет найти пароль в виде текста. В случае использования массива символов для хранения пароля имеется возможность очистить его сразу по окончанию работы с паролем, позволяя избежать риска безопасности, свойственного строке.
Шпаргалка: исключения в Java
Друзья, представляем вашему вниманию шпаргалку на тему исключений в Java. 🤓
Хорошей памяти!
Читать статью
Друзья, представляем вашему вниманию шпаргалку на тему исключений в Java. 🤓
Хорошей памяти!
Читать статью
Java Concept Of The Day
Java Exception Handling Cheat Sheet
Java exceptions and errors quick reference guide, Java exception handling cheat sheet for interview preparation, Java study materials...
#вопросы_с_собеседований
Как создать потокобезопасный Singleton?
• Static field
Как создать потокобезопасный Singleton?
• Static field
class Singleton {• Enum
public static final Singleton INSTANCE = new Singleton();
}
enum Singleton {• Synchronized Accessor
INSTANCE;
}
class Singleton {• Double Checked Locking & volatile
private static Singleton instance;
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
class Singleton {• On Demand Holder Idiom
private static volatile Singleton instance;
public static Singleton getInstance() {
Singleton localInstance = instance;
if (localInstance == null) {
synchronized (Singleton.class) {
localInstance = instance;
if (localInstance == null) {
instance = localInstance = new Singleton();
}
}
}
return localInstance;
}
}
public class Singleton {
public static class SingletonHolder {
public static final Singleton HOLDER_INSTANCE = new Singleton();
}
public static Singleton getInstance() {
return SingletonHolder.HOLDER_INSTANCE;
}
}
Как ускорить прогон тестов в многомодульном проекте Maven.
https://habr.com/ru/company/wrike/blog/703986/
https://habr.com/ru/company/wrike/blog/703986/
Хабр
Как ускорить прогон тестов в многомодульном проекте Maven
Большое количество модулей Maven замедляет сборку проекта и время прогона тестов. Для того, чтобы сохранить многомодульную структуру проекта и быстро прогонять тесты, мы в Wrike написали новый...
Какое из утверждений верно?
Anonymous Quiz
22%
AssertionError нужно обязательно перехватывать при помощи catch
17%
AssertionError нельзя бросать в методах с private и protected
27%
При броске AssertionError внутри try-catch-finally блок finally не отработает
34%
Прямой бросок AssertionError – хорошая практика в программировании
Что делает метод intern() в классе String?
Метод
Метод
intern()
используется для сохранения строки в пуле строк или получения ссылки, если такая строка уже находится в пуле.ТОП 30+ вопросов по ООП с примерами
Друзья, давно не освежали в памяти базовые понятия ООП. 😃
В предложенной сегодня статье представлены ТОП 30 вопросов по ООП с примерами.
Хорошей подготовки!
Читать статью
Друзья, давно не освежали в памяти базовые понятия ООП. 😃
В предложенной сегодня статье представлены ТОП 30 вопросов по ООП с примерами.
Хорошей подготовки!
Читать статью
#вопросы_с_собеседований
Какая основная разница между String, StringBuffer, StringBuilder?
Класс
Класс
Класс
Какая основная разница между String, StringBuffer, StringBuilder?
Класс
String
является неизменяемым (immutable
) - модифицировать объект такого класса нельзя, можно лишь заменить его созданием нового экземпляра.Класс
StringBuffer
изменяемый - использовать StringBuffer
следует тогда, когда необходимо часто модифицировать содержимое.Класс
StringBuilder
был добавлен в Java 5
и он во всем идентичен классу StringBuffer
за исключением того, что он не синхронизирован и поэтому его методы выполняются значительно быстрей.Запросы к MongoDB из Java с помощью билдера фильтров
В этой статье разберемся, как использовать класс Filters для запросов к MongoDB.
Класс Filters представляет собой билдер для удобного написания фильтров запросов. Фильтры — это некоторые условные операции, которые MongoDB использует для ограничения результатов.
https://habr.com/ru/company/otus/blog/704488/
В этой статье разберемся, как использовать класс Filters для запросов к MongoDB.
Класс Filters представляет собой билдер для удобного написания фильтров запросов. Фильтры — это некоторые условные операции, которые MongoDB использует для ограничения результатов.
https://habr.com/ru/company/otus/blog/704488/
Хабр
Запросы к MongoDB из Java с помощью билдера фильтров
1. Обзор В этой статье разберемся, как использовать класс Filters для запросов к MongoDB . Класс Filters представляет собой билдер для удобного написания фильтров запросов. Фильтры — это некоторые...
#вопросы_с_собеседований
Что такое класс Object? Какие в нем есть методы?
Object это базовый класс для всех остальных объектов в Java. Любой класс наследуется от Object и, соответственно, наследуют его методы:
public boolean equals(Object obj) – служит для сравнения объектов по значению;
int hashCode() – возвращает hash код для объекта;
String toString() – возвращает строковое представление объекта;
Class getClass() – возвращает класс объекта во время выполнения;
protected Object clone() – создает и возвращает копию объекта;
void notify() – возобновляет поток, ожидающий монитор;
void notifyAll() – возобновляет все потоки, ожидающие монитор;
void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;
void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;
void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;
protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.
Что такое класс Object? Какие в нем есть методы?
Object это базовый класс для всех остальных объектов в Java. Любой класс наследуется от Object и, соответственно, наследуют его методы:
public boolean equals(Object obj) – служит для сравнения объектов по значению;
int hashCode() – возвращает hash код для объекта;
String toString() – возвращает строковое представление объекта;
Class getClass() – возвращает класс объекта во время выполнения;
protected Object clone() – создает и возвращает копию объекта;
void notify() – возобновляет поток, ожидающий монитор;
void notifyAll() – возобновляет все потоки, ожидающие монитор;
void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;
void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;
void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;
protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.
Пишем Java код используя проект Lombok
Можно долго спорить о необходимости и полезности проекта Lombok, но факт есть факт: количество кода для написания программы значительно сокращается. 😳
Предложенная сегодня статья расскажет о следующем:
✔️ Как работает Lombok
✔️ Формирование методов класса Object
✔️ Настройка аннотаций
✔️ Иммутабельные структуры данных
✔️ Delombok
и др.
Приятного чтения!
Читать статью
Можно долго спорить о необходимости и полезности проекта Lombok, но факт есть факт: количество кода для написания программы значительно сокращается. 😳
Предложенная сегодня статья расскажет о следующем:
✔️ Как работает Lombok
✔️ Формирование методов класса Object
✔️ Настройка аннотаций
✔️ Иммутабельные структуры данных
✔️ Delombok
и др.
Приятного чтения!
Читать статью
Toptal
Write Fat-free Java Code with Project Lombok
Java has some idiosyncrasies of its own and design choices that can make it rather verbose. While Java is a mature and performant programming language, developers frequently need to write boilerplate code that brings little or no real value other than complying…