fa
Feedback
Уютное сообщество джавистов

Уютное сообщество джавистов

رفتن به کانال در Telegram

Уютное сообщество джавистов - это хорошие материалы,задачки, туториалы для проверки знаний и обратная связь от соратников по изучению. @viktorreh

نمایش بیشتر
2 064
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-77 روز
-1930 روز
آرشیو پست ها
Java for Web Development Автор: Sarika Agarwal Год издания: 2022 #java #книги #en Скачать книгу
Java for Web Development Автор: Sarika Agarwal Год издания: 2022 #java #книги #en Скачать книгу

Зачем нужен протокол HTTP? Узнайте на открытом уроке «Основы протокола HTTP», который состоится 🗓 15 июня в 20:00 мск в OTUS
Зачем нужен протокол HTTP? Узнайте на открытом уроке «Основы протокола HTTP», который состоится 🗓 15 июня в 20:00 мск в OTUS! На занятие мы: - углубимся в историю этого протокола, - разберем его до мельчайших деталей, - изучим работу HTTPS, - немного коснемся HTTP-серверов и REST Встречу проведет 👨‍💻 Никита Сапогов — руководитель backend-разработки в Ситилинк. 👉 Чтобы записаться на урок, пройдите вступительное тестирование — https://otus.pw/GHnc/ Больше полезных навыков будет ждать вас на онлайн-курсе OTUS «Highload Architect». Курс можно приобрести удобным для вас способом. Реклама. Информация о рекламодателе на сайте www.otus.ru

VM Options — это параметры, которые указываются при запуске JVM. В этом посте расскажу, чем они отличаются, и как безопасно перейти на новую версию java. В конце будет список самых популярных (и полезных) опций. Все JVM опции делятся на три группы: ⚙️ Стандартные Пишутся через минус и поддерживаются всеми JVM. Пример: -classpath, -server, -version ⚙️ Нестандартные Начинаются на -Х и определяют базовые свойства JVM. Могут не работать во всех JVM, но если поддерживаются, то вряд ли удалятся. Пример: -Xmx, -Xms ⚙️ Продвинутые Начинаются на -ХХ и касаются внутренних механизмов JVM. Не поддерживаются всеми JVM, часто меняются и удаляются. Пример: -XX:MaxGCPauseMillis=500 Некоторые продвинутые опции требуют дополнительных флажков. Для экспериментальных фич обязателен -XX:+UnlockExperimentalVMOptions. Многие фичи диагностики не заработают без -XX:+UnlockDiagnosticVMOptions Количество опций часто меняется. В 11 версии OpenJDK 1504 опции, а в 17 на 200 опций меньше. Цикл отключения опций не совсем стандартный. В обычном коде что-то помечается Deprecated, и спустя время удаляется. VM Options используют более длинный цикл: 🔸 Deprecate: функционал работает, при запуске появляется warning 🔸 Obsolete: функция не выполняется, JVM пишет предупреждения 🔸 Expired: JVM не запускается Многие опции очень нестабильны и часто меняются. Чтобы безопасно обновить версию java, нужно проверить набор опций через JaCoLine . Он подсветит устаревшие или уже бесполезные опции. Полезные опции для java 11 (да, недавно вышла java 20, но самая популярная версия всё ещё 11) 1️⃣ Память ▫️ Начальный размер хипа: -Xms256m в абсолютных значениях, -XX:InitialRAMPercentage=60 - в процентах от RAM ▫️ Максимальный размер хипа: -Xmx8g или -XX:MaxRAMPercentage=60 ▫️ Снять heap dump при переполнении памяти: -XX:+HeapDumpOnOutOfMemoryError. Адрес выходного файла задаётся в -XX:HeapDumpPath 2️⃣ Сборщик мусора ▫️ Serial GC: -XX:+UseSerialGC ▫️ Parallel GC: -XX:+UseParalllGC ▫️ CMS: -XX:+UseConcMarkSweepGC ▫️ G1: -XX:+UseG1GC (вариант по умолчанию) ▫️ ZGC: -XX:+UnlockExperimentalVMOptions -XX:+UseZGC ▫️ Shenandoah: -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC Вывести статистику сборщика при завершении работы: -XX:+UnlockDiagnosticVMOptions ‑XX:NativeMemoryTracking=summary ‑XX:+PrintNMTStatistics Базовое логгирование коллектора: -Xlog:gc Максимально информативное: -Xlog:gc* 3️⃣ Посмотреть все доступные опции ⚙️ Нестандартные: java -X ⚙️ Продвинутые: java -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal

🔥Хардкорный тест по Java🔥 🤖Готов выбрать светлую сторону силы, юный падаван? Пройди тест из 20 вопроса и испытай себя, смо
🔥Хардкорный тест по Java🔥 🤖Готов выбрать светлую сторону силы, юный падаван? Пройди тест из 20 вопроса и испытай себя, сможешь сдать — пройдёшь на продвинутый онлайн-курс «Java Developer. Professional» от OTUS со скидкой! 🦸🏼‍♂️Компании-партнеры ждут, когда ты овладеешь этим мастерством. Проходи вступительный тест и помни большая сила — большая ответственность! 📌ПРОЙТИ ТЕСТ - https://otus.pw/OJHt/ 💪🏻Хочешь протестировать учебный процесс заранее? Регистрируйся на бесплатное демо-занятие: 🔸 Регистрация на вебинар 21 Июня в 20:00 - «Конечные автоматы» Регистрируйся сейчас - напомним в день вебинара! Нативная интеграция. Информация о продукте www.otus.ru

Что такое «сервлет»? Сервлет является интерфейсом, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ. Хотя сервлеты могут обслуживать любые запросы, они обычно используются для расширения веб-серверов. Большинство необходимых для создания сервлетов классов и интерфейсов содержатся в пакетах javax.servlet и javax.servlet.http. Основные методы сервлета: • public void init(ServletConfig config) throws ServletException запускается сразу после загрузки сервлета в память; • public ServletConfig getServletConfig() возвращает ссылку на объект, который предоставляет доступ к информации о конфигурации сервлета; • public String getServletInfo() возвращает строку, содержащую информацию о сервлете, например: автор и версия сервлета; • public void service(ServletRequest request, ServletResponse response) throws ServletException, java.io.IOException вызывается для обработки каждого запроса; • public void destroy() выполняется перед выгрузкой сервлета из памяти.

Многие компании уже перешли на микросервисную архитектуру. Хотите оставаться востребованным на рынке IT? Тогда самое время по
Многие компании уже перешли на микросервисную архитектуру. Хотите оставаться востребованным на рынке IT? Тогда самое время пополнять свой багаж знаний! Приходите 🗓 13 июня в 20:00 на открытый урок «DDD и модульные монолиты», который приурочен к старту онлайн-курса «Microservice Architecture» в OTUS. На занятии мы рассмотрим: — Основы domain-driven design — Применение DDD к предметно-ориентированному проектированию — Поймем, как DDD помогает в построении архитектуры. 👨‍💻 Спикер — Станислав Щетинников, директор разработки с 10-летним опытом. Архитектурой систем занимается уже больше 8 лет. 👉 Пройдите вступительный тест, чтобы записаться на урок — https://otus.pw/8JkB3/ Вебинар приурочен к старту онлайн-курса «Microservice Architecture» в OTUS. После урока полный курс вы сможете приобрести удобным для вас способом. Реклама. Информация о рекламодателе на сайте www.otus.ru

Exceptions in Java Автор: Nik Lumi Год издания: 2022 #java #книги #en Скачать книгу
Exceptions in Java Автор: Nik Lumi Год издания: 2022 #java #книги #en Скачать книгу

⌨️Изучать Java с нуля гораздо интереснее, если сразу начать делать игры! При работе на Java вы вряд ли столкнетесь с разработ
⌨️Изучать Java с нуля гораздо интереснее, если сразу начать делать игры! При работе на Java вы вряд ли столкнетесь с разработкой игр, однако так вы сможете увидеть, как изменение кода приводит к изменению поведения программ. 📆Приглашаем 8 июня в 20:00 на открытый урок «Создание игры на Java и LibGDX с нуля». Вебинар приурочен к старту специализации «Java Developer». На вебинаре создадим небольшую двумерную игру на Java с нуля, изучим принципы кодирования и разработаем логику игры на ходу. Урок будет полезен тем, кто хочет: — Начать изучать Java с нуля. — Создать свою игру и уже имеет базовые навыки программирования. В результате урока вы: — Увидите, как пишется код и создаются программы на языке Java. — Узнаете, из каких базовых блоков строятся программы. После вебинара онлайн-курс можно приобрести в рассрочку. ➡️Для участия зарегистрируйтесь: https://otus.pw/Kp9I/ Нативная интеграция. Информация о продукте www.otus.ru

https://t.me/booksforjava - дополнительный канал, где можно скачать книги по нашей любимой JAVA. Подписывайтесь и качайте

Можно ли к блоку try-with-resources подключить блок finally?
Anonymous voting

А вы уже знакомы с Prometheus — мощным инструментом для сбора и визуализации данных? Если хотите начать работать с метриками,
А вы уже знакомы с Prometheus — мощным инструментом для сбора и визуализации данных? Если хотите начать работать с метриками, приходите 🗓 30 мая в 20:00 мск на открытый урок «Метрики и Prometheus» в OTUS. Спикером выступит 👨‍💻 Евгением Непомнящим, опытный разработчик в IT-Sense, специализирующийся на C++ и Java. На занятии мы обсудим: — Зачем нужны метрики и какие виды бывают — Особенности Prometheus и его внутреннее устройство — Развертывание Prometheus в Kubernetes и интеграция с приложениями А также вместе с экспертом сами сделаем приложение на Spring Boot с метриками для Prometheus. 👉 Пройдите вступительный тест, чтобы записаться на урок — https://otus.pw/wxp7/ Вебинар приурочен к старту онлайн-курса «Microservice Architecture» в OTUS. После урока полный курс вы сможете приобрести удобным для вас способом. Реклама. Информация о рекламодателе на сайте www.otus.ru

Как и когда происходит увеличение количества корзин в HashMap? Помимо capacity у HashMap есть еще поле loadFactor, на основании которого, вычисляется предельное количество занятых корзин capacity * loadFactor. По умолчанию loadFactor = 0.75. По достижению предельного значения, число корзин увеличивается в 2 раза и для всех хранимых элементов вычисляется новое «местоположение» с учетом нового числа корзин. #вопросы_с_собеседований

Что такое ClickHouse и как эффективно использовать его в высоких нагрузках? Разберемся в этом вместе с экспертом 🗓 29 мая в
Что такое ClickHouse и как эффективно использовать его в высоких нагрузках? Разберемся в этом вместе с экспертом 🗓 29 мая в 20:00 на открытом уроке. На этой встрече детальнее рассмотрим: - SQL диалект, - физическое хранение данных, - индексацию данных и разреженные индексы, - различные движки: MergeTree, Log. Спикером выступит 👨‍💻 Андрей Поляков, старший разработчик в Unlimint с опытом бэкенд-разработки более 6 лет. 👉 Пройдите вступительный тест, чтобы записаться на урок — https://otus.pw/tYBj/ Больше полезных навыков будет ждать вас на онлайн-курсе OTUS «Highload Architect». Курс можно приобрести удобным для вас способом. Реклама. Информация о рекламодателе на сайте www.otus.ru

Learning Java Авторы: Marc Loy, Patrick Niemeyer Год издания: 2020 #java #книги #en Скачать книгу
Learning Java Авторы: Marc Loy, Patrick Niemeyer Год издания: 2020 #java #книги #en Скачать книгу

♨️ Тест на знание языка Java — Ответьте на 21 вопрос и проверьте, насколько хорошо вы знаете язык Java и готовы освоить Spring. Сможете сдать — пройдёте на продвинутый онлайн-курс "Разработчик на Spring" Framework со скидкой! 👉 ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА "Разработчик на Spring Framework" Курс доступен в рассрочку. 🎁 Пройдете успешно тест, получите доступ к открытым урокам курса. Нативная интеграция. Информация о продукте www.otus.ru

Объясните разницу между Linkedlist и Arraylist. ArrayList — это реализация интерфейса List, основанная на массиве. ArrayList внутренне обрабатывает изменение размера этого массива при добавлении или удалении элементов. Вы можете получить доступ к его элементам за константное время по их индексу в массиве. Однако вставка или удаление элемента подразумевает сдвиг всех последующих элементов, что может быть медленным, если массив огромен, а вставленный или удаленный элемент находится близко к началу списка. LinkedList — это двусвязный список: отдельные элементы помещаются в объекты Node (узел), которые имеют ссылки на предыдущий и следующий Node. Эта реализация может оказаться более эффективной, чем ArrayList, если у вас много вставок или удалений в разных частях списка, особенно если список большой. Однако в большинстве случаев ArrayList превосходит LinkedList. Даже перемещение элементов в ArrayList, хотя и является операцией O(n), реализовано в виде очень быстрого вызова System.arraycopy(). Это может даже оказаться быстрее, чем O(1) вставка в LinkedList, которая требует создания экземпляра объекта Node и обновления нескольких ссылок под капотом. LinkedList также может иметь большие накладные расходы памяти из-за создания нескольких небольших Node объектов #вопросы_с_собеседований

Intellij IDEA: комментарии TODO Часто встречаются ситуации, когда нужно запомнить место в коде: ⭐️ Внести изменения по задаче, но чуть позже ⭐️ Отметить непокрытый тестами код ⭐️ Обсудить метод с коллегой Для таких случаев в IDEA есть специальный тип комментариев. Он начинается со слов TODO и выглядит так:
// TODO добавить тесты

Все такие комментарии можно посмотреть в окне TODO внизу экрана. Через него же можно перейти в нужное место кода в один клик. Если списка нет, ищите его через View → Tool Windows → TODO Помимо стандартных TODO и FIXME можно добавить свои метки, например, OPTIMIZE, ASK, TEST. Сделать это можно в File → Settings → Editor → TODO Очень удобно использовать TODO для текущих задач, чтобы ничего не забыть. Чтобы отметить код, который исправит кто-то другой, не забудьте закинуть соответствующую задачу в бэклог:)

Можно ли построить успешную карьеру человеку, который до этого не работал в высокотехнологичной области? Да! К тому же, для н
Можно ли построить успешную карьеру человеку, который до этого не работал в высокотехнологичной области? Да! К тому же, для некоторых IT-профессий не нужно специализированное техническое образование. Записывайтесь на бесплатную онлайн-профориентацию с Кириллом Мокевниным, СЕО Хекслета. 🗓 Начинаем 16 мая в 19:00 по мск. Вы узнаете всё о востребованных языках программирования, наиболее перспективных направлениях и возможностях карьерного роста с junior до middle. Пройдете онлайн-тест и поймете, какая IT-профессия подходит именно вам. 🎁 Зарегистрируйтесь и получите в подарок гайд «Как разговаривать на сленге IT-специалистов»! Поучаствуйте в откровенном разговоре. Задайте вопросы эксперту и сделайте первый шаг к новой профессии. Регистрация по ссылке —> https://ru.hexlet.io/link/Y1IMot

Java Memory Management Автор: Maaike van Putten Год издания: 2022 #java #книги #en Скачать книгу
Java Memory Management Автор: Maaike van Putten Год издания: 2022 #java #книги #en Скачать книгу

Хотите перейти с Java на Go? Приходите 🗓 15 мая в 20:00 мск на открытый урок, где мы разберем слайсы и массивы простым языко
Хотите перейти с Java на Go? Приходите 🗓 15 мая в 20:00 мск на открытый урок, где мы разберем слайсы и массивы простым языком на примерах. В отличие от Java, Golang обеспечивает быструю компиляцию и запуск программ, что позволяет ускорить процесс разработки. Кроме того, он имеет более простой и понятный синтаксис, что делает его более доступным для начинающих разработчиков. На занятии вы узнаете: – Как устроены массивы и слайсы внутри – Какие ошибки чаще всего допускают программисты при работе с ними – Как применять эти знания на практике 👨‍💻 Занятие проведет Владимир Балун, ведущий разработчик в Ozon и преподаватель OTUS. 👉 Регистрируйтесь для участия — https://otus.pw/J5aP/ Вебинар приурочен к старту онлайн-курса «Golang Developer. Professional» в OTUS. Курс доступен в рассрочку. Реклама. Информация о рекламодателе на сайте www.otus.ru.