Size: a a a

Библиотека джависта

2020 April 20
Библиотека джависта
✔️Вложенные классы могут обращаться ко всем членам обрамляющего класса, в том числе и приватным.
✔️Для создания объекта статического вложенного класса объект внешнего класса не требуется.
✔️Из объекта статического вложенного класса нельзя обращаться к не статическим членам обрамляющего класса напрямую, а только через ссылку на экземпляр внешнего класса.
✔️Обычные вложенные классы не могут содержать статических методов, блоков инициализации и классов. Статические вложенные классы - могут.
✔️В объекте обычного вложенного класса хранится ссылка на объект внешнего класса. Внутри статического такой ссылки нет. Доступ к экземпляру обрамляющего класса осуществляется через указание .this после его имени. Например: Outer.this.
источник
Библиотека джависта
Kotlin Cookbook: A Problem-Focused Approach (2019)

Используйте Kotlin для создания Android-приложений, веб-приложений и многого другого, изучая нюансы этого популярного языка. С помощью этой уникальной книги разработчики могут узнать, как применять этот язык в своих проектах. Как опытные программисты, так и новички в Kotlin получат пользу от практических рецептов из книги.

Скачать книгу
источник
2020 April 21
Библиотека джависта
Часть собеседования на позицию Junior Java разработчика. Тема - Collection API.

https://proglib.io/w/90539455
источник
Библиотека джависта
Давно хотите освоить Spring, но все не доходят руки?
💣5 месяцев хардкорной онлайн-практики выкуют из вас настоящего профи, за которым будут охотиться компании: https://otus.pw/Ekq5/

- Только актуальные технологии и подходы в разработке от Юрия Дворжецкого и др. экспертов.
- Глубокое погружение в возможности Spring и вспомогательные технологии Spring MVC, Spring Security, Spring Boot, Spring Reactive Stack, Spring 5/
- Reactive Streams.
- SQL/NoSQL базы данных.
- Введение в JPA/Hibernate.
- Doker/ Kubernetes, работа в микросервисах.
- Сложные «боевые» домашние задания.

🔥Присоединяйтесь к группе, пока действует скидка 20%!
источник
Библиотека джависта
Обзор hot keys в IntelliJ IDEA.

https://proglib.io/w/3b158223
источник
2020 April 22
Библиотека джависта
Troubleshooting Java Performance: Detecting Anti-Patterns with Open Source Tools (2017)
Автор: Erik Ostermueller

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

Скачать книгу
источник
2020 April 23
Библиотека джависта
Object — это базовый класс для всех остальных объектов в Java. Любой класс наследуется от Object и, соответственно, наследует его методы:

public boolean equals(Object obj) – служит для сравнения объектов по значению; int hashCode() – возвращает hash код для объекта; String toString() – возвращает строковое представление объекта; Class getClass() – возвращает класс объекта во время выполнения; protected Object clone() – создает и возвращает копию объекта; void notify() – возобновляет поток, ожидающий монитор; void notifyAll() – возобновляет все потоки, ожидающие монитор; void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.
источник
Библиотека джависта
Создавай цифровые решения будущего и получи приз!

Мы объявляем онлайн-хакатон VirusHack от Ростелекома, организованный в партнерстве с Агентством инноваций Москвы и РАЭК. В нем вы прокачаете свои навыки в разработке технологий, которые помогут людям, бизнесу и государству приспосабливаться к нестандартным условиям жизни.

Победитель реализует свой проект при поддержке крупнейших компаний страны!

Призовой фонд хакатона 2 500 000 рублей!

Онлайн-хакатон пройдет с 3 по 5 мая 2020 года — успейте зарегистрироваться на него до 30 апреля 2020-го: https://proglib.io/w/6cc9408c

Добавляйтесь в чат хакатона: https://bit.ly/2RAQgOx
источник
Библиотека джависта
Туториал по Spring Boot.

https://proglib.io/w/ac5a94aa
источник
2020 April 24
Библиотека джависта
Запись собеседования на позицию Java-разработчика.

https://proglib.io/w/014a0ea5
источник
Библиотека джависта
#вопросы_с_собеседований
Что вы знаете об OutOfMemoryError?
источник
2020 April 25
Библиотека джависта
OutOfMemoryError выбрасывается, когда виртуальная машина Java не может создать (разместить) объект из-за нехватки памяти, а сборщик мусора не может высвободить достаточное её количество.

Область памяти, занимаемая java процессом, состоит из нескольких частей. Тип OutOfMemoryError зависит от того, в какой из них не хватило места:

🔵  java.lang.OutOfMemoryError: Java heap space: Не хватает места в куче, а именно, в области памяти в которую помещаются объекты, создаваемые в приложении программно. Обычно проблема кроется в утечке памяти. Размер задается параметрами -Xms и -Xmx.
🔵 java.lang.OutOfMemoryError: PermGen space: (до версии Java 8) Данная ошибка возникает при нехватке места в Permanent области, размер которой задается параметрами -XX:PermSize и -XX:MaxPermSize.
🔵 java.lang.OutOfMemoryError: GC overhead limit exceeded: Данная ошибка может возникнуть как при переполнении первой, так и второй областей. Связана она с тем, что памяти осталось мало и сборщик мусора постоянно работает, пытаясь высвободить немного места. Данную ошибку можно отключить с помощью параметра -XX:-UseGCOverheadLimit.
🔵 java.lang.OutOfMemoryError: unable to create new native thread: Выбрасывается, когда нет возможности создавать новые потоки.
источник
Библиотека джависта
Пожалуйста, присылайте вопросы, которые вам задавали на собеседованиях, в бота @java_interviews_bot (желательно с ответами). Мы будем анонимно публиковать ваши вопросы с решениями в этом канале. Этим вы можете помочь развитию нашего сообщества программистов. Бот: @java_interviews_bot
источник
Библиотека джависта
источник
Библиотека джависта
Что выведет программа?
Анонимная викторина
5%
garbage value
25%
Compiler Error
9%
Runtime Error
61%
0
Проголосовало: 2537
источник
2020 April 26
Библиотека джависта
В Java поля классов и объектов, которые не имеют явного инициализатора, автоматически инициализируются со значением по умолчанию для их типа (false для boolean, 0 для всех числовых типов, null для всех ссылочных типов). Локальные переменные в Java должны быть обязательно инициализированы до того, как к ним будет получен доступ, иначе будет ошибка компиляции.
источник
Библиотека джависта
Java Coding Problems: Improve your Java Programming skills by solving real-world coding challenges (2019)
Автор: Anghel Leonard

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

Скачать книгу
источник
2020 April 27
Библиотека джависта
#вопросы_с_собеседований
Как работает сборщик мусора?
источник
Библиотека джависта
Механизм сборки мусора - это процесс освобождения места в куче, для возможности добавления новых объектов.

Объекты создаются посредством оператора new, тем самым присваивая объекту ссылку. Для окончания работы с объектом достаточно просто перестать на него ссылаться, например присвоив переменной ссылку на другой объект или значение null; прекратить выполнение метода, чтобы его локальные переменные завершили свое существование естественным образом. Объекты, ссылки на которые отсутствуют, принято называть мусором (garbage), который будет удален.

Виртуальная машина Java, применяя механизм сборки мусора, гарантирует, что любой объект, обладающий ссылками, остается в памяти — все объекты, которые недостижимы из исполняемого кода, ввиду отсутствия ссылок на них, удаляются с высвобождением отведенной для них памяти. Точнее говоря, объект не попадает в сферу действия процесса сборки мусора, если он достижим посредством цепочки ссылок, начиная с корневой (GC Root) ссылки, т.е. ссылки, непосредственно существующей в выполняемом коде.

Память освобождается сборщиком мусора по его собственному «усмотрению». Программа может успешно завершить работу, не исчерпав ресурсов свободной памяти или даже не приблизившись к этой черте и поэтому ей так и не потребуются «услуги» сборщика мусора.

Мусор собирается системой автоматически, без вмешательства пользователя или программиста, но это не значит, что этот процесс не требует внимания вовсе. Необходимость создания и удаления большого количества объектов существенным образом сказывается на производительности приложений и если быстродействие программы является важным фактором, следует тщательно обдумывать решения, связанные с созданием объектов, — это, в свою очередь, уменьшит и объем мусора, подлежащего утилизации.
источник
2020 April 28
Библиотека джависта
Серия обучающих видео по многопоточности.

https://proglib.io/w/f90bdadd

#course
источник