JavaStart
920 subscribers
896 photos
27 videos
604 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Пользуемся

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4👍32
Логирование в Java. Часть 2.

Уровни логирования.

Мы выяснили, что такое логи и что такое логирование Java. Нетрудно догадаться, что если в лог-файл записывать все действия программы, то там будет большое количество различных сведений.

В некоторых ситуациях лог-файлы могут генерироваться очень быстро и в огромных размерах. В этом случае найти нужную информацию в логах будет очень нелегко. Поэтому, чтобы контролировать объемы записываемой информации, придумали различные уровни логирования.

Уровни логирования применяются в программах на различных языках программирования, в том числе и на Java. Различают несколько основных уровней (Картинка 1):

debug — выводится информация, которая пригодится для отладки программы;

info — обычные и стандартные сообщения, чаще всего информативные;

warning — нефатальное предупреждение;

error — записи ошибок;

fatal — фатальная ошибка;

off — сообщения не выводятся;

trace — информация для точной отладки;

all — выводится вся информация.

Чаще всего в коммерческой разработке используются уровни debug, info, warning, error и trace.

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

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74👨‍💻3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁42💯2
Задача на логику:

Каждый третий рыбак — работает на заводе, а каждый четвертый работник на заводе — рыбак. Кого больше, рыбаков или работников на заводе?

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤓21
Ответ к задаче про рыбаков и работников на заводе:

🔍 Условия:

Каждый третий рыбак работает на заводе.
Каждый четвертый работник на заводе — рыбак.
📊 Если обозначить количество рыбаков как X, а работников на заводе как Y, то:

Рыбаки, работающие на заводе: X/3.
Работники завода, которые являются рыбаками: Y/4.
Так как это одно и то же количество, у нас получается уравнение: X/3 = Y/4

🙌 Тогда: 4X = 3Y

💡 Это значит, что: X/Y = 3/4

А это уже говорит о том, что работников на заводе в 1.33 раза больше, чем рыбаков!

🛥 Вывод: Работников на заводе больше, чем рыбаков!

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53👨‍💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6👍3🔥32
Логирование в Java. Часть 3.

Библиотеки логирования.

Библиотеки логирования Java — это набор инструментов, который применяют при логировании программ. Различают несколько популярных инструментов логирования:

– Apache log4j
Это первый набор инструментов для логирования Java, который появился еще в 1999-м году. Внутри себя имеет различные способы вывода логов, несколько форматов логирования и мн. др. Раньше данная библиотека активно применялась, но уже долгое время этот проект не развивается.

– JUL
Имеет множество уровней логирования, например, только для отладки у этого инструмента есть в арсенале 3 отладочных уровня вместо одного стандартного.

– SLF4J
Этот инструмент является оберткой над многими популярными логгерами, например: logback, log4j, jul и др.

– Logback
Был создан как альтернатива умирающему log4j, поэтому он вобрал в себя все лучшее из этого инструмента, при этом усовершенствовал некоторые показатели.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3👨‍💻3
Какова типичная длительность спринта в Scrum?
Anonymous Quiz
1%
От 12 до 18 месяцев
83%
От 1 до 4 недель
4%
1 день
3%
6 месяцев
10%
Посмотреть ответ
3👍3😁1🎉1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5💯4👍1
Модификатор доступа static в Java. Часть 1.

Очень частый вопрос, который задают джунам на собеседованиях - Расскажите про модификатор static в Java.

Давайте рассмотрим ключевое слово static: его применение к переменным, методам, блокам инициализации, вложенным классам (nested classes).

В общих чертах и простыми словами:

В языке программирования Java ключевым словом static помечают члены класса (поля или методы), которые принадлежат классу, а не экземпляру этого класса.

Это означает, что какое бы количество объектов вы не создали, всегда будет создан только один член, доступный для использования всеми экземплярами класса.

Ключевое слово static применимо к переменным, методам, блокам инициализации, импорту и вложенным классам (nested classes).

Дальше подробнее о каждом случае.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6👍3💯1
Модификатор доступа static в Java. Часть 2.

Вопрос про модификатор доступа static является действительно излюбленным на собеседованиях, поэтому продолжаем разбираться!

Статические поля (переменные класса).

В языке Java, если поле объявляется статическим (путем добавления модификатора static), то в независимости от количества созданных объектов класса — всегда будет существовать только один экземпляр статического поля. Значение такого поля будет единым и общим для всех объектов класса, содержащих это поле (Картинка 1).

С точки зрения используемой памяти, статические переменные размещаются в специальном пуле в памяти JVM, называемом Metaspace (до Java 8 он назывался Permanent Generation или PermGen, который был полностью удален и заменен на Metaspace).

Пример статического поля (Картинка 2).

Предположим, у нас есть класс Car с несколькими атрибутами (полями). Каждый экземпляр данного класса будет иметь свою, отличающуюся от других копию этих переменных экземпляра. Значения таких полей можно менять в объектах независимо друг от друга.

А теперь предположим, что нам требуется переменная-счетчик для хранения количества созданных объектов Car, которая являлась бы общей для всех его экземпляров. При этом необходимо, чтобы каждый из них имел к ней доступ и мог изменять.

Тут-то нам и пригодится статическая переменная (numberOfCars).

Теперь для каждого объекта этого класса будет увеличиваться один и тот же экземпляр переменной numberOfCars. Давайте это проверим, посмотрим на Картинку 3.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43👨‍💻2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6👍31