Библиотека джависта | 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
加入频道
Уровень изолированности транзакций — значение, определяющее уровень, при котором в транзакции допускаются несогласованные данные, то есть степень изолированности одной транзакции от другой. Более высокий уровень изолированности повышает точность данных, но при этом может снижаться количество параллельно выполняемых транзакций. С другой стороны, более низкий уровень изолированности позволяет выполнять больше параллельных транзакций, но снижает точность данных.

Во время использования транзакций, для обеспечения целостности данных, СУБД использует блокировки, чтобы заблокировать доступ других обращений к данным, участвующим в транзакции. Такие блокировки необходимы, чтобы предотвратить:

«грязное» чтение (dirty read) — чтение данных, добавленных или изменённых транзакцией, которая впоследствии не подтвердится (откатится);

неповторяющееся чтение (non-repeatable read) — при повторном чтении в рамках одной транзакции ранее прочитанные данные оказываются изменёнными;

фантомное чтение (phantom reads) — ситуация, когда при повторном чтении в рамках одной транзакции одна и та же выборка дает разные множества строк.

Уровни изоляции транзакций определены в виде констант интерфейса java.sql.Connection:

TRANSACTION_NONE – драйвер не поддерживает транзакции;

TRANSACTION_READ_UNCOMMITTED – позволяет транзакциям видеть несохраненные изменения данных: разрешает грязное, непроверяющееся и фантомное чтения;

TRANSACTION_READ_COMMITTED – любое изменение, сделанное в транзакции, не видно вне неё, пока она не сохранена: предотвращает грязное чтение, но разрешает непроверяющееся и фантомное;

TRANSACTION_REPEATABLE_READ – запрещает грязное и непроверяющееся, фантомное чтение разрешено;

TRANSACTION_SERIALIZABLE – грязное, непроверяющееся и фантомное чтения запрещены.

NB! Сервер базы данных может не поддерживать все уровни изоляции. Интерфейс java.sql.DatabaseMetaData предоставляет информацию об уровнях изолированности транзакций, которые поддерживаются данной СУБД.

Уровень изоляции транзакции используемый СУБД можно задать с помощью метода setTransactionIsolation() объекта java.sql.Connection. Получить информацию о применяемом уровне изоляции поможет метод getTransactionIsolation().
#вопросы_с_собеседований
Какими свойствами обладает порождаемое equals() отношение эквивалентности?
☕️ Рефлексивность: для любой ссылки на значение x, x.equals(x) вернет true;
☕️ Симметричность: для любых ссылок на значения x и y, x.equals(y) должно вернуть true, тогда и только тогда, когда y.equals(x) возвращает true.
☕️ Транзитивность: для любых ссылок на значения x, y и z, если x.equals(y) и y.equals(z) возвращают true, тогда и x.equals(z) вернёт true;
☕️ Непротиворечивость: для любых ссылок на значения х и у, если несколько раз вызвать х.equals(y), постоянно будет возвращаться значение true либо постоянно будет возвращаться значение false при условии, что никакая информация, используемая при сравнении объектов, не поменялась.

Для любой ненулевой ссылки на значение х выражение х.equals(null) должно возвращать false.
Всем привет!
Мы сделали сервис, который отбирает вакансии по вашим интересам.
Настройте личные фильтры: локация, точный технологический стек, и, конечно, не забудьте о деньгах.

Все самые подходящие предложения рынка – в @GetMeIT_bot
Learning Algorithms: A Programmer's Guide to Writing Better Code (2020)
Автор: George Heineman
Количество страниц: 280

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

Скачать книгу
Что вы знаете о RandomAccessFile?

Класс java.io.RandomAccessFile обеспечивает чтение и запись данных в произвольном месте файла. Он не является частью иерархии InputStream или OutputStream. Это полностью отдельный класс, имеющий свои собственные (в большинстве своем native) методы. Объяснением этого может быть то, что RandomAccessFile имеет во многом отличающееся поведение по сравнению с остальными классами ввода/вывода так как позволяет, в пределах файла, перемещаться вперед и назад.

RandomAccessFile имеет такие специфические методы как:
getFilePointer() для определения текущего местоположения в файле;
seek() для перемещения на новую позицию в файле;
length() для выяснения размера файла;
setLength() для установки размера файла;
skipBytes() для того, чтобы попытаться пропустить определённое число байт;
getChannel() для работы с уникальным файловым каналом, ассоциированным с заданным файлом;
• методы для выполнения обычного и форматированного вывода из файла (read(), readInt(), readLine(), readUTF() и т.п.);
• методы для обычной или форматированной записи в файл с прямым доступом (write(), writeBoolean(), writeByte() и т.п.).
Так же следует отметить, что конструкторы RandomAccessFile требуют второй аргумент, указывающий необходимый режим доступа к файлу - только чтение ("r"), чтение и запись ("rw") или иную их разновидность.
Пройдите тест на знание Java

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

https://proglib.io/tests/proydite-test-na-znanie-java
#вопросы_с_собеседований
Может ли объект получить доступ к члену класса, объявленному как private? Если да, то каким образом?
Библиотека джависта | Java, Spring, Maven, Hibernate
#вопросы_с_собеседований Может ли объект получить доступ к члену класса, объявленному как private? Если да, то каким образом?
🔵 Внутри класса доступ к приватной переменной открыт без ограничений;
🔵 Вложенный класс имеет полный доступ ко всем (в том числе и приватным) членам содержащего его класса;
🔵 Доступ к приватным переменным извне может быть организован через отличные от приватных методы, которые предоставлены разработчиком класса. Например: getX() и setX();
🔵 Через механизм рефлексии (Reflection API).
Java to Kotlin: A Refactoring Guidebook (2021)
Авторы: Duncan McGregor, Nat Pryce
Количество страниц: 424

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

Скачать книгу
Курс автоматизатор на Java.
Клёвые новости для всех, кто хочет стартануть в автоматизации тестирования — ребята из школы автоматизации QA.GURU проводят бесплатное вводное занятие 25-го августа в 20:00 МСК

Почему надо сходить:
— Разработаем ваш первый (или не первый) автотест на поиск в Google
—Расскажут о рынке QA🔥 Кто, кому, за что и сколько платит?
— Покажут боевой проект с полной инфраструктурой.
— Дадут домашнее задание и проверят его.

Занятие бесплатное — для участия вступайте в чат @qa_guru_chat — ссылка на занятие будет там.
📖 ТОП-10 книг для изучения языка программирования Kotlin

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

https://proglib.io/sh/r2C40fQURT
#vacancy #вакансия #удаленнаяработа #удаленка #remotly #remote #Java #fulltime
👔 Middle Java Developer
⛳️ Cross Technologies (разработчик и интегратор)
💼🥁 Можно работать дома, можно в офисе
💵 По зарплате готовы обсуждать
Контакты tg @dilfinarium
1 млн рублей за знание Java!

X5 Group устраивает чемпионат для лучших Java-девелоперов. Призовой фонд — 1 млн рублей.

Обещают нетривиальные задачи, способные повлиять на будущее ритейла. Ты создаешь алгоритмы для своего виртуального магазина, а если он окажется самым прибыльным, получаешь:

● 500, 300 или 200 тысяч рублей
● оффер от команды X5 Технологий
● респект от сообщества джавистов.

Соревнование начинается 28 августа. Для участия нужно зарегистрироваться на платформе All Cups.
Игра RE:Tail от Х5 Tech Победишь хакера?
В новой онлайн-игре от X5 Tech «Re:Tail» именно ты можешь стать властелином кода и спасти город!

Тебе предстоит разобраться с поставками, настроить маршрут передвижения дронов-доставщиков и справиться с магазинными воришками.

Покажи, насколько ты силен в искусстве кода и помоги построить ритейл будущего!
https://re-tail.geecko.com