Инструменты, которыми пользуются Java-программисты в повседневной работе
Не все люди, выбирая язык программирования, понимают, с чем им придётся столкнуться и к чему готовиться. В этой статье я хочу описать инструменты, которые использую в повседневной работе. В каждом компании может быть своя специфика. Тем не менее, перечисленные здесь инструменты являются общими для львиной доли Java-разработчиков, а некоторые — и вовсе для большинства backend-программистов.
Читать далее
Не все люди, выбирая язык программирования, понимают, с чем им придётся столкнуться и к чему готовиться. В этой статье я хочу описать инструменты, которые использую в повседневной работе. В каждом компании может быть своя специфика. Тем не менее, перечисленные здесь инструменты являются общими для львиной доли Java-разработчиков, а некоторые — и вовсе для большинства backend-программистов.
Читать далее
Tproger
Инструменты, которыми пользуются Java-программисты в повседневной работе
Подборка инструментов, которые являются общими для львиной доли Java-разработчиков, а некоторые — и вовсе для большинства backend-программистов.
Хочешь практиковать Java на реальных задачах? В поисках оригинального контента, а не копипаста из других источников?
👉 Заходи на новый канал: https://t.me/java_interview_tasks
Топовые задачи:
— Много вопросов по concurrency и jvm
— Разбираем стандартные ошибки и их решения
— Оптимизируем код
— Best practices
— Задачи с реальных собеседований
— Разный уровень сложности
— Подробный разбор каждого решения
Достойный материал для подготовки к собеседованиям, а также сложные и интересные задачи из реальной практики.
Автор канала – Java-эксперт, более 10 лет в разработке. Опытный Lead dev и тимлид группы девелоперов. Работал с различными базами данных – Relational databases, NoSQL databases, Caching systems, Full-Text Search engines, Big Data systems
👉 Подписывайся и попробуй решить последнюю задачу! https://t.me/java_interview_tasks
👉 Заходи на новый канал: https://t.me/java_interview_tasks
Топовые задачи:
— Много вопросов по concurrency и jvm
— Разбираем стандартные ошибки и их решения
— Оптимизируем код
— Best practices
— Задачи с реальных собеседований
— Разный уровень сложности
— Подробный разбор каждого решения
Достойный материал для подготовки к собеседованиям, а также сложные и интересные задачи из реальной практики.
Автор канала – Java-эксперт, более 10 лет в разработке. Опытный Lead dev и тимлид группы девелоперов. Работал с различными базами данных – Relational databases, NoSQL databases, Caching systems, Full-Text Search engines, Big Data systems
👉 Подписывайся и попробуй решить последнюю задачу! https://t.me/java_interview_tasks
Telegram
Java Interview Tasks
Реальные вопросы и задачи с собеседований.
Оригинальный авторский контент.
Актуальный материал.
Уровень вопросов от junior до supersenior.
Автор канала - @alexzelentsov
По рекламе: @alexzelentsov и https://telega.in/c/java_interview_tasks
Оригинальный авторский контент.
Актуальный материал.
Уровень вопросов от junior до supersenior.
Автор канала - @alexzelentsov
По рекламе: @alexzelentsov и https://telega.in/c/java_interview_tasks
☕️ ServletConfig уникален для сервлета, а ServletContext - для приложения;
☕️ ServletConfig используется для предоставления параметров инициализации конкретному сервлету, а ServletContext для предоставления параметров инициализации для всех сервлетов приложения;
☕️ для ServletConfig возможности модифицировать атрибуты отсутствуют, атрибуты в объекте ServletContext можно изменять.
☕️ ServletConfig используется для предоставления параметров инициализации конкретному сервлету, а ServletContext для предоставления параметров инициализации для всех сервлетов приложения;
☕️ для ServletConfig возможности модифицировать атрибуты отсутствуют, атрибуты в объекте ServletContext можно изменять.
☕️ Разбираемся, почему в Java утекает память несмотря на сборщик мусора
Сборщик мусора облегчает написание кода и справляется с основными проблемами, но не гарантирует полного отсутствия утечек памяти. Изучите базовые принципы его работы, чтобы понять, какими видами мусора он заниматься не будет.
Читать далее
Сборщик мусора облегчает написание кода и справляется с основными проблемами, но не гарантирует полного отсутствия утечек памяти. Изучите базовые принципы его работы, чтобы понять, какими видами мусора он заниматься не будет.
Читать далее
Библиотека программиста
☕ Разбираемся, почему в Java утекает память несмотря на сборщик мусора
Сборщик мусора облегчает написание кода и справляется с основными проблемами, но не гарантирует полного отсутствия утечек памяти. Изучите базовые принципы его работы, чтобы понять, какими видами мусора он заниматься не будет.
#вопросы_с_собеседований
Как работает HashMap при попытке сохранить в него два элемента по ключам с одинаковым hashCode(), но для которых equals() == false?
Как работает HashMap при попытке сохранить в него два элемента по ключам с одинаковым hashCode(), но для которых equals() == false?
По значению hashCode() вычисляется индекс ячейки массива, в список которой этот элемент будет добавлен. Перед добавлением осуществляется проверка на наличие элементов в этой ячейке. Если элементы с таким hashCode() уже присутствует, но их equals() методы не равны, то элемент будет добавлен в конец списка.
🎥 12 лучших каналов YouTube о Kotlin для новичков и профессионалов
У всех на слуху эта альтернатива Java с ее трендовостью и облегченным синтаксисом. Пришло время приобщиться к Kotlin и получить драгоценные скилы. Предлагаем вашему вниманию подборку лучших каналов YouTube об этом популярном языке программирования.
Читать далее
У всех на слуху эта альтернатива Java с ее трендовостью и облегченным синтаксисом. Пришло время приобщиться к Kotlin и получить драгоценные скилы. Предлагаем вашему вниманию подборку лучших каналов YouTube об этом популярном языке программирования.
Читать далее
Библиотека программиста
🎥 12 лучших каналов YouTube о Kotlin для новичков и профессионалов
У всех на слуху эта альтернатива Java с ее трендовостью и облегченным синтаксисом. Пришло время приобщиться к Kotlin и получить драгоценные скилы. Предлагаем вашему вниманию подборку лучших каналов YouTube об этом популярном языке программирования.
При помощи:
Collections.unmodifiableList(list);
Collections.unmodifiableSet(set);
Collections.unmodifiableMap(map).
Эти методы принимают коллекцию в качестве параметра, и возвращают коллекцию только для чтения с теми же элементами внутри.
Collections.unmodifiableList(list);
Collections.unmodifiableSet(set);
Collections.unmodifiableMap(map).
Эти методы принимают коллекцию в качестве параметра, и возвращают коллекцию только для чтения с теми же элементами внутри.
Основы Java: выделяем 4 разных роли классов
Java – объектно-ориентированный язык, и если спросить, какую роль в нем играют классы, первым в голову приходит создание объектов. Выделим ещё три важных роли этой конструкции языка, помимо самой очевидной.
Читать далее
Java – объектно-ориентированный язык, и если спросить, какую роль в нем играют классы, первым в голову приходит создание объектов. Выделим ещё три важных роли этой конструкции языка, помимо самой очевидной.
Читать далее
Библиотека программиста
☕ Основы Java: выделяем 4 разных роли классов
Java – объектно-ориентированный язык, и если спросить, какую роль в нем играют классы, первым в голову приходит создание объектов. Выделим ещё три важных роли этой конструкции языка, помимо самой очевидной.
👍1
Основы Java за 30 минут: самоучитель для начинающих
В этой статье мы рассмотрим основные особенности языка Java, познакомимся с его философией и разберемся с причинами его популярности, а также напишем пару простеньких программ, чтобы изучить его синтаксис и подход к написанию кода.
Читать далее
В этой статье мы рассмотрим основные особенности языка Java, познакомимся с его философией и разберемся с причинами его популярности, а также напишем пару простеньких программ, чтобы изучить его синтаксис и подход к написанию кода.
Читать далее
Библиотека программиста
☕ Основы Java за 30 минут: самоучитель для начинающих
В этой статье мы рассмотрим основные особенности языка 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() выполняется перед выгрузкой сервлета из памяти.
Большинство необходимых для создания сервлетов классов и интерфейсов содержатся в пакетах 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() выполняется перед выгрузкой сервлета из памяти.
findFirst() возвращает первый элемент;
findAny() возвращает любой подходящий элемент;
collect() представление результатов в виде коллекций и других структур данных;
count() возвращает количество элементов;
anyMatch() возвращает true, если условие выполняется хотя бы для одного элемента;
noneMatch() возвращает true, если условие не выполняется ни для одного элемента;
allMatch() возвращает true, если условие выполняется для всех элементов;
min() возвращает минимальный элемент, используя в качестве условия Comparator;
max() возвращает максимальный элемент, используя в качестве условия Comparator;
forEach() применяет функцию к каждому объекту (порядок при параллельном выполнении не гарантируется);
forEachOrdered() применяет функцию к каждому объекту с сохранением порядка элементов;
toArray() возвращает массив значений;
reduce()позволяет выполнять агрегатные функции и возвращать один результат.
Для числовых стримов дополнительно доступны:
sum() возвращает сумму всех чисел;
average() возвращает среднее арифметическое всех чисел.
findAny() возвращает любой подходящий элемент;
collect() представление результатов в виде коллекций и других структур данных;
count() возвращает количество элементов;
anyMatch() возвращает true, если условие выполняется хотя бы для одного элемента;
noneMatch() возвращает true, если условие не выполняется ни для одного элемента;
allMatch() возвращает true, если условие выполняется для всех элементов;
min() возвращает минимальный элемент, используя в качестве условия Comparator;
max() возвращает максимальный элемент, используя в качестве условия Comparator;
forEach() применяет функцию к каждому объекту (порядок при параллельном выполнении не гарантируется);
forEachOrdered() применяет функцию к каждому объекту с сохранением порядка элементов;
toArray() возвращает массив значений;
reduce()позволяет выполнять агрегатные функции и возвращать один результат.
Для числовых стримов дополнительно доступны:
sum() возвращает сумму всех чисел;
average() возвращает среднее арифметическое всех чисел.
❤2