Чашечка Java
10.3K subscribers
3.12K photos
7 videos
50 files
4.4K links
Лучшие материалы по Java на русском и английском

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels
Download Telegram
How to Implement Double Checked Locking Singleton Pattern in Java? Example Tutorial

Double-checked locking pattern is one of the interesting topics in Java Interviews. Earlier, it was asked to see if a Java developer can write code using a synchronized block or not, and now it asks...

Read: http://www.java67.com/2016/04/why-double-checked-locking-was-broken-before-java5.html
Top 15 Enum Interview Questions with Answers for Java Developers

Enum was introduced in Java 5 and since then it's been very popular among Java developers and widely used in different Java applications. Since Enum in Java is much more versatile than Enum in C...

Read: http://www.java67.com/2013/07/15-java-enum-interview-questions-amswers-for-experienced-programmers.html
How to use HashSet in Java? Set Example Tutorial

Hello friends, we meet again for our journey of learning Java. Today, we are gonna learn something very fruitful and easy. Hope you all are excited and ready. I would recommend you guys to go...

Read: http://www.java67.com/2021/11/how-to-use-hashset-in-java-set-example.html
Top 5 Free Courses to learn Salesforce in 2021 - Best of Lot

Hello there, If you want to learn the Salesforce platform and looking for some free online Salesforce courses, then you have come to the right place. Earlier, I shared the best online practices...

Read: http://www.java67.com/2020/07/top-5-free-courses-to-learn-salesforce.html
Top 5 AWS Cloud Practitioner Certification (CLF-C01) Courses, Practice Tests, and Exam Dumps in 2021 - Best of Lot

Hello guys, If you are preparing for AWS Certified Cloud Practitioner and looking for some affordable awesome online training courses and practice tests to start your preparation then you have come...

Read: http://www.java67.com/2020/07/top-5-aws-certified-cloud-practitioner-courses-and-practice-test.html
Java News Roundup: Hibernate Reactive 1.0, Spring Updates, OpenJDK, Red Hat Introduces Cryostat 2.0

This week's Java roundup for October 18th, 2021 features news from OpenJDK, JDK 18, numerous updates on Spring projects, MicroStream 6.0, Quarkus 2.4.0, Hibernate Reactive 1.0, Open Liberty 21.0.0.11, Eclipse Vert.x 4.2.0, Red Hat introduces Cryostat 2.0, GraalVM Native Build Tools 0.9.7.1, Liberica Native Image Kit 21.3 and JDKMon 17.0.7.
By Michael Redlich

Read: https://www.infoq.com/news/2021/11/java-news-roundup-oct25-2021/
Ребята из RN Labs ищут Java-разработчиков уровня от middle до lead с зарплатной вилкой 150 000 – 450 000 ₽

Оформление будет по ТК РФ, а работать можно удаленно или из офиса в центре Москвы.

От вас требуется:
— Опыт промышленной разработки на Java от двух лет;
— Уверенное знание Spring Framework (Spring Boot), JPA (Hibernate);
— Умение работать с SQL-запросами;
— Уверенная работа с Git;
— Знание английского языка на уровне чтения документации.

Ещё для вас будет плюсом:
— Разработка высокопроизводительных систем;
— Работа с большими таблицами данных;
— Работа с брокерами сообщений, шинами данных и интеграциями в целом;
— Настройка пайплайнов разработки в Gitlab или аналогичных системах.

Работать придётся с:
— Java 11
— Spring Boot
— Spring Cloud
— PostgreSQL, Redis
— Kafka
— Jira, Confluence
— Gitlab, Grafana, Kibana, Splunk, Docker, Kubernetes, Dynatrace.

Узнавайте подробности по вакансии и откликайтесь: @re3ilo

#вакансия
3 Books and Courses to Learn RESTful Web Services using Spring and Java in 2021

Hello guys, if you know the Spring framework, then there is a good chance that you have heard about the classic Spring in Action book by Craig Walls. It's one of the best books to learn Spring,...

Read: http://www.java67.com/2018/02/3-books-and-courses-to-learn-restful-web-services-with-spring.html
Продажная многопоточность

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

Повествование будет разбито на две части, от простого к сложному.

В первой части будут рассмотрены базовые понятия, стандартные подходы и проблемы. Будут приведены примеры использования нескольких, довольно известных примитивов синхронизации.

Во второй части, мы углубимся в более сложные концепты и так же, на простых и понятных примерах, разберем нетривиальные концепции, которые существуют в современных языках программирования.
Читать первую часть

Читать: https://habr.com/ru/post/586920/?utm_campaign=586920
Нужна система с низкими задержками? Выбираем Java вместо C++

Все разработчики знают, что есть два способа сделать дело: первый — вручную, медленно, нервно, сложно, либо второй – автоматизировано, быстро и еще сложнее.

Например, я мог бы продолжить писать эту статью о том, почему стоит использовать Java вместо C++ при программировании систем с низкой задержкой. Либо мог бы обучить ИИ, чтобы он сделал это за меня. Второй подход, в конце концов, сэкономил бы мне массу времени – искусственный интеллект генерировал бы за меня тысячи статей в секунду – но редактор вряд ли обрадовался бы услышать, что на подготовку первой статьи мне нужно два года.

Аналогичная ситуация возникает при необходимости разработать систему с низкой задержкой.


Читать: https://habr.com/ru/post/586870/?utm_campaign=586870
Сломать объект с помощью финализации

Вчера перевели в статус Candidate новый JEP 421: Deprecate Finalization for Removal. Путь к удалению механизма финализации из Java начался в Java 9, когда метод Object.finalize()был впервые объявлен deprecated. Рано или поздно механизм исчезнет из Java, поэтому если вы его используете, самое время задуматься об альтернативах. Однако статья не об этом.
Я думал, что довольно хорошо представляю себе все минусы механизма финализации. Многие из них перечислены, например, в этой статье. Однако, прочитав JEP, я узнал об уязвимости, о которой раньше и не думал. Оказывается, с помощью финализации можно создать объект со сломанными инвариантами.


Читать: https://habr.com/ru/post/586994/?utm_campaign=586994
Чаты на вебсокетах. Теперь про бэкенд

Продолжаем рассказывать про чаты на вебсокетах, но уже со стороны бэкенда. Когда-то использовали сторонний сервис, но было важно решить ряд моментов, которые он не мог покрыть. Выбирать особо не пришлось, и мы принялись разрабатывать собственное решение.

Ниже подробности о том, что было до написания кастомных чатов и какие стояли требования к реализации, из каких компонентов они состоят, как вписываются в нашу инфраструктуру и что получилось в итоге. А в конце статьи — ссылки про особенности разработки наших чатов на вебсокетах для iOS и Android.


Читать: https://habr.com/ru/post/584414/?utm_campaign=584414
Top 5 Free Python Courses for Beginners to Learn Online in 2021 [UPDATED]

Hello guys, If you are a beginner looking for Free Python resources to start your programming journey, like books and online courses then you have come to the right place. Earlier, I have shared a...

Read: http://www.java67.com/2018/02/5-free-python-online-courses-for-beginners.html
Top 5 Spring Boot Courses for Beginners in 2021 [UPDATED] - Best of Lot

Hello guys, if one of your goals is to learn Spring Boot in 2021, and I have started working towards it. As I have talked about my 3 point action plan to learn new technology, the first step is to...

Read: http://www.java67.com/2018/06/5-best-courses-to-learn-spring-boot-in.html
5 Things You Can Gift to Programmers, Software Developers, and Tech Geeks

Hello guys, it's that time of the year again when you start thinking about gifts for your programmer boyfriend, husband, colleagues, or your near dear ones. Even if selecting presents or gifts...

Read: http://www.java67.com/2017/10/5-best-gifts-for-programmers-and-software-developers-geeks.html
Top 5 Data Visualization Tools Every Data Analyst and Data Scientist should Learn in 2021 - Best of Lot

Hello guys, If you are learning Data Science and Data Analysis then you may have come across Data Visualization, a technique to visualize data and derive insights. As a data scientist or data...

Read: http://www.java67.com/2020/07/top-5-data-visualization-tools-every.html
Top 5 Free Android Development Courses for Beginners in 2021 - Best of Lot

Hello guys, If you are passionate about creating mobile games and applications and want to learn how to develop Android apps or become an Android application developer, you have come to the right...

Read: http://www.java67.com/2019/01/top-5-free-android-app-development-courses-for-programmers.html
Уроки абстракции: чему FP может научить ООП

Одним из наиболее распространенных «лучших практик» в программировании является принцип DRY: не повторяйся. Для реализации этого принципа можно использовать множество методов: инкапсуляция, параметризация, инверсия управления и многое другое. Одним из этих методов является абстракция, и одно из основных различий между функциональным программированием (FP) и объектно-ориентированным программированием (ООП) заключается в способе применения абстракции. Обычной практикой в ООП является ограничение абстракции до строгого полезного минимума для рассматриваемой проблемы. В ООП преждевременное абстрагирование часто считается ошибкой, как и преждевременная оптимизация.

В FP, с другой стороны, абстракция, как правило, продвигается настолько далеко, насколько это возможно. Каждая проблема разбита на серию простейших возможных функций, которые затем комбинируются для построения решения проблемы. Выявление этих абстракций обычно является наиболее важной частью решения проблемы. Фактически, программисты FP часто тратят больше времени на то, чтобы найти, какую проблему им следует решить, чем на их решение. И, конечно же, обычно кажется, что эти функции одинаковы от одной проблемы к другой. Только способ их комбинирования отличается. Это причина, по которой абстракция является одним из наиболее ценных методов, используемых программистами FP.

В этой статье мы сравним, как ООП и ФП будут обрабатывать абстракцию в конкретной простой задаче: вычислении суммы целых чисел от 1 до произвольного значения n. Проблема настолько проста для решения с помощью императивного программирования, что кажется, что в этом нет ничего интересного. Вот как это можно сделать в Java:


Читать: https://habr.com/ru/post/587440/?utm_campaign=587440
6 Essential Data Structures Java Programmer should Learn in 2021

Hello guys, Data Structure is a building block of programs. It's even said that  "Data Structure + Algorithms= Program". That's why a good knowledge of data structure is very...

Read: http://www.java67.com/2013/08/ata-structures-in-java-programming-array-linked-list-map-set-stack-queue.html
10 Essential Spring MVC and REST Annotations with Examples for Java Programmers

Hello guys, welcome to my third article on exploring essential annotations from the Spring framework, the most popular framework for Java development. In the first article, I have shared some of the...

Read: http://www.java67.com/2019/04/top-10-spring-mvc-and-rest-annotations-examples-java.html