hubert
41 уровень

Уровень 21: план уровня и доп. материалы

Пост из группы Архив info.javarush.ru
3710 участников
План уровня:
  • Приоритет операторов
  • Все методы класса Object, метод toString()
  • Методы equals & hashCode: зачем, где используются, как работают
  • Знакомство с методами wait, notify, notifyAll
  • Метод clone, интерфейс Cloneable.
  • Метод finalize, try-with-resources (java7).
  • Метод getClass(), объект Class, знакомство с Reflection

Курс Java Что еще можно посмотреть на досуге: Ответы на вопросы к собеседованию по теме уровня.

Подробно о equals & hashCode Тут можно почитать про 2 типа клонирования, а также почитать несколько вопросов с ответами для собеседования. На английском. Философия джава - Приложение А: Передача и возврат объектов Читаем только с раздела Клонирование объектов до Конструкторы копирования включительно. Глава из Effective Java на английском. Кстати, очень хорошая книга, есть русский вариант. Рекомендую почитать, но не сейчас, а ближе к концу курса Java Core - после 30-го уровня. Сейчас тебе нужно читать Thinking in Java (Философия Java) http://www.seostella.com/ru/article/2012/10/04/kak-sgenerirovat-hashcode-v-java.html
Нашли классную ссылку к материалу данной темы? Добавьте ее сюда в виде комментария. Возможно, именно Ваша ссылка поможет другому человеку стать программистом и улучшить свою жизнь!

Вернуться к плану обучения
Вернуться к обучению
java онлайн
на JavaRush
Комментарии (40)
  • популярные
  • новые
  • старые
Для того, что бы оставить комментарий вы должны авторизоваться
Rodriguez27 уровень
18 июля, 02:05
И ни одной обучающей задачи на wait/notify/notifyAll Замечательно((
Nullptr35 уровень, Москва
8 ноября 2016, 01:05
В 12 уроке прослезился на месте «Сколько будет $100 в рублях?»…
MariaM24 уровень
28 октября 2016, 10:36


там же предполагается что-то ещё (первая лекция 21ого уровня)? =)
Core35 уровень, Екатеринбург
25 октября 2016, 19:34
Кто-нибудь пробовал читать перевод Effective Java 2 Edition. Как наши православные переводчики назвали эту книгу? Что-то не могу найти её в сети. Хочу себе и оригинал, и перевод.
Core35 уровень, Екатеринбург
26 октября 2016, 13:34
нашёл)))
alexenkovova28 уровень, Москва
31 июля 2016, 15:37
Добрый день, ссылка на ответы собеседования не работает, вернее сайт, куда она ведет не рабочий.
vadimtawi24 уровень, Полтава
2 сентября 2016, 05:30
DefNeo36 уровень
26 июля 2016, 23:05
ребят, вот эта ссылка нерабочая(((( Очень хотелось бы почитать на Английском
Тут можно почитать про 2 типа клонирования, а также почитать несколько вопросов с ответами для собеседования. На английском.
mrANDERSON26 уровень, Харьков
21 июля 2016, 09:12
Решил тут еще раз поиграться с finalize…:
public class Finalize {
    private static int id;

    public static void main(String[] args) throws Throwable {
        for (int counter = 0; counter < 100_000; counter++) {
            new Finalize();
            new Finalize();
            new Finalize();
        }
        System.out.println("----------------------------------");
        Object o = new Finalize();
        Object o2 = new Finalize();
    }

    public Finalize() {
        System.out.println("Hello" + " " + ++this.id);
    }

    @Override
    protected void finalize() throws Throwable {
        super.finalize();
        System.out.println("Bye-bye" + " " + this.id);
    }
}

ountput:
Hello 300000
Bye-bye 299997
Bye-bye 300000
— Bye-bye 300000
Hello 300001
Bye-bye 300001
Hello 300002
Bye-bye 300002
Bye-bye 300002
Bye-bye 300002
Bye-bye 300002
Bye-bye 300002
Bye-bye 300002
Bye-bye 300002
Bye-bye 300002
Bye-bye 300002

Кто-нибудь подскажите, плз почему такой вывод. Почему обьект 300002 уничтожается много раз?)
Спасибо!
tcltk39 уровень, Санкт-Петербург
12 апреля 2017, 13:18
Такой вывод, потому что поле id статическое, одно на весь класс. А объекты уничтожаются разные.

PS даже года не прошло, а ты уже получил ответ ;)
mrANDERSON26 уровень, Харьков
18 июля 2016, 09:54
<code>int xor3 = ~9;
        System.out.println(xor3);</code>
у меня выдает — "-10". И так
<code>BigDecimal xor3 = new BigDecimal(~9);</code>
тоже "-10".
???
mrANDERSON26 уровень, Харьков
18 июля 2016, 09:47
Коллеги, поясните, пожалуйста, почему true XOR true == false 1 ^ 1 ==0, т.е. true ^ true == false, если true || true все же == true ???

Заранее благодарен!
Dmitryy6 уровень
18 июля 2016, 10:21
Потому что результат операции XOR (она же "^") является TRUE(1), ТОЛЬКО когда один из аргументов является TRUE(1), а другой аргумент является FALSE(0).
Результат операции OR (она же ||) является TRUE, когда хотя бы один из аргументов является TRUE.
mrANDERSON26 уровень, Харьков
18 июля 2016, 10:37
Спасибо за ответ! Это понятно из лекции. Где можно подробнее почитать ПОЧЕМУ это именно так? Или это нужно просто запомнить.
Dmitryy6 уровень
18 июля 2016, 12:25
Просто запомнить. Подробнее можно почитать про основу булевой алгебры тут inf1.info/logic
levicont25 уровень
30 июня 2016, 12:48
Попробовал перейти по ссылке http://www.javaexperience.com/java-cloning-tutorial/ (ТУТ) про 2 типа клонирования на англ. языке, а она битая. :( На сайте еще видимо не поправили.