Это пост из разряда «вот нашел и не могу не поделиться». Насколько полезны эти «картинки» судить вам, так как тут все очень индивидуально, зависит от вашего опыта и степени просветленности. В любом случае, как правильно заметил автор поста, «одна диаграмма стоит 1000 слов». Все диаграммы из тьюториалов по Java на сайте ProgramCreek.com. Подборка сделана исходя из количества голосов, отданных за каждую диаграмму, т.е. vox populi был учтен в полной мере. А также предусмотрен выход на полные статьи, где эти диаграммы фигурировали, поэтому степень сферичности в вакууме этого списка в рамках приличий.
1. Неизменяемость строк
Эта диаграмма демонстрирует, что происходит со следующим кодом:
String s = "abcd"; s = s.concat("ef");
2. Контракт между equals() и hasCode()
HashCode создан для улучшения производительности. Контракт между equals() и hasCode() следующий:
- Если оба объекта равны, то у них должен быть одинаковый хэш код.
- Объекты с одинаковым хэш кодом, могут быть равны, а могут и не быть.
3. Иерархия классов исключений
Красным цветом обозначены проверяемые исключения, которые должны быть либо перехвачены, либо объявлены в выражении throws в рамках метода
4. Иерархия классов коллекций
Обратите внимание на различие между Коллекциями и Коллекцией.
5. Синхронизация
Механизм синхронизации Java изображен по аналогии со зданием.
6. Алиасинг
Алиасинг означает, что есть более чем один алиас локейшна, который можно обновить, и эти алиасы - разных типов.
7. Стэк и «куча»
Эта диаграмма демострирует где в памяти времени исполнения находятся методы и объекты.
8. Области данных памяти времени исполнения на виртуальной машине Java
Эта диаграмма дает представление об областях данных памяти времени исполнения на виртуальной машине Java.
Оригинальный пост находится по этой ссылке. Возможно, найдете для себя на этом сайте еще что-то полезное.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.