Java библиотека – Telegram
Java библиотека
31.5K subscribers
2.38K photos
91 videos
10 files
2.2K links
Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Download Telegram
Оцените количество памяти на хранение одного примитива типа byte в ArrayList?

ArrayList
основан на массиве, для примитивных типов данных осуществляется автоматическая упаковка значения, поэтому 16 байт тратится на хранение упакованного объекта и 4 байта (8 для x64) - на хранение ссылки на этот объект в самой структуре данных. Таким образом, в x32 JVM 4 байта используются на хранение одного элемента и 16 байт - на хранение упакованного объекта типа Byte. Для x64 - 8 байт и 24 байта соответственно.
👍22🔥81
👩‍💻 Java. Многопоточность. Как устроить Deadlock.

В данном видео рассказывается о том, что такое Deadlock, и как намеренно создать взаимную блокировку потоков на языке программирования Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍4
Для ArrayList или для LinkedList операция добавления элемента в середину (list.add(list.size()/2, newElement)) медленнее?

Для ArrayList:
• проверка массива на вместимость. Если вместимости недостаточно, то увеличение размера массива и копирование всех элементов в новый массив (O(N));
• копирование всех элементов, расположенных правее от позиции вставки, на одну позицию вправо (O(N));
• вставка элемента (O(1)).

Для LinkedList:
• поиск позиции вставки (O(N));
• вставка элемента (O(1)).

В худшем случае вставка в середину списка эффективнее для LinkedList. В остальных - скорее всего, для ArrayList, поскольку копирование элементов осуществляется за счет вызова быстрого системного метода System.arraycopy().
👍223
Грокаем стриминг (2023) PDF

Стриминговые системы позволяют сократить до минимума время между событием и обработкой информации, чтобы вы получали результаты в реальном времени. В приложениях для финансовой сферы, в вопросах безопасности и IoT важна каждая миллисекунда, поэтому без стриминговых систем не обойтись. А еще — это модно и приносит деньги ;) ! Неслучайно специалисты в Spark, Heron и Kafka так востребованы.
Наконец, вы можете познакомиться с созданием стриминговых приложений и обработкой событий в реальном времени не продираясь через технические подробности конкретных фреймворков, головоломные термины и сложные формулировки. Простой язык и яркие примеры позволят вам познакомиться с базовыми концепциями, а чтобы усвоить описанные идеи и приемы, вы построите собственную простую стриминговую программу с нуля.

От читателя не требуется опыт работы со стриминговыми системами. Примеры написаны на языке Java.
👍29🔥32🍾2❤‍🔥1
Forwarded from Java News
Вышла в свет EAP версия IntelliJ IDEA 2023.1

Вышла в свет EAP (программа раннего доступа) версия лучшей в мире IDE IntelliJ IDEA 2023.1 EAP.

Уже сегодня вы можете бесплатно пользоваться Ultimate Edition и самыми современными фичами, которые войдут в следующий релиз IntelliJ IDEA. 😃

Подробно и наглядно о новых фичах - в предложенной сегодня статье.

Приятного чтения!

Читать статью
👍14🔥4🎉2
Java made easy: A beginner’s Handbook to easily Learn Java (2022) PDF

This book will help you learn how to code in JAVA very easily.

WHAT YOU WILL DISCOVER FROM THIS BOOK:
• The FULL BLUEPRINT ON HOW TO MOVE from a beginner to an expert in JAVA.
• Learn JAVA from scratch
• How to avoid most mistakes that most programmers in JAVA make.
• How to become a PRO in JAVA Programming.
• How to avoid most errors in JAVA.
👍10🔥3
В реализации класса ArrayList есть следующие поля: Object[] elementData, int size. Объясните, зачем хранить отдельно size, если всегда можно взять elementData.length?

Размер массива elementData представляет собой вместимость (capacity) ArrayList, которая всегда больше переменной size - реального количества хранимых элементов. При необходимости вместимость автоматически возрастает.
👍46
Forwarded from Java News
Размещаем Spring Boot приложение в Docker

Предложенная сегодня статья поможет новичкам пошагово разместить в контейнере Docker Spring Boot приложение, а также научит создавать мультиконтейнерное Spring Boot приложение используя Docker Compose. 😃

Хорошей практики!

Читать статью
👍19🔥4🍾2
Легкий способ выучить Java (2019)

Java – один из самых популярных и востребованных языков программирования в мире, но и один из самых сложных для изучения, особенно для новичков. Автор этой книги, Брайсон Пейн, разработал собственный метод обучения, который строится на прохождении материала исключительно на практических примерах. Начните изучать Java, создавая несложные игры для ПК и Android, узнавайте, как работает инструмент JShell, используйте популярные среды разработки Eclipse и Android Studio, учитесь искать и исправлять ошибки в коде и становитесь востребованным программистом с книгой «Легкий способ выучить Java»!
👍163🔥1
LinkedList — это односвязный, двусвязный или четырехсвязный список?

Двусвязный
: каждый элемент LinkedList хранит ссылку на предыдущий и следующий элементы.
👍38🎅8🔥1🍾1
Расскажите, что вы думаете про российские IT-компании — кто, на ваш взгляд, делает классные продукты, у кого самые крутые технологии, а кто недостаточно заботится о сотрудниках.

Опрос займёт не больше 5 минут, среди участников будет разыгран iPhone 14 Pro Max (всё честно, правда разыграем, правила тут).

👉Пройти опрос
👍7🔥2❤‍🔥11💯1
Forwarded from Java Guru 🤓
Как отработает приведенный код?
👍14
Jenkins 2. Приступаем к работе (2019) PDF

Книга посвящена Jenkins – программной системе с открытым исходным кодом на Java, предназначенной для обеспечения процесса непрерывной интеграции программного обеспечения. Автор показывает, насколько Jenkins 2 отличается от более традиционных версий этой популярной платформы автоматизации с открытым исходным кодом, предназначенных только для интернета. Если вы знакомы с Jenkins и хотите воспользоваться новыми технологиями для преобразования устаревших конвейеров или создания новых современных автоматизированных сред непрерывной доставки, эта книга – для вас.
Вы получите полное практическое руководство работы с контейнерами, изучите новый графический интерфейс Blue Ocean.
Издание будет полезно всем разработчикам программного обеспечения.
👍11
Java Persistence with Spring Data and Hibernate (Final Release) (2023) True PDF

Java Persistence with Spring Data and Hibernate explores persistence with the most popular available tools. You’ll benefit from detailed coverage of Spring Data JPA, Spring Data JDBC, Spring Data REST, JPA, and Hibernate, comparing and contrasting the alternatives so you can pick what’s best for your code. We’ll begin with a hands-on introduction to object/relational mapping (ORM) and then dive into mapping strategies for linking up objects and your database. You’ll learn about the different approaches to transactions in Hibernate and Spring Data, and even how to deliver Java persistence with non-relational databases. Finally, we’ll explore testing strategies for persistent applications to keep your code clean and bug free.
👍15🔥6
Как перебрать элементы LinkedList в обратном порядке, не используя медленный get(index)?

Для этого в LinkedList есть обратный итератор, который можно получить вызва метод descendingIterator().
👍50
👩‍💻 Создание HTTP-сервера на Java

В данном видео автор покажет, как создать HTTP-сервер на чистой Java и на сокетах. Итоговое приложение будет раздавать файлы из указанной при запуске директории. В создании http-сервера на Java автор будет использовать только средства из стандартной библиотеки (Java SE), к примеру, сокеты (socket).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31
Pro Kotlin Web Apps from Scratch: Building Production-Ready Web Apps Without a Framework (2023) PDF, ePUB

The book teaches the Kotlin language by building production-ready Kotlin code. You’ll gain a deep understanding of the idiomatic use of the Kotlin language along with knowledge of how to apply Kotlin in production-grade web apps. The book also bridges the gap between building from scratch and using existing frameworks. For example, you’ll learn how to integrate Spring Security-based authentication in web apps written from scratch, so you can leverage existing tooling in your organization without having to take on the entire Spring framework.

The first section of the book sets up the base structure of your web app, such as routing, configuration files, and database migrations. The remaining chapters are broken into individual aspects of building production-ready web apps.
👍8
Stack считается «устаревшим». Чем его рекомендуют заменять? Почему?

Stack был добавлен в Java 1.0 как реализация стека LIFO (last-in-first-out) и является расширением коллекции Vector, хотя это несколько нарушает понятие стека (например, класс Vector предоставляет возможность обращаться к любому элементу по индексу). Является частично синхронизированной коллекцией (кроме метода добавления push()) с вытекающими отсюда последствиями в виде негативного воздействия на производительность. После добавления в Java 1.6 интерфейса Deque, рекомендуется использовать реализации именно этого интерфейса, например, ArrayDeque.
👍43
👩‍💻 Java. Шифруем данные для открытой передачи.

Шифруем текст с использованием ключа данные для открытой передачи в GET для разных ситуаций. Не использовал secure библиотеки - по каким-то известным только мне тогдашнему причинам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Зачем нужен HashMap, если есть Hashtable?

• Методы класса Hashtable синхронизированы, что приводит к снижению производительности, а HashMap - нет;
HashTable не может содержать элементы null, тогда как HashMap может содержать один ключ null и любое количество значений null;
Iterator у HashMap, в отличие от Enumeration у HashTable, работает по принципу «fail-fast» (выдает исключение при любой несогласованности данных).

Hashtable это устаревший класс и его использование не рекомендовано.
👍48