Чашечка Java
Відкрити в Telegram
Лучшие материалы по Java на русском и английском Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels
Показати більше8 283
Підписники
-124 години
-77 днів
-7430 днів
Архів дописів
8 283
How to reverse ArrayList in Java with Example
You can reverse ArrayList in Java by using the reverse() method of java.util.Collections class. This is one of the many utility methods provided by the Collections class e.g. sort() method for sorting ArrayList. The Collections.reverse() method also accepts a List, so you not only can reverse ArrayList but also any other implementation of List interface e.g. LinkedList or Vector or even a custom implementation. This method has a time complexity of O(n) i.e. it runs on linear time because it uses ListIterator of the given list. It reverses the order of an element in the specified list.
Java Interview questions and tutorials
Read: http://www.java67.com/2015/01/how-to-reverse-arraylist-in-java-with.html
8 283
How to Read, Write XLSX File in Java - Apache POI Example
No matter how Microsoft is doing in comparison with Google, Microsoft Office is still the most used application in software world. Other alternatives like OpenOffice and LiberOffice have failed to take off to challenge MS Office. What this mean to a Java application developer? Because of huge popularity of MS office products you often need to support Microsoft office format such as word, Excel, PowerPoint and additionally Adobe PDF. If you are using JSP Servlet, display tag library automatically provides Excel, Word and PDF support. Since JDK doesn't provide direct API to read and write Microsoft Excel and Word document, you have to rely on third party library to do your job. Fortunately there are couple of open source library exists to read and write Microsoft Office XLS and XLSX file format, Apache POI is the best one. It is widely used, has strong community support and it is feature rich.
Java Interview questions and tutorials
Read: http://www.java67.com/2014/09/how-to-read-write-xlsx-file-in-java-apache-poi-example.html
8 283
[recovery mode] Особенности разработки автотестов различными инструментами, а также статистика по использованию
Попробуем разобраться в автоматизации тестирования ПО, сделаем обзор сервисов для автоматического тестирования, выясним, какой язык программирования лучше подходит для QA Automation. Вся информация основана в том числе на реальных событиях и моём реальном опыте.
Читать: https://habr.com/ru/articles/749322/?utm_campaign=749322
8 283
Kotlin 1.9 Brings New Language Features and Improved Multiplatform/Native Support
The latest release of Kotlin introduces a number of new language features, including the ..< operator for open ranges, extended regular expressions, and more. Additionally, it brings improvements to both Kotlin Multiplatform and Kotlin/Native.
By Sergio De Simone
Read: https://www.infoq.com/news/2023/07/kotlin-1-9-released/
8 283
Reactive Java with Spring WebFlux and Reactor
Read: https://www.infoworld.com/article/3702629/reactive-java-with-spring-webflux-and-reactor.html#tk.rss_java
8 283
Хотите обучиться IT-специальности, но боитесь что потратите деньги зря ради «пробы пера»?
Специально для новичков, GeekBrains открыл бесплатный доступ к лекциям и практикуму из программы стоимостью 23 500 рублей. Вы сможете изучить основы программирования, получить базу для любой цифровой профессии и попробовать себя в топовых IT-специальностях не заплатив ни рубля.
Набор ещё идёт, поэтому успейте получить доступ:
https://tprg.ru/xVL6
Реклама ООО «Гикбреинс»
8 283
Добавляем поддержку пользовательского языка в IntelliJ с помощью ANTLR
В этой статье я не буду описывать как создать плагин для IntelliJ с поддержкой %lang_name% с нуля. Кроме официальной документации и туториала от JetBrains в сети есть множество статей и примеров. На Хабре тоже есть пара весьма подробных статей от @pyltsinm. Фокус будет на разработке плагина с использованием ANTLR и моём опыте в этом нелёгком деле.
Примером в этой статье будет WebCalm - плагин для IntelliJ с поддержкой JavaScript и CSS, который я сделал с помощью ANTLR.
Читать: https://habr.com/ru/articles/748622/?utm_campaign=748622
8 283
Работа с асинхронными операциями с помощью Kotlin Coroutines
Всем привет! Меня зовут Сергей, я Android-разработчик Студии Олега Чулакова на проектах Сбера. Недавно я написал статью Многопоточность в мобильной разработке. В ней был затронут один из наиболее популярных инструментов для работы с асинхронными операциями — Kotlin Coroutines.
Сегодня я хочу углубиться в Kotlin Coroutines и разобрать их основные компоненты. Мы рассмотрим Kotlin Coroutines, предполагая, что у вас уже есть базовое понимание языка Kotlin и некоторый опыт разработки Android-приложений. Мы изучим основные концепции Kotlin Coroutines, способы работы с асинхронными операциями, управление потоком выполнения, обработку ошибок и исключений, а также многое другое.
Моя цель — помочь вам овладеть Kotlin Coroutines и научиться использовать их для упрощения и оптимизации вашего кода, обеспечения более гладкого пользовательского опыта и более эффективного управления асинхронными операциями. Приятного прочтения, мы начинаем!
Читать: https://habr.com/ru/articles/747858/?utm_campaign=747858
8 283
Как на самом деле работает Java ClassLoader system? (с картинками) — Часть 1/3, Загрузка
Так ли на самом деле работает процесс загрузки классов, как его описывает Wikipedia и Baeldung? ClassNotFoundException — это откуда и чье? Какие виды загрузчиков классов актуальны в Java 20?
Объясняем подпроцесс загрузки, из системы Java ClassLoader, на приятных Excalidraw диаграммах, со ссылками на оригинальные источники.
Читать: https://habr.com/ru/articles/748758/?utm_campaign=748758
8 283
SpringBoot и вебсокеты: едем в кластер
Всем привет! В этой статье я бы хотел затронуть тему горизонтального масштабирования SpringBoot-приложений, использующих вебсокеты. Основная особенность таких приложений - наличие состояния (state). Вебсокеты для работы используют постоянное TCP-соединение, собственно оно и является этим состоянием. А наличие состояния обычно вызывает проблемы при масштабировании.
Stateless-сервисам все равно на какой из множества инстансов попал очередной запрос, или кто именно вычитал сообщение из очереди. Но когда на серверной стороне возникает понятие клиентской сессии, все запросы, связанные с этим клиентом, должен обрабатывать один и тот же инстанс. Либо должна быть возможность передать эту сессию на другой инстанс. Сложность реализации этого требования варьируется от "добавить одну строчку в конфиг балансировщика" до "написать подсистему мониторинга топологии сервиса и роутинга запросов, сложность которой может превышать сложность основного приложения". К счастью, для решения стандартных задач, как правило, существуют стандартные инструменты. Давайте посмотрим, что за инструменты используются при масштабировании вебсокетных приложений, написанных на SpringBoot.
Читать: https://habr.com/ru/articles/743252/?utm_campaign=743252
8 283
Micronaut 4.0.0 Brings Java Virtual Threads, GraalVM Support and Experimental HTTP/3 Features
The Micronaut Foundation has recently announced the general availability (GA) release of Micronaut Framework 4.0.0. This major release brings a plethora of updates and improvements to the popular JVM-based framework, enhancing its performance, modularity, and compatibility with other technologies.
By A N M Bazlur Rahman
Read: https://www.infoq.com/news/2023/07/micronaut-brings-virtual-thread/
8 283
Строим свой SSO. Часть 3: Redis, Swagger, Vue.js
Всем привет, мы продолжаем строить собственный SSO Server. Сегодня мы разберем подключение Redis и Swagger к нашему проекту. А также построим собственную, красивую форму аутнетификации, используя VueJS.
Читать: https://habr.com/ru/articles/748584/?utm_campaign=748584
8 283
Есть три способа оптимизировать приложение на Go после деплоя
Инструкции по каждому — в новом эпизоде образовательного шоу для разработчиков avito.code. Герой выпуска — старший инженер Иван Нещадин из команды Architecture Governance. Иван пишет код, рассказывает про функции и объясняет метрики.
Получилось наглядно и полезно. Убедитесь сами:
https://tprg.ru/tEdu
Реклама ООО «Авито Тех» LjN8K6LNV
8 283
Как использовать функциональное программирование в Groovy?
Элементы функционального программирования есть во многих ЯП и Groovy здесь не исключение. Рассмотрим Closures - элемент языка Groovy, который обеспечивает возможность использования функционального программирование, а также в каких задачах они применяются.
На открытом уроке "Введение в функциональное программирование в Groovy" от OTUS, который пройдёт 24 июля в 20:00 вы:
-познакомитесь с понятием функциональное программирование;
- узнаете в чем отличие функционального программирования от ООП;
- познакомитесь с Closures, контекстом исполнения, областями видимости;
- познакомитесь с использованием Closures как функций.
Урок приурочен к старту онлайн-курса "Groovy Developer", который можно приобрести в рассрочку.
В результате вебинара вы научитесь создавать и использовать Closures для решения задач функционального программирования и DSL.
Для участия зарегистрируйтесь: https://otus.pw/y8l5/
Реклама ООО «Отус Онлайн-Образование» LjN8KH5nH
8 283
How to declare a String in Java? Example Tutorial
Hello guys, we are again with new article that is on Declaring String in Java. The main aim of this article is to give you idea about how to declare a string in java and about different ways of declaring. Since String is a very common class in Java, as a Java developer you must know how to declare String variables and also understand the difference between String variable, String object, and String literals. In the past, I have explained difference between String object and String literal and in this article I am going to share multiple ways to declare String object in Java like creating a new String object using new() operator, concatenating String and using String literal to declare String variables in Java.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/07/how-to-declare-string-in-java-example.html
8 283
Why is Abstract class Important in Java? [Example]
Abstract class is a special class in Java, it can not be instantiated and that's why can not be used directly. At first concept of abstraction, abstract class and interface all look useless to many developers, because you can not implement any method in an interface, you can not create an object of the abstract class, so why do you need them. Once they face biggest constant of software development, yes that is CHANGE, they understand how abstraction at the top level can help in writing flexible software. A key challenge while writing software (Java Programs, C++ programs) is not just to cater today's requirement but also to ensure that nurture requirement can be handled without any architectural or design change in your code. In short, your software must be flexible enough to support future changes.
Java Interview questions and tutorials
Read: http://www.java67.com/2014/06/why-abstract-class-is-important-in-java.html
8 283
Java News Roundup: Micronaut 4.0, Payara Platform, Spring Web Flow 3.0, JetBrains AI Assistant
This week's Java roundup for July 10th, 2023 features news from JDK 22, JDK 21, Spring Web Flow 3.0, Micronaut 4.0, Payara Platform, point and milestone releases of: Spring projects, Open Liberty, Helidon, Hibernate Reactive, Tomcat, Micrometer Metrics and Tracing, Piranha, Project Reactor, JHipster, JHipster Lite, Yupiik Fusion, Maven and Gradle; and AI Assistant in JetBrains IDEs.
By Michael Redlich
Read: https://www.infoq.com/news/2023/07/java-news-roundup-jul10-2023/
8 283
Docker больше не нужен
В этой статье мы не будем подробно разбирать базовые функции Podman и отличия этого проекта от Docker.
Такой информации хватает в интернете.
Вместо этого, мы на конкретном примере (простое Java приложение) разберем как можно заменить Docker на Podman в конвейере CI/CD,
и какие это может принести дивиденды.
Читать: https://habr.com/ru/articles/748328/?utm_campaign=748328
8 283
Лучший способ защитить java приложение от взлома
Прочитав много статей в интернете про защиту я выяснил, что большинство используют обфускаторы для защиты своего java приложения. Из всего скучного я нарыл только Excelsior JET. Сама суть защиты это скрытие класс файла потому, что с помощью него можно менять байткод и декомпилировать сторонними утилитами. В этой статье я хочу закриптовать байты классов используя XOR и раскриптовать их в исходниках JDK.
Читать: https://habr.com/ru/articles/748322/?utm_campaign=748322
