Обложка канала

Java библиотека. Страница 54

12847 @javalib

Всё для Java разработчиков.

  • Java библиотека

    Hi everyone, Weigandt Consulting team is happy to welcome you all to our External IT meet-up to make an overview with code examples of key features in new Java versions released in 2022. We timed the event to the official release of JDK v19 on September 20. Speaker: Levon Aloyan (Senior Java backend developer at Weigandt Consulting) Language: English Please join us on Thursday, September 22nd, from 4–5 p.m. GMT+3 Please use the registration link whether you will attend so we can plan effectively weigandt-meetup.timepad.ru/event/2…/2163321
  • Java библиотека

    Что такое «сервлет»? Сервлет является интерфейсом, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ. Хотя сервлеты могут обслуживать любые запросы, они обычно используются для расширения веб-серверов. Большинство необходимых для создания сервлетов классов и интерфейсов содержатся в пакетах 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() выполняется перед выгрузкой сервлета из памяти.
  • Java библиотека

    Связь цифрового и физического в нашем мире не только меняет восприятие продуктов и услуг. Она даёт потребителям новый нетривиальный опыт, уверен Сбер, поэтому расширяет штат сотрудников для развития своих сервисов в направлениях phygital и digital. Каждый Java-разработчик 24 сентября может принять участие в One Day Offer и получить интересную работу без многоэтапных собеседований и тестовых заданий! Над чем будете работать? • Совершенствовать фронтальные системы для обслуживания клиентов, приложение для менеджеров, BI-системы и системы удалённого видеоконсультирования. • Создавать Cloud-Native сервисы. • Работать с высоконагруженными системами. Отправляйте заявку на участие в One Day Offer от Сбера: http://sber.me/?p=fd697
  • Реклама

  • Java библиотека

    Чистый код — практический подход После нескольких докладов о чистом коде (Clean Code) я решил обобщить в статье самое важное по этой теме. Поскольку в Интернете и так много постов и информации об этом, то, я думаю, еще одна статья, просто рассказывающая о принципах чистого кода, не будет интересной. Поэтому я попытаюсь показать вам практический подход к чистому коду. Не вдаваясь в теорию, покажу, как я пишу Чистый Код. Читать статью
    Чистый код — практический подход

    После нескольких докладов о чистом коде (Clean Code) я решил обобщить в статье самое важное по этой теме. Поскольку в Интернете и так много постов и информации об этом, то, я думаю, еще одна статья, просто рассказывающая о принципах чистого кода, не будет интересной. Поэтому я попытаюсь показать вам практический подход к чистому коду. Не вдаваясь в теорию, покажу, как я пишу Чистый Код.

    Telegraph
  • Java библиотека

    📍Что нужно знать начинающему разработчику на Java? Приходи на практический вебинар по Java для новичков 👉 https://otus.pw/RU5Y/ 📌 Что ждет на занятии? - Поговорим о месте реляционных баз данных в архитектуре информационных систем. - Рассмотрим основные компоненты и возможности РСУБД на примере PostgreSQL. - Сделаем обзор основных технологий по работе с реляционными БД в Java (JDBC, JPA/Hibernate, Spring Data и др.) ❗️ Еще больше навыков и оплачиваема стажировка ждет тебя на специализации «Java-разработчик» от онлайн-платформы OTUS. 👉 Регистрируйтесь на занятие
  • Java библиотека

    Даны 3 потока Т1, Т2 и Т3? Как реализовать выполнение в последовательности Т1, Т2, Т3? Такой последовательности выполнения можно достичь многими способами, например просто воспользоваться методом join(), чтобы запустить поток в момент, когда другой уже закончит своё выполнение. Для реализации заданной последовательности, нужно запустить последний поток первым, и затем вызывать метод join() в обратном порядке, то есть Т3 вызывает Т2.join, а Т2 вызывает Т1.join, таким образом Т1 закончит выполнение первым, а Т3 последним.
  • Java библиотека

    Философия Java (2015) PDF Впервые читатель может познакомиться с полной версией этого классического труда, который ранее на русском языке печатался в сокращении. Книга, выдержавшая в оригинале не одно переиздание, за глубокое и поистине философское изложение тонкостей языка Java считается одним из лучших пособий для программистов. Чтобы по-настоящему понять язык Java, необходимо рассматривать его не просто как набор неких команд и операторов, а понять его "философию", подход к решению задач, в сравнении с таковыми в других языках программирования. На этих страницах автор рассказывает об основных проблемах написания кода: в чем их природа и какой подход использует Java в их разрешении. Поэтому обсуждаемые в каждой главе черты языка неразрывно связаны с тем, как они используются для решения определенных задач.
  • Java библиотека

    Изучите основы Java и разработайте трекер продуктивности, даже если никогда прежде не программировали Java — один из самых востребованных и доступных для освоения языков программирования. Его используют для создания сайтов, мобильных и десктоп-приложений, даже игр. На бесплатном онлайн-курсе «Основы разработки на Java» за 5 занятий вы изучите основы синтаксиса языка Java и поймёте, подходит ли он вам, а в качестве практики разработаете консольное приложение по типу Pomodoro и перепишете его под Telegram API. Записаться: https://netolo.gy/jlg Реклама. ООО "Нетология"
  • Java библиотека

    Кастомный отчет для Jira или как приключение затянулось Представим ситуацию – вам надо сделать небольшой отчет на основе данных из другой системы. Звучит обыденно и вы сразу в голове представляете, что надо будет делать: узнать какие будут входные данные и в каком виде они к нам поступят, какая будет логика отчета (что на что надо умножить и т.д.) и в каком виде отчет должен быть представлен (график, диаграмма, таблица и т.д.), реализовать. Но что, если я вам скажу, что это должна быть не какая-то новая система, а плагин для Jira. Все вышесказанное никуда не уходит, но добавляются нюансы. Вот о таких нюансах (и как не вылететь из-за них из всех разумных сроков) эта статья. Читать статью
    Кастомный отчет для Jira или как приключение затянулось

    https://t.me/javalib Представим ситуацию – вам надо сделать небольшой отчет на основе данных из другой системы. Звучит обыденно и вы сразу в голове представляете, что надо будет делать: узнать какие будут входные данные и в каком виде они к нам поступят, какая будет логика отчета (что на что надо умножить и т.д.) и в каком виде отчет должен быть представлен (график, диаграмма, таблица и т.д.), реализовать. Но что, если я вам скажу, что это должна быть не какая-то новая система, а плагин для Jira. Все вышесказанное…

    Telegraph
  • Java библиотека

    Какое из следующих утверждений о потоках неверно? 1. Если метод start() вызывается дважды для одного и того же объекта Thread, во время выполнения генерируется исключение. 2. Порядок, в котором запускались потоки, может не совпадать с порядком их фактического выполнения. 3. Если метод run() вызывается напрямую для объекта Thread, во время выполнения генерируется исключение. 4. Если метод sleep() вызывается для потока, во время выполнения синхронизированного кода, блокировка не снимается. Правильный ответ: 3. Если метод run() вызывается напрямую для объекта Thread, во время выполнения исключение не генерируется. Однако, код, написанный в методе run() будет выполняться текущим, а не новым потоком. Таким образом, правильный способ запустить поток – это вызов метода start(), который приводит к выполнению метода run() новым потоком. Вызов метода start() дважды для одного и того же объекта Thread приведёт к генерированию исключения IllegalThreadStateException во время выполнения, следовательно, утверждение 1 верно. Утверждение 2 верно, так как порядок, в котором выполняются потоки, определяется Планировщиком потоков, независимо от того, какой поток запущен первым. Утверждение 4 верно, так как поток не освободит блокировки, которые он держит, когда он переходит в состояние Ожидания.
  • Java библиотека

    Погружение в паттерны проектирования (2021) PDF + Архив с примерами кода Книга «Погружение в Паттерны Проектирования» описывает 22 классических паттерна проектирования, а также 8 принципов проектирования, на которых они основаны. Каждая глава начинается с разбора определённой проблемы, возникающей при проектировании, и шаг за шагом подводит читателя к решению с помощью одного из паттернов. Далее идёт детальный разбор структуры паттерна и его вариаций, а также пример реализации в коде. Затем, читатель знакомится с кейсами использования паттерна и учится воспроизводить паттерн по шагам. Заканчиваются главы обсуждением плюсов и минусов паттерна, а также обзором его связей с другими паттернами.
  • Java библиотека

    Хакатон, ИТ-чемпионат или стажировка — с чего начать, если ты джун? Есть программа, которая совмещает в себе преимущества каждого из этих форматов. SberStart — возможность для начинающих java-разработчиков стать частью команды Сбера. В течение 3 месяцев вы проходите адаптацию, учитесь на реальных проектах банка, готовите групповой проект и проходите стажировку в нескольких командах Сбера. Лучшие получат шанс продолжить работу в Сбере и построить карьеру Java-разработчика. Кандидатам понадобятся базовые знания Java, опыт коммерческой или учебной разработки, владение Spring, Hibernate, СУБД и амбиции стать большим разработчиком. Зарплата с первого дня участия в программе. Подробности здесь: http://sber.me/?p=vCgMC
  • Java библиотека

    Что произойдет в результате компиляции и выполнения кода?
  • Java библиотека

    ⁉️Как работает сборщик мусора в Java? Узнайте 19 сентября в 20:00 мск на открытом уроке с Дмитрием Коганом, председателем совета предприятия DXC. 🚀На занятии в OTUS за 1,5 часа разберем: - Java Memory Model - 3 стадии и 2 поколения сборки мусора - Карьеру и гибель объектов ♨️Используйте эту возможность, чтобы перенять опыт эксперта и попробовать онлайн-курс «Java Developer. Professional» для разработчиков с опытом. 📌Пройдите вступительный тест, чтобы участвовать: https://otus.pw/S6tJ/
  • Java библиотека

    Перечислите принципы, которым вы следуете в многопоточном программировании? При написании многопоточных программ следует придерживаться определённых правил, которые помогают обеспечить достойную производительность приложения в сочетании с удобной отладкой и простотой дальнейшей поддержки кода. • Всегда давайте значимые имена своим потокам. Процесс отладки, нахождения ошибок или отслеживание исключения в многопоточном коде – довольно сложная задача. OrderProcessor, QuoteProcessor или TradeProcessor намного информативнее, чем Thread1, Thread2 и Thread3. Имя должно отражать задачу, выполняемую данным потоком. • Избегайте блокировок или старайтесь уменьшить масштабы синхронизации. Блокировка затратна, а переключение контекста ещё более ресурсоёмко. Пытайтесь избегать синхронизации и блокировки насколько это возможно, и организуйте критическую секцию в минимально необходимом объёме. Поэтому синхронизированный блок всегда предпочительней синхронизированного метода, дополнительно наделяя возможностью абсолютного контроля над масштабом блокировки. • Обрабатывайте прерывание потока с особой тщательностью. Нет ничего хуже оставшегося заблокированным ресурса или системы в неконстистентном, по причине неподтверждённой транзакции, состоянии. • Помните об обработке исключений. Выброшенные InterruptedException должны быть адекватно обработаны, а не просто подавлены. Так же не стоит пренебрегать Thread.UncaughtExceptionHandler. При использовании пула потоков необходимо помнить, что он зачастую просто «проглатывает» исключения. Так, если вы отправили на выполнение Runnable нужно обязательно поместить код выполнения задачи внутрь блока try-catch. Если в очередь пула помещается Callable, необходимо удостоверится, что результат выполнения всегда изымается помощью блокирующего get(), чтобы в случае возникновения существовала возможнотсь заново выбросить произошедшее исключение. • Между синхронизаторами и wait() и notify() следует выбирать синхронизаторы. Во-первых, синхронизаторы, типа CountDownLatch, Semaphore, CyclicBarrier или Exchanger упрощают написание кода. Очень сложно реализовывать комплексный управляющий поток, используя wait() и notify(). Во-вторых, эти классы написаны и поддерживаются настоящими мастерами своего дела и есть шанс, что в последующих версиях JDK они будут оптимизированы изнутри или заменены более производительной внешней реализацией. • Почти всегда использование Concurrent сollection выгоднее использования Synchronized сollection, т.к. первые более современны (используют все доступные на момент их написания новшества языка) и масштабируемы, чем их синхронизированые аналоги.
  • Реклама

  • Java библиотека

    Application Development using Spring Boot (2022) ePUB A pragmatic guide for Java developers to help build Microservices and Cloud Apps using Spring Boot. Key Features: ● Develops microservices from start to finish using the Spring Boot Framework. ● Creates cloud-native applications using Spring Boot's production-ready features. ● Covers the API gateway, unit testing, cloud deployments, and managing high-traffic applications. Description: Spring is an excellent framework for developing both web and cloud-native applications. This book on application development using Spring Boot simplifies the process of writing boilerplate code for complex software. It allows developers to concentrate on the application's concept rather than on the internal Java configuration.
  • Java библиотека

    В чем отличие реактивного подхода в Java от классической многопоточности? Выясни на Java-митапе Big Data МТС. Специалисты Big Data МТС, Райффайзен Банка, Luxoft DXC Technology расскажут, для решения каких задач пригодится реактивное программирование, какие фреймворки уже успешно используют эту концепцию и разберут реальные задачи и варианты их решения на сервлетном блокирующем Spring MVC и на реактивном неблокирующем Spring WebFlux и на Project Loom. В конце участников ждет дискуссия, где эксперты поспорят, кому и когда стоит использовать реактивное программирование и Project Loom. 🧑‍💻 Кому: специалистам по Java любого уровня и всем, кто хочет освоить новый язык 📆 Когда: 29.09, 18:00–21:30 📍Где: проспект Андропова 18, корпус 1 или онлайн
  • Java библиотека

    Как в Java сделать утечку памяти? • Используя самописный класс стека, при выполнении операции pop() не присваивать предыдущей ссылке значение null. • Также можно неверно использовать HashMap вместо WeakHashMap для кэширования чего-нибудь большого, например картинок ваших товаров, пользователей и.т.д в. Т.к ссылки на ключи сильные (strong references), значения по этим ключам будут висеть в хипе до морковкиного заговенья следующей перезагрузки jvm процесса или удаления ключа из мапы и обнуления ссылки на него. Вообще, кэширование — тема для отдельного разговора • Также, статья (но староватая)