Библиотека джависта | Java, Spring, Maven, Hibernate
24.9K subscribers
1.86K photos
38 videos
42 files
2.64K links
Все самое полезное для Java-разработчика в одном канале.

Список наших каналов: https://yangx.top/proglibrary/9197

Обратная связь: @proglibrary_feedback_bot

По рекламе: @proglib_adv

РКН: https://gosuslugi.ru/snet/67a5bbda1b17b35b6c1a55c4
加入频道
☕️ Интерфейс Runnable появился в Java 1.0, а интерфейс Callable был введен в Java 5.0 в составе библиотеки java.util.concurrent;
☕️ Классы, реализующие интерфейс Runnable для выполнения задачи, должны реализовывать метод run(). Классы, реализующие интерфейс Callable - метод call();
☕️ Метод Runnable.run() не возвращает никакого значения, Callable.call() возвращает объект Future, который может содержать результат вычислений;
☕️ Метод run() не может выбрасывать проверяемые исключения, в то время как метод call() может.
Сookies («куки») — небольшой фрагмент данных, отправленный web-сервером и хранимый на устройстве пользователя. Всякий раз при попытке открыть страницу сайта, web-клиент пересылает соответствующие этому сайту cookies web-серверу в составе HTTP-запроса. Применяется для сохранения данных на стороне пользователя и на практике обычно используется для:

☕️ аутентификации пользователя;
☕️ хранения персональных предпочтений и настроек пользователя;
☕️ отслеживания состояния сеанса доступа пользователя;
☕️ ведения разнообразной статистики.
#вопросы_с_собеседований
В чем заключаются различия между cтеком (stack) и кучей (heap) с точки зрения многопоточности?
Участвуй в конкурсе Secur'IT Cup от Лаборатории Касперского!
Придумай игру о кибербезопасности и получии приз в $10 000 или поездку на конференцию!
Регистрируйся в конкурсе прямо сейчас!
Cтек – участок памяти, тесно связанный с потоками. У каждого потока есть свой стек, которые хранит локальные переменные, параметры методов и стек вызовов. Переменная, хранящаяся в стеке одного потока, не видна для другого.

Куча – общий участок памяти, который делится между всеми потоками. Объекты, неважно локальные или любого другого уровня, создаются в куче. Для улучшения производительности, поток обычно кэширует значения из кучи в свой стек, в этом случае для того, чтобы указать потоку, что переменную следует читать из кучи, используется ключевое слово volatile.
Android Studio 4.0 Development Essentials - Java Edition (2020)
Автор: Neil Smyth
Количество страниц: 796

В 2018 году Google представила сообществу разработчиков Android Jetpack, разработанный для ускорения и упрощения разработки современных и надежных приложений для Android. Он представляет собой набор инструментов, библиотек и рекомендаций по архитектуре. Основные элементы Jetpack рассматриваются в этом последнем издании Android Studio Development Essentials. Книга полностью обновлена для Android Studio 4.0 и Android 10 (Q), её цель - научить навыкам, необходимым для разработки приложений на базе Android с использованием языка программирования Java.

Скачать книгу
Курс математики для анализа данных от Proglib и МГУ

Мы предлагаем без отрыва от работы освоить математику для анализа данных.
онлайн-встречи с преподавателями из МГУ в Zoom
подойдет всем, кто хочет вспомнить высшую математику или подготовиться к школе анализа данных Яндекса
🕗 длительность 5 месяцев, по 2 раза в неделю
💸 от 5 350 руб. в месяц.

Мы дарим промокод на скидку 10% до 6 октября — JAVAPROGLIB
Подробнее о курсе — тут
Программа курса — тут
serialVersionUID используется для указания версии сериализованных данных.

Когда мы не объявляем serialVersionUID в нашем классе явно, среда выполнения Java делает это за нас, но этот процесс чувствителен ко многим метаданным класса включая количество полей, тип полей, модификаторы доступа полей, интерфейсов, которые реализованы в классе и пр.

Рекомендуется явно объявлять serialVersionUID т.к. при добавлении, удалении атрибутов класса динамически сгенерированное значение может измениться и в момент выполнения будет выброшено исключение InvalidClassException.

private static final long serialVersionUID = 20161013L;
Functional Programming in Java (2017)
Автор: Pierre-Yves Saumont
Количество страниц: 472

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

Скачать книгу
Библиотека джависта | Java, Spring, Maven, Hibernate pinned «​Курс математики для анализа данных от Proglib и МГУ Мы предлагаем без отрыва от работы освоить математику для анализа данных. онлайн-встречи с преподавателями из МГУ в Zoom подойдет всем, кто хочет вспомнить высшую математику или подготовиться к школе…»
Secure By Design (2019)
Авторы: Daniel Deogun, Dan Bergh Johnsson, Daniel Sawano
Количество страниц: 410

Разработчикам нужно создавать программное обеспечение безопасным. Но нельзя тратить все свое время на безопасность. Ответ - использовать хорошие принципы проектирования, инструменты и образ мышления, которые по умолчанию предоставляют безопасность. Secure by Design учит разработчиков использовать дизайн для обеспечения безопасности при разработке программного обеспечения. Эта книга полна шаблонов и передовых практик, которые вы можете напрямую применить в разработке.

Скачать книгу
☕️ Методы класса Vector синхронизированы, а ArrayList - нет;
☕️ По умолчанию Vector удваивает свой размер, когда заканчивается выделенная под элементы память. ArrayList же увеличивает свой размер только на половину.

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

Регистрация займёт меньше минуты: 👉 https://clc.am/v6m4ZA

Три дня тебя будет обучать профи в своем деле, который уже более 15 лет работает в сфере Java и веб-разработки, является директором центра SymbioWay и находит IT-специалистов для крупнейших компаний России — Даниил Пилипенко.

🔥 Получишь базовые навыки программирования на Java, научишься писать на нём и узнаешь основные функции.
🔥 Попрактикуешься в разработке и создашь свой первый проект — программу для мониторинга рабочего стола.
🔥 Узнаешь о базовых инструментах, которые программист применяет в своей работе.
🔥 Сможешь общаться с преподавателем интенсива и с другими участниками в закрытом чате в Telegram.

⭐️ Если попадёшь в тройку лучших участников — получишь сертификат на 30 000 рублей для обучения в Skillbox!
busy spin – это техника, которую программисты используют, чтобы заставить поток ожидать при определённом условии. В отличие от традиционных методов wait(), sleep() или yield(), которые подразумевают уступку процессорного времени, этот метод вместо уступки выполняет пустой цикл. Это необходимо для того, чтобы сохранить кэш процессора, т.к. в многоядерных системах существует вероятность, что приостановленный поток продолжит своё выполнение уже на другом ядре, а это повлечет за собой перестройку состояния процессорного кэша, которая является достаточно затратной процедурой.