Чашечка Java – Telegram
Чашечка Java
8.86K subscribers
3.86K photos
12 videos
56 files
6.32K links
Лучшие материалы по Java на русском и английском

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

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

Другие каналы: @tproger_channels
Download Telegram
Top Java Blogs Weekly: Best of 40/2021

Best of Top Java Blogs, year 2021, week 40

Read: https://www.topjavablogs.com/news/best-of-40-2021
What is Diamond operator in Java? How and When to use? - Example Tutorial

The Diamond operator is a relatively new operator in Java which was first introduced in JDK 7  to improve type inference and reduce boilerplate Java coding. It is denoted with a closed angle...

Read: http://www.java67.com/2021/09/what-is-diamond-operator-in-java-how.html
Flutter: о разработке плагинов с интерфейсом ActivityAware

В былые времена клиенты присылали цветные изображения документов со сканера по емейлу. Кто ленился или не мог — отправлял свой загранник по почте (Почте России. Ох и были времена пролетевших с сезонами наивных клиентов :-) ) С этим неплохо справлялось решение от ABBYY. Потом появились телефоны, люди стали присылать фотографии паспортов и ABBYY сломался. Перешли на решение от Smart Engines и даже с фотографиями, посланными через WhatsApp особых проблем не было. Но потом пошли умные мобилки с включенными по умолчанию водяными знаками типа «Xiaomi 9T» часто перекрывающими важнейшую часть паспорта. Вдобавок к этому наличие в кадре на фотографии пальцев и бликов тормозило общение с клиентом.
Когда паспорт распознается в видеопотоке на телефоне клиента, то этой проблемы так остро не стоит. Почему?

1) Мобильное ядро отображает рамку документа в процессе распознавания, не просто маску поверх видео, а именно рамку документа, находящегося в руках. По моим ощущениям, это дает человеку понимание, где не должно быть его пальцев. Вообще, это интересная тема для отдельного исследования.

2) Система использует механизм сатурации данными и готова выдать результат только после определенной уверенности в них.


Читать: https://habr.com/ru/post/579482/?utm_campaign=579482
Top 5 Free Online Courses to Learn Eclipse and JUnit for Beginners in 2021 - Best of Lot

Both Eclipse and JUnit are two of the essential tools for Java Developers. Eclipse is a Java IDE, Integrated Development environment which allows you to code, run, and debug Java programs from a...

Read: http://www.java67.com/2018/02/5-free-eclipse-and-junit-online-courses-java-developers.html
5 Best Free Cloud Computing Courses for Beginners to Join in 2021 [UPDATED]

Hello guys, if you want to learn Cloud computing in 2021 (which is really great!!) and looking for the best free resources like online courses to kick start your Cloud Computing journey, then you...

Read: http://www.java67.com/2020/12/5-free-cloud-computing-courses-for-beginners.html
Top 17 Linux, SQL, and Multicasting Interview Questions Answers for 1 to 5 Years Experienced

Hello guys, If you have worked as a software developer or Java programmer then you know that SQL, Linux, and Networking fundamentals are essential skills for any Java developer, especially for...

Read: http://www.java67.com/2017/08/top-17-sql-and-unix-interview-questions.html
Java News Roundup: Spring Boot Updates, Eclipse Tumerin JDK 17, Apache Camel Ends Support for JDK 8

It was relatively quiet during the week of September 20th, 2021 with most news coming from point and milestone releases of Spring Boot, Spring Security and Spring Cloud. Other news includes the release of Eclipse Tumerin JDK 17 binaries, Build 16 of the JDK 18 early-access builds, Hibernate ORM 5.6.0.Beta2, WildFly 25 Beta 1, Apache Camel dropping support for JDK 8 and JDKMon 17.0.0.
By Michael Redlich

Read: https://www.infoq.com/news/2021/09/java-news-roundup-sep20-2021/
Выполнение запланированных заданий в Spring Boot

Планирование - это процесс выполнения части логики приложения в определенное время в будущем. Запланированные задания - это часть бизнес-логики, которая должна выполняться по таймеру. Spring позволяет нам запускать запланированные задания в контейнере Spring с помощью некоторых простых аннотаций.

В этой статье мы покажем, как настраивать и запускать запланированные задания в приложениях Spring Boot.


Читать: https://habr.com/ru/post/580062/?utm_campaign=580062
Измеряем производительность String.format() в Java

Я раньше считал, что JDK в целом хорошо оптимизирована, и если в JDK есть простой способ решения какой-то задачи, то он вполне подойдет для большинства ситуаций и будет работать хорошо.

Но я обнаружил, что иногда некоторые классы или методы работают на удивление плохо. Знание таких аномалий полезно при работе с требовательным к производительности кодом.

В этом посте рассмотрим один из подобных кейсов: поразительно низкая производительность String.format()при простой конкатенации строк.


Читать: https://habr.com/ru/post/580164/?utm_campaign=580164
«Рынку нужны программисты»: братья-разработчики — о любви к профессии и преподаванию

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

Так Илья и Фёдор Сазоновы объединили свой опыт в разработке и создали курс по Java для людей без бэкграунда в IT. Основная задача их программы — за 11 месяцев дать новичку необходимый набор знаний, чтобы после обучения он устроился junior-специалистом. В статье братья рассказали, как сами пришли в программирование и почему хотят обучать других.


Читать: https://habr.com/ru/post/579792/?utm_campaign=579792
How does Spring MVC Process HTTP Request [Flow]? DispatcherServlet Example Tutorial

One of the common interview questions in Spring MVC is, how does the DispatcherServlet process a request in Spring MVC? or What is the role of DispatcherServlet in the Spring MVC framework? This is...

Read: http://www.java67.com/2019/08/how-dispatcherservlet-process-request-in-spring-mvc-application.html
Java на одноплатниках: легко и просто

Привет уважаемый читатель!

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

В результате блуждания по поисковикам, было найдено несколько возможностей:

1. Oracle Java ME – проект, скорее мертв, чем жив. Давным-давно, в 2006 году, Oracle прибило его гвоздями к Raspberry Pi Model B/STM32429I-EVAL/32746GDISCOVERY с минимальными требованиями по железу того времени. И так выглядит скорее заброшенным, то похоже не полетел.

2. Pi4j – неплохой проект от Robert Savage, который развивается до сих пор. Однако это просто враппер на WiringPi, который автор забросил и “прибитый” гвоздями к определенным платам. Сейчас на сколько я вижу, идут попытки отойти от этого.

3. Diozero – так же неплохой проект от Matthew Lewis, однако как и предыдущие два, “прибит” гвоздями к определенным SoC или платам.

Если я что-то упустил, пишите в комментариях.

А как же “Write once and run anywhere?”, спросит читатель. А вот никак и точка.

“Моргать светодиодом” хотелось, но Си было вспоминать лень, Питон учить не хотелось еще больше, а вся мощная экосистема java, которая имеется на текущий момент оставалась за бортом и не давала покоя. Плюс академический интерес.

Несмотря на то, что мир за пределами JVM представлял для меня темный лес, то задача выглядела интересно. Да и учетом того, что современные одноплатники уже начали переходить на 64 бит, имеют большие тактовые частоты и несколько ядер. Имеют на борту такие объемы Memory/Storage, за которые не то, что программист, геймер каких то 15 лет назад продал бы душу “кремневому дьяволу”, то условия и возможности современного железа достаточно сильно поменялись...


Читать: https://habr.com/ru/post/580368/?utm_campaign=580368
Рекомендации при реализации тестового Java проекта на REST API (и не только)

Эти рекомендации - адаптированный под публикацию результат 5-летних проверок выпускных работ участников нашей стажировки "Enterprise Java-разработчик". Часть из них относится только к выполнению тестового задания при устройстве на работу: Java-приложение с REST API. Часть - к разработке на Java. И часть - к разработке любых приложений. Надеюсь, что каждый найдет что-то полезное. Буду рад обсуждению спорных тем в комментариях.


Читать: https://habr.com/ru/post/580424/?utm_campaign=580424
Записи воркшопов для Java-разработчиков по ActiveMQ, RabbitMQ, Apache Kafka

Летом прошёл онлайн-интенсив GET PROF IT: Messaging, посвящённый работе с инструментами, которые пригодятся Java-разработчикам. Для тех, кто только вернулся из отпусков и пропустил это событие, мы решили поделиться записями воркшопов.


Читать: https://habr.com/ru/post/580454/?utm_campaign=580454
CWE Top 25 2021. Что такое, с чем едят и чем полезен при статическом анализе?

Впервые поддержка классификации CWE появилась в PVS-Studio с релизом 6.21, который состоялся 15 января 2018 года. С тех пор прошло уже очень много времени, и хотелось бы рассказать об улучшениях, связанных с поддержкой этой классификации в последних версиях анализатора.


Читать: https://habr.com/ru/post/580474/?utm_campaign=580474
How to create an ArrayList from Array in Java? Arrays.asList() Example Tutorial

One of the common problems faced by junior and less experienced Java developers is converting an array to ArrayList e.g. they are getting an array from somewhere in their code and then want to ...

Read: http://www.java67.com/2021/09/how-to-create-arraylist-from-array-in.html
Top 6 Online Course to learn Java 9, 10, 11,12 and 14 in 2021 - Best of Lot

Hello guys, even though Java 15 is available now, many developers are still on Java 8 and not really caught up with changes in Java 9, 10, 11, 12, 13, or Java 14. If you are also in the same boat and...

Read: http://www.java67.com/2018/02/5-online-courses-to-learn-java-9-better.html
Difference between Method and Constructor in Java and OOP? Example

What is the difference between method and constructor in Java is a very common question in beginner-level Java interviews with 2 to 3-year experience. Since the constructor is kind of special and it...

Read: http://www.java67.com/2012/11/difference-between-method-vs-constructor-java.html
Java 17: Foreign Functions & Memory API

На дворе Java 17, а значит пора разобрать еще один интересный JEP, а именно JEP 412: Foreign Function & Memory API, который является переосмыслением двух предыдущих: Foreign-Memory Access API и Foreign Linker API.

Новый API дает возможность взаимодействовать с кодом и данными вне runtime. Теперь Java может эффективно работать с нативными библиотеками и внешней памятью, заменив при этом JNI, улучшив производительность и стабильность, а также добавив возможность работать с разными видами памяти на разных платформах.


Читать: https://habr.com/ru/post/580630/?utm_campaign=580630
Сравниваем Java и Kotlin

Предлагаю начать с общих черт.

• Статическая типизация

• Бесплатны и с открытым кодом

• Код преобразуется в байт-код

• Интероперабельность

• Объектно-ориентированные языки программирования


Читать: https://habr.com/ru/post/580738/?utm_campaign=580738
Top 18 CSS Interview Questions and Answers for Beginners and 1 to 2 years experienced

CSS is one of the three core technologies of the World Wide Web(WWW). A website is incomplete without CSS. The first feature of a website noted by the visitors is its presentation. It does not matter...

Read: http://www.java67.com/2021/09/-css-interview-questions-and-answers-for-.html