Перечислите методы класса Object
Sleep() приостанавливает поток на указанное. состояние меняется на TIMED_WAITING, по истечению — RUNNABLE wait() меняет состояние потока на WAITING может быть вызвано только у объекта владеющего блокировкой, в противном случае выкинется исключение IllegalMonitorStateException. при срабатывании метода блокировка отпускается, что позволяет продолжить работу другим потокам ожидающим захватить ту же самую блокировку. в случае wait(int) с аргументом состояние будет TIMED_WAITING
Если ты помнишь, то finalize() – это специальный метод, который вызывается у объекта перед тем, как сборщик мусора его уничтожит. Основная цель этого метода – освободить используемые внешние не-Java ресурсы: закрыть файлы, потоки ввода-вывода и т.п. finalize() работает нестабильно. Этот метод не оправдывает возложенных на него надежд. Java-машина может отложить уничтожение объекта, как и вызов метода finalize на сколько угодно. Более того, она вообще не гарантирует, что этот метод будет вызван. В куче ситуаций ради «оптимизации» он не вызывается.
Два типа клонирования. Для клонирования объекта по умолчанию нужно: а) Добавить интерфейс Cloneable своему классу б) Переопределить метод clone и вызвать в нем базовую реализацию. Или можно написать реализацию метода clone самому.
Иногда в программе может оказаться такая ситуация, что нить вошла в блок кода synchronized, заблокировала монитор и не может работать дальше, т.к. каких-то данных еще не хватает: например, файл который она должна обработать еще не загрузился или что-нибудь в таком духе. Для решения этой проблемы и был придуман метод wait(). Вызов этого метода приводит к тому, что нить освобождает монитор и «становится на паузу». Для снятия с паузы используются методы notify, notifyAll. Метод notify «размораживает» одну случайную нить, метод notifyAll – все «замороженные» нити данного монитора.
Final — модификатор Поля не могут быть изменены, методы переопределены Классы нельзя наследовать Этот модификатор применяется только к классам, методам и переменным (также и к локальным переменным) Аргументы методов, обозначенные как final, предназначены только для чтения, при попытке изменения будет ошибка компиляции Переменные final не инициализируются по умолчанию, им необходимо явно присвоить значение при объявлении или в конструкторе, иначе – ошибка компиляции Если final переменная содержит ссылку на объект, объект может быть изменен, но переменная всегда будет ссылаться на тот же самый объект Также это справедливо и для массивов, потому что массивы являются объектами, – массив может быть изменен, а переменная всегда будет ссылаться на тот же самый массив Если класс объявлен final и abstract (взаимоисключающие понятия), произойдет ошибка компиляции Так как final класс не может наследоваться, его методы никогда не могут быть переопределены finally — блок в связке try-catch-finally, код в котором выполнится независимо от того вылетело ли исключение в блоке try или нет. Используется для освобождения ресурсов…
Это специальная конструкция try, называемая try-with-resources, в которой Обрати внимание – после try следуют круглые скобки, где объявляются переменные и создаются объекты. Эти объекты можно использовать внутри блока try, обозначенного скобками {}. Когда выполнение команд блока try закончится, независимо от того – нормально оно закончилось или было исключение, для объекта, созданного внутри круглых скобок (), будет вызван метод close();
изначально hashCode — случайное число. Коллекции в Java перед тем как сравнить объекты с помощью equals всегда ищут/сравнивают их с помощью метода hashCode(). И если у одинаковых объектов будут разные hashCode, то объекты будут считаться разными — до сравнения с помощью equals просто не дойдет.
используются для сравнения объектов. Цель метода equals – определить идентичны ли объекты внутри, сравнив внутреннее содержание объектов. Тк equals работает медленно, сначала сравниваются хэш коды объектов, и, в том случае, если хэш коды равны, идет проверка по equals
++i, I сначала увеличивается на 1, затем участвует в выражении. i++, I сначала участвует в выражении, затем увеличивается на 1.
Equals() hashCode() toString() getClass() notify() notifyAll() wait() wait(long timeOut) wait(long timeOut, int nanos)
Зачем нужны методы equals & hashCode?
Sleep() приостанавливает поток на указанное. состояние меняется на TIMED_WAITING, по истечению — RUNNABLE wait() меняет состояние потока на WAITING может быть вызвано только у объекта владеющего блокировкой, в противном случае выкинется исключение IllegalMonitorStateException. при срабатывании метода блокировка отпускается, что позволяет продолжить работу другим потокам ожидающим захватить ту же самую блокировку. в случае wait(int) с аргументом состояние будет TIMED_WAITING
Если ты помнишь, то finalize() – это специальный метод, который вызывается у объекта перед тем, как сборщик мусора его уничтожит. Основная цель этого метода – освободить используемые внешние не-Java ресурсы: закрыть файлы, потоки ввода-вывода и т.п. finalize() работает нестабильно. Этот метод не оправдывает возложенных на него надежд. Java-машина может отложить уничтожение объекта, как и вызов метода finalize на сколько угодно. Более того, она вообще не гарантирует, что этот метод будет вызван. В куче ситуаций ради «оптимизации» он не вызывается.
Два типа клонирования. Для клонирования объекта по умолчанию нужно: а) Добавить интерфейс Cloneable своему классу б) Переопределить метод clone и вызвать в нем базовую реализацию. Или можно написать реализацию метода clone самому.
Иногда в программе может оказаться такая ситуация, что нить вошла в блок кода synchronized, заблокировала монитор и не может работать дальше, т.к. каких-то данных еще не хватает: например, файл который она должна обработать еще не загрузился или что-нибудь в таком духе. Для решения этой проблемы и был придуман метод wait(). Вызов этого метода приводит к тому, что нить освобождает монитор и «становится на паузу». Для снятия с паузы используются методы notify, notifyAll. Метод notify «размораживает» одну случайную нить, метод notifyAll – все «замороженные» нити данного монитора.
Final — модификатор Поля не могут быть изменены, методы переопределены Классы нельзя наследовать Этот модификатор применяется только к классам, методам и переменным (также и к локальным переменным) Аргументы методов, обозначенные как final, предназначены только для чтения, при попытке изменения будет ошибка компиляции Переменные final не инициализируются по умолчанию, им необходимо явно присвоить значение при объявлении или в конструкторе, иначе – ошибка компиляции Если final переменная содержит ссылку на объект, объект может быть изменен, но переменная всегда будет ссылаться на тот же самый объект Также это справедливо и для массивов, потому что массивы являются объектами, – массив может быть изменен, а переменная всегда будет ссылаться на тот же самый массив Если класс объявлен final и abstract (взаимоисключающие понятия), произойдет ошибка компиляции Так как final класс не может наследоваться, его методы никогда не могут быть переопределены finally — блок в связке try-catch-finally, код в котором выполнится независимо от того вылетело ли исключение в блоке try или нет. Используется для освобождения ресурсов…
Это специальная конструкция try, называемая try-with-resources, в которой Обрати внимание – после try следуют круглые скобки, где объявляются переменные и создаются объекты. Эти объекты можно использовать внутри блока try, обозначенного скобками {}. Когда выполнение команд блока try закончится, независимо от того – нормально оно закончилось или было исключение, для объекта, созданного внутри круглых скобок (), будет вызван метод close();
изначально hashCode — случайное число. Коллекции в Java перед тем как сравнить объекты с помощью equals всегда ищут/сравнивают их с помощью метода hashCode(). И если у одинаковых объектов будут разные hashCode, то объекты будут считаться разными — до сравнения с помощью equals просто не дойдет.
используются для сравнения объектов. Цель метода equals – определить идентичны ли объекты внутри, сравнив внутреннее содержание объектов. Тк equals работает медленно, сначала сравниваются хэш коды объектов, и, в том случае, если хэш коды равны, идет проверка по equals
++i, I сначала увеличивается на 1, затем участвует в выражении. i++, I сначала участвует в выражении, затем увеличивается на 1.
Equals() hashCode() toString() getClass() notify() notifyAll() wait() wait(long timeOut) wait(long timeOut, int nanos)
Что будет, если переопределить equals, но не переопределить hashCode?
Sleep() приостанавливает поток на указанное. состояние меняется на TIMED_WAITING, по истечению — RUNNABLE wait() меняет состояние потока на WAITING может быть вызвано только у объекта владеющего блокировкой, в противном случае выкинется исключение IllegalMonitorStateException. при срабатывании метода блокировка отпускается, что позволяет продолжить работу другим потокам ожидающим захватить ту же самую блокировку. в случае wait(int) с аргументом состояние будет TIMED_WAITING
Если ты помнишь, то finalize() – это специальный метод, который вызывается у объекта перед тем, как сборщик мусора его уничтожит. Основная цель этого метода – освободить используемые внешние не-Java ресурсы: закрыть файлы, потоки ввода-вывода и т.п. finalize() работает нестабильно. Этот метод не оправдывает возложенных на него надежд. Java-машина может отложить уничтожение объекта, как и вызов метода finalize на сколько угодно. Более того, она вообще не гарантирует, что этот метод будет вызван. В куче ситуаций ради «оптимизации» он не вызывается.
Два типа клонирования. Для клонирования объекта по умолчанию нужно: а) Добавить интерфейс Cloneable своему классу б) Переопределить метод clone и вызвать в нем базовую реализацию. Или можно написать реализацию метода clone самому.
Иногда в программе может оказаться такая ситуация, что нить вошла в блок кода synchronized, заблокировала монитор и не может работать дальше, т.к. каких-то данных еще не хватает: например, файл который она должна обработать еще не загрузился или что-нибудь в таком духе. Для решения этой проблемы и был придуман метод wait(). Вызов этого метода приводит к тому, что нить освобождает монитор и «становится на паузу». Для снятия с паузы используются методы notify, notifyAll. Метод notify «размораживает» одну случайную нить, метод notifyAll – все «замороженные» нити данного монитора.
Final — модификатор Поля не могут быть изменены, методы переопределены Классы нельзя наследовать Этот модификатор применяется только к классам, методам и переменным (также и к локальным переменным) Аргументы методов, обозначенные как final, предназначены только для чтения, при попытке изменения будет ошибка компиляции Переменные final не инициализируются по умолчанию, им необходимо явно присвоить значение при объявлении или в конструкторе, иначе – ошибка компиляции Если final переменная содержит ссылку на объект, объект может быть изменен, но переменная всегда будет ссылаться на тот же самый объект Также это справедливо и для массивов, потому что массивы являются объектами, – массив может быть изменен, а переменная всегда будет ссылаться на тот же самый массив Если класс объявлен final и abstract (взаимоисключающие понятия), произойдет ошибка компиляции Так как final класс не может наследоваться, его методы никогда не могут быть переопределены finally — блок в связке try-catch-finally, код в котором выполнится независимо от того вылетело ли исключение в блоке try или нет. Используется для освобождения ресурсов…
Это специальная конструкция try, называемая try-with-resources, в которой Обрати внимание – после try следуют круглые скобки, где объявляются переменные и создаются объекты. Эти объекты можно использовать внутри блока try, обозначенного скобками {}. Когда выполнение команд блока try закончится, независимо от того – нормально оно закончилось или было исключение, для объекта, созданного внутри круглых скобок (), будет вызван метод close();
изначально hashCode — случайное число. Коллекции в Java перед тем как сравнить объекты с помощью equals всегда ищут/сравнивают их с помощью метода hashCode(). И если у одинаковых объектов будут разные hashCode, то объекты будут считаться разными — до сравнения с помощью equals просто не дойдет.
используются для сравнения объектов. Цель метода equals – определить идентичны ли объекты внутри, сравнив внутреннее содержание объектов. Тк equals работает медленно, сначала сравниваются хэш коды объектов, и, в том случае, если хэш коды равны, идет проверка по equals
++i, I сначала увеличивается на 1, затем участвует в выражении. i++, I сначала участвует в выражении, затем увеличивается на 1.
Equals() hashCode() toString() getClass() notify() notifyAll() wait() wait(long timeOut) wait(long timeOut, int nanos)
Зачем нужны методы wait, notify, notifyAll?
Sleep() приостанавливает поток на указанное. состояние меняется на TIMED_WAITING, по истечению — RUNNABLE wait() меняет состояние потока на WAITING может быть вызвано только у объекта владеющего блокировкой, в противном случае выкинется исключение IllegalMonitorStateException. при срабатывании метода блокировка отпускается, что позволяет продолжить работу другим потокам ожидающим захватить ту же самую блокировку. в случае wait(int) с аргументом состояние будет TIMED_WAITING
Если ты помнишь, то finalize() – это специальный метод, который вызывается у объекта перед тем, как сборщик мусора его уничтожит. Основная цель этого метода – освободить используемые внешние не-Java ресурсы: закрыть файлы, потоки ввода-вывода и т.п. finalize() работает нестабильно. Этот метод не оправдывает возложенных на него надежд. Java-машина может отложить уничтожение объекта, как и вызов метода finalize на сколько угодно. Более того, она вообще не гарантирует, что этот метод будет вызван. В куче ситуаций ради «оптимизации» он не вызывается.
Два типа клонирования. Для клонирования объекта по умолчанию нужно: а) Добавить интерфейс Cloneable своему классу б) Переопределить метод clone и вызвать в нем базовую реализацию. Или можно написать реализацию метода clone самому.
Иногда в программе может оказаться такая ситуация, что нить вошла в блок кода synchronized, заблокировала монитор и не может работать дальше, т.к. каких-то данных еще не хватает: например, файл который она должна обработать еще не загрузился или что-нибудь в таком духе. Для решения этой проблемы и был придуман метод wait(). Вызов этого метода приводит к тому, что нить освобождает монитор и «становится на паузу». Для снятия с паузы используются методы notify, notifyAll. Метод notify «размораживает» одну случайную нить, метод notifyAll – все «замороженные» нити данного монитора.
Final — модификатор Поля не могут быть изменены, методы переопределены Классы нельзя наследовать Этот модификатор применяется только к классам, методам и переменным (также и к локальным переменным) Аргументы методов, обозначенные как final, предназначены только для чтения, при попытке изменения будет ошибка компиляции Переменные final не инициализируются по умолчанию, им необходимо явно присвоить значение при объявлении или в конструкторе, иначе – ошибка компиляции Если final переменная содержит ссылку на объект, объект может быть изменен, но переменная всегда будет ссылаться на тот же самый объект Также это справедливо и для массивов, потому что массивы являются объектами, – массив может быть изменен, а переменная всегда будет ссылаться на тот же самый массив Если класс объявлен final и abstract (взаимоисключающие понятия), произойдет ошибка компиляции Так как final класс не может наследоваться, его методы никогда не могут быть переопределены finally — блок в связке try-catch-finally, код в котором выполнится независимо от того вылетело ли исключение в блоке try или нет. Используется для освобождения ресурсов…
Это специальная конструкция try, называемая try-with-resources, в которой Обрати внимание – после try следуют круглые скобки, где объявляются переменные и создаются объекты. Эти объекты можно использовать внутри блока try, обозначенного скобками {}. Когда выполнение команд блока try закончится, независимо от того – нормально оно закончилось или было исключение, для объекта, созданного внутри круглых скобок (), будет вызван метод close();
изначально hashCode — случайное число. Коллекции в Java перед тем как сравнить объекты с помощью equals всегда ищут/сравнивают их с помощью метода hashCode(). И если у одинаковых объектов будут разные hashCode, то объекты будут считаться разными — до сравнения с помощью equals просто не дойдет.
используются для сравнения объектов. Цель метода equals – определить идентичны ли объекты внутри, сравнив внутреннее содержание объектов. Тк equals работает медленно, сначала сравниваются хэш коды объектов, и, в том случае, если хэш коды равны, идет проверка по equals
++i, I сначала увеличивается на 1, затем участвует в выражении. i++, I сначала участвует в выражении, затем увеличивается на 1.
Equals() hashCode() toString() getClass() notify() notifyAll() wait() wait(long timeOut) wait(long timeOut, int nanos)
Как правильно клонировать объект?
Sleep() приостанавливает поток на указанное. состояние меняется на TIMED_WAITING, по истечению — RUNNABLE wait() меняет состояние потока на WAITING может быть вызвано только у объекта владеющего блокировкой, в противном случае выкинется исключение IllegalMonitorStateException. при срабатывании метода блокировка отпускается, что позволяет продолжить работу другим потокам ожидающим захватить ту же самую блокировку. в случае wait(int) с аргументом состояние будет TIMED_WAITING
Если ты помнишь, то finalize() – это специальный метод, который вызывается у объекта перед тем, как сборщик мусора его уничтожит. Основная цель этого метода – освободить используемые внешние не-Java ресурсы: закрыть файлы, потоки ввода-вывода и т.п. finalize() работает нестабильно. Этот метод не оправдывает возложенных на него надежд. Java-машина может отложить уничтожение объекта, как и вызов метода finalize на сколько угодно. Более того, она вообще не гарантирует, что этот метод будет вызван. В куче ситуаций ради «оптимизации» он не вызывается.
Два типа клонирования. Для клонирования объекта по умолчанию нужно: а) Добавить интерфейс Cloneable своему классу б) Переопределить метод clone и вызвать в нем базовую реализацию. Или можно написать реализацию метода clone самому.
Иногда в программе может оказаться такая ситуация, что нить вошла в блок кода synchronized, заблокировала монитор и не может работать дальше, т.к. каких-то данных еще не хватает: например, файл который она должна обработать еще не загрузился или что-нибудь в таком духе. Для решения этой проблемы и был придуман метод wait(). Вызов этого метода приводит к тому, что нить освобождает монитор и «становится на паузу». Для снятия с паузы используются методы notify, notifyAll. Метод notify «размораживает» одну случайную нить, метод notifyAll – все «замороженные» нити данного монитора.
Final — модификатор Поля не могут быть изменены, методы переопределены Классы нельзя наследовать Этот модификатор применяется только к классам, методам и переменным (также и к локальным переменным) Аргументы методов, обозначенные как final, предназначены только для чтения, при попытке изменения будет ошибка компиляции Переменные final не инициализируются по умолчанию, им необходимо явно присвоить значение при объявлении или в конструкторе, иначе – ошибка компиляции Если final переменная содержит ссылку на объект, объект может быть изменен, но переменная всегда будет ссылаться на тот же самый объект Также это справедливо и для массивов, потому что массивы являются объектами, – массив может быть изменен, а переменная всегда будет ссылаться на тот же самый массив Если класс объявлен final и abstract (взаимоисключающие понятия), произойдет ошибка компиляции Так как final класс не может наследоваться, его методы никогда не могут быть переопределены finally — блок в связке try-catch-finally, код в котором выполнится независимо от того вылетело ли исключение в блоке try или нет. Используется для освобождения ресурсов…
Это специальная конструкция try, называемая try-with-resources, в которой Обрати внимание – после try следуют круглые скобки, где объявляются переменные и создаются объекты. Эти объекты можно использовать внутри блока try, обозначенного скобками {}. Когда выполнение команд блока try закончится, независимо от того – нормально оно закончилось или было исключение, для объекта, созданного внутри круглых скобок (), будет вызван метод close();
изначально hashCode — случайное число. Коллекции в Java перед тем как сравнить объекты с помощью equals всегда ищут/сравнивают их с помощью метода hashCode(). И если у одинаковых объектов будут разные hashCode, то объекты будут считаться разными — до сравнения с помощью equals просто не дойдет.
используются для сравнения объектов. Цель метода equals – определить идентичны ли объекты внутри, сравнив внутреннее содержание объектов. Тк equals работает медленно, сначала сравниваются хэш коды объектов, и, в том случае, если хэш коды равны, идет проверка по equals
++i, I сначала увеличивается на 1, затем участвует в выражении. i++, I сначала участвует в выражении, затем увеличивается на 1.
Equals() hashCode() toString() getClass() notify() notifyAll() wait() wait(long timeOut) wait(long timeOut, int nanos)
Зачем нужен метод finalize() и как он работает?
Sleep() приостанавливает поток на указанное. состояние меняется на TIMED_WAITING, по истечению — RUNNABLE wait() меняет состояние потока на WAITING может быть вызвано только у объекта владеющего блокировкой, в противном случае выкинется исключение IllegalMonitorStateException. при срабатывании метода блокировка отпускается, что позволяет продолжить работу другим потокам ожидающим захватить ту же самую блокировку. в случае wait(int) с аргументом состояние будет TIMED_WAITING
Если ты помнишь, то finalize() – это специальный метод, который вызывается у объекта перед тем, как сборщик мусора его уничтожит. Основная цель этого метода – освободить используемые внешние не-Java ресурсы: закрыть файлы, потоки ввода-вывода и т.п. finalize() работает нестабильно. Этот метод не оправдывает возложенных на него надежд. Java-машина может отложить уничтожение объекта, как и вызов метода finalize на сколько угодно. Более того, она вообще не гарантирует, что этот метод будет вызван. В куче ситуаций ради «оптимизации» он не вызывается.
Два типа клонирования. Для клонирования объекта по умолчанию нужно: а) Добавить интерфейс Cloneable своему классу б) Переопределить метод clone и вызвать в нем базовую реализацию. Или можно написать реализацию метода clone самому.
Иногда в программе может оказаться такая ситуация, что нить вошла в блок кода synchronized, заблокировала монитор и не может работать дальше, т.к. каких-то данных еще не хватает: например, файл который она должна обработать еще не загрузился или что-нибудь в таком духе. Для решения этой проблемы и был придуман метод wait(). Вызов этого метода приводит к тому, что нить освобождает монитор и «становится на паузу». Для снятия с паузы используются методы notify, notifyAll. Метод notify «размораживает» одну случайную нить, метод notifyAll – все «замороженные» нити данного монитора.
Final — модификатор Поля не могут быть изменены, методы переопределены Классы нельзя наследовать Этот модификатор применяется только к классам, методам и переменным (также и к локальным переменным) Аргументы методов, обозначенные как final, предназначены только для чтения, при попытке изменения будет ошибка компиляции Переменные final не инициализируются по умолчанию, им необходимо явно присвоить значение при объявлении или в конструкторе, иначе – ошибка компиляции Если final переменная содержит ссылку на объект, объект может быть изменен, но переменная всегда будет ссылаться на тот же самый объект Также это справедливо и для массивов, потому что массивы являются объектами, – массив может быть изменен, а переменная всегда будет ссылаться на тот же самый массив Если класс объявлен final и abstract (взаимоисключающие понятия), произойдет ошибка компиляции Так как final класс не может наследоваться, его методы никогда не могут быть переопределены finally — блок в связке try-catch-finally, код в котором выполнится независимо от того вылетело ли исключение в блоке try или нет. Используется для освобождения ресурсов…
Это специальная конструкция try, называемая try-with-resources, в которой Обрати внимание – после try следуют круглые скобки, где объявляются переменные и создаются объекты. Эти объекты можно использовать внутри блока try, обозначенного скобками {}. Когда выполнение команд блока try закончится, независимо от того – нормально оно закончилось или было исключение, для объекта, созданного внутри круглых скобок (), будет вызван метод close();
изначально hashCode — случайное число. Коллекции в Java перед тем как сравнить объекты с помощью equals всегда ищут/сравнивают их с помощью метода hashCode(). И если у одинаковых объектов будут разные hashCode, то объекты будут считаться разными — до сравнения с помощью equals просто не дойдет.
используются для сравнения объектов. Цель метода equals – определить идентичны ли объекты внутри, сравнив внутреннее содержание объектов. Тк equals работает медленно, сначала сравниваются хэш коды объектов, и, в том случае, если хэш коды равны, идет проверка по equals
++i, I сначала увеличивается на 1, затем участвует в выражении. i++, I сначала участвует в выражении, затем увеличивается на 1.
Equals() hashCode() toString() getClass() notify() notifyAll() wait() wait(long timeOut) wait(long timeOut, int nanos)
В чем отличие final, finally, finalize?
Sleep() приостанавливает поток на указанное. состояние меняется на TIMED_WAITING, по истечению — RUNNABLE wait() меняет состояние потока на WAITING может быть вызвано только у объекта владеющего блокировкой, в противном случае выкинется исключение IllegalMonitorStateException. при срабатывании метода блокировка отпускается, что позволяет продолжить работу другим потокам ожидающим захватить ту же самую блокировку. в случае wait(int) с аргументом состояние будет TIMED_WAITING
Если ты помнишь, то finalize() – это специальный метод, который вызывается у объекта перед тем, как сборщик мусора его уничтожит. Основная цель этого метода – освободить используемые внешние не-Java ресурсы: закрыть файлы, потоки ввода-вывода и т.п. finalize() работает нестабильно. Этот метод не оправдывает возложенных на него надежд. Java-машина может отложить уничтожение объекта, как и вызов метода finalize на сколько угодно. Более того, она вообще не гарантирует, что этот метод будет вызван. В куче ситуаций ради «оптимизации» он не вызывается.
Два типа клонирования. Для клонирования объекта по умолчанию нужно: а) Добавить интерфейс Cloneable своему классу б) Переопределить метод clone и вызвать в нем базовую реализацию. Или можно написать реализацию метода clone самому.
Иногда в программе может оказаться такая ситуация, что нить вошла в блок кода synchronized, заблокировала монитор и не может работать дальше, т.к. каких-то данных еще не хватает: например, файл который она должна обработать еще не загрузился или что-нибудь в таком духе. Для решения этой проблемы и был придуман метод wait(). Вызов этого метода приводит к тому, что нить освобождает монитор и «становится на паузу». Для снятия с паузы используются методы notify, notifyAll. Метод notify «размораживает» одну случайную нить, метод notifyAll – все «замороженные» нити данного монитора.
Final — модификатор Поля не могут быть изменены, методы переопределены Классы нельзя наследовать Этот модификатор применяется только к классам, методам и переменным (также и к локальным переменным) Аргументы методов, обозначенные как final, предназначены только для чтения, при попытке изменения будет ошибка компиляции Переменные final не инициализируются по умолчанию, им необходимо явно присвоить значение при объявлении или в конструкторе, иначе – ошибка компиляции Если final переменная содержит ссылку на объект, объект может быть изменен, но переменная всегда будет ссылаться на тот же самый объект Также это справедливо и для массивов, потому что массивы являются объектами, – массив может быть изменен, а переменная всегда будет ссылаться на тот же самый массив Если класс объявлен final и abstract (взаимоисключающие понятия), произойдет ошибка компиляции Так как final класс не может наследоваться, его методы никогда не могут быть переопределены finally — блок в связке try-catch-finally, код в котором выполнится независимо от того вылетело ли исключение в блоке try или нет. Используется для освобождения ресурсов…
Это специальная конструкция try, называемая try-with-resources, в которой Обрати внимание – после try следуют круглые скобки, где объявляются переменные и создаются объекты. Эти объекты можно использовать внутри блока try, обозначенного скобками {}. Когда выполнение команд блока try закончится, независимо от того – нормально оно закончилось или было исключение, для объекта, созданного внутри круглых скобок (), будет вызван метод close();
изначально hashCode — случайное число. Коллекции в Java перед тем как сравнить объекты с помощью equals всегда ищут/сравнивают их с помощью метода hashCode(). И если у одинаковых объектов будут разные hashCode, то объекты будут считаться разными — до сравнения с помощью equals просто не дойдет.
используются для сравнения объектов. Цель метода equals – определить идентичны ли объекты внутри, сравнив внутреннее содержание объектов. Тк equals работает медленно, сначала сравниваются хэш коды объектов, и, в том случае, если хэш коды равны, идет проверка по equals
++i, I сначала увеличивается на 1, затем участвует в выражении. i++, I сначала участвует в выражении, затем увеличивается на 1.
Equals() hashCode() toString() getClass() notify() notifyAll() wait() wait(long timeOut) wait(long timeOut, int nanos)
Что такое try-with-resources?
Sleep() приостанавливает поток на указанное. состояние меняется на TIMED_WAITING, по истечению — RUNNABLE wait() меняет состояние потока на WAITING может быть вызвано только у объекта владеющего блокировкой, в противном случае выкинется исключение IllegalMonitorStateException. при срабатывании метода блокировка отпускается, что позволяет продолжить работу другим потокам ожидающим захватить ту же самую блокировку. в случае wait(int) с аргументом состояние будет TIMED_WAITING
Если ты помнишь, то finalize() – это специальный метод, который вызывается у объекта перед тем, как сборщик мусора его уничтожит. Основная цель этого метода – освободить используемые внешние не-Java ресурсы: закрыть файлы, потоки ввода-вывода и т.п. finalize() работает нестабильно. Этот метод не оправдывает возложенных на него надежд. Java-машина может отложить уничтожение объекта, как и вызов метода finalize на сколько угодно. Более того, она вообще не гарантирует, что этот метод будет вызван. В куче ситуаций ради «оптимизации» он не вызывается.
Два типа клонирования. Для клонирования объекта по умолчанию нужно: а) Добавить интерфейс Cloneable своему классу б) Переопределить метод clone и вызвать в нем базовую реализацию. Или можно написать реализацию метода clone самому.
Иногда в программе может оказаться такая ситуация, что нить вошла в блок кода synchronized, заблокировала монитор и не может работать дальше, т.к. каких-то данных еще не хватает: например, файл который она должна обработать еще не загрузился или что-нибудь в таком духе. Для решения этой проблемы и был придуман метод wait(). Вызов этого метода приводит к тому, что нить освобождает монитор и «становится на паузу». Для снятия с паузы используются методы notify, notifyAll. Метод notify «размораживает» одну случайную нить, метод notifyAll – все «замороженные» нити данного монитора.
Final — модификатор Поля не могут быть изменены, методы переопределены Классы нельзя наследовать Этот модификатор применяется только к классам, методам и переменным (также и к локальным переменным) Аргументы методов, обозначенные как final, предназначены только для чтения, при попытке изменения будет ошибка компиляции Переменные final не инициализируются по умолчанию, им необходимо явно присвоить значение при объявлении или в конструкторе, иначе – ошибка компиляции Если final переменная содержит ссылку на объект, объект может быть изменен, но переменная всегда будет ссылаться на тот же самый объект Также это справедливо и для массивов, потому что массивы являются объектами, – массив может быть изменен, а переменная всегда будет ссылаться на тот же самый массив Если класс объявлен final и abstract (взаимоисключающие понятия), произойдет ошибка компиляции Так как final класс не может наследоваться, его методы никогда не могут быть переопределены finally — блок в связке try-catch-finally, код в котором выполнится независимо от того вылетело ли исключение в блоке try или нет. Используется для освобождения ресурсов…
Это специальная конструкция try, называемая try-with-resources, в которой Обрати внимание – после try следуют круглые скобки, где объявляются переменные и создаются объекты. Эти объекты можно использовать внутри блока try, обозначенного скобками {}. Когда выполнение команд блока try закончится, независимо от того – нормально оно закончилось или было исключение, для объекта, созданного внутри круглых скобок (), будет вызван метод close();
изначально hashCode — случайное число. Коллекции в Java перед тем как сравнить объекты с помощью equals всегда ищут/сравнивают их с помощью метода hashCode(). И если у одинаковых объектов будут разные hashCode, то объекты будут считаться разными — до сравнения с помощью equals просто не дойдет.
используются для сравнения объектов. Цель метода equals – определить идентичны ли объекты внутри, сравнив внутреннее содержание объектов. Тк equals работает медленно, сначала сравниваются хэш коды объектов, и, в том случае, если хэш коды равны, идет проверка по equals
++i, I сначала увеличивается на 1, затем участвует в выражении. i++, I сначала участвует в выражении, затем увеличивается на 1.
Equals() hashCode() toString() getClass() notify() notifyAll() wait() wait(long timeOut) wait(long timeOut, int nanos)
Чем отличаются методы wait(1000) и sleep(1000)?
Sleep() приостанавливает поток на указанное. состояние меняется на TIMED_WAITING, по истечению — RUNNABLE wait() меняет состояние потока на WAITING может быть вызвано только у объекта владеющего блокировкой, в противном случае выкинется исключение IllegalMonitorStateException. при срабатывании метода блокировка отпускается, что позволяет продолжить работу другим потокам ожидающим захватить ту же самую блокировку. в случае wait(int) с аргументом состояние будет TIMED_WAITING
Если ты помнишь, то finalize() – это специальный метод, который вызывается у объекта перед тем, как сборщик мусора его уничтожит. Основная цель этого метода – освободить используемые внешние не-Java ресурсы: закрыть файлы, потоки ввода-вывода и т.п. finalize() работает нестабильно. Этот метод не оправдывает возложенных на него надежд. Java-машина может отложить уничтожение объекта, как и вызов метода finalize на сколько угодно. Более того, она вообще не гарантирует, что этот метод будет вызван. В куче ситуаций ради «оптимизации» он не вызывается.
Два типа клонирования. Для клонирования объекта по умолчанию нужно: а) Добавить интерфейс Cloneable своему классу б) Переопределить метод clone и вызвать в нем базовую реализацию. Или можно написать реализацию метода clone самому.
Иногда в программе может оказаться такая ситуация, что нить вошла в блок кода synchronized, заблокировала монитор и не может работать дальше, т.к. каких-то данных еще не хватает: например, файл который она должна обработать еще не загрузился или что-нибудь в таком духе. Для решения этой проблемы и был придуман метод wait(). Вызов этого метода приводит к тому, что нить освобождает монитор и «становится на паузу». Для снятия с паузы используются методы notify, notifyAll. Метод notify «размораживает» одну случайную нить, метод notifyAll – все «замороженные» нити данного монитора.
Final — модификатор Поля не могут быть изменены, методы переопределены Классы нельзя наследовать Этот модификатор применяется только к классам, методам и переменным (также и к локальным переменным) Аргументы методов, обозначенные как final, предназначены только для чтения, при попытке изменения будет ошибка компиляции Переменные final не инициализируются по умолчанию, им необходимо явно присвоить значение при объявлении или в конструкторе, иначе – ошибка компиляции Если final переменная содержит ссылку на объект, объект может быть изменен, но переменная всегда будет ссылаться на тот же самый объект Также это справедливо и для массивов, потому что массивы являются объектами, – массив может быть изменен, а переменная всегда будет ссылаться на тот же самый массив Если класс объявлен final и abstract (взаимоисключающие понятия), произойдет ошибка компиляции Так как final класс не может наследоваться, его методы никогда не могут быть переопределены finally — блок в связке try-catch-finally, код в котором выполнится независимо от того вылетело ли исключение в блоке try или нет. Используется для освобождения ресурсов…
Это специальная конструкция try, называемая try-with-resources, в которой Обрати внимание – после try следуют круглые скобки, где объявляются переменные и создаются объекты. Эти объекты можно использовать внутри блока try, обозначенного скобками {}. Когда выполнение команд блока try закончится, независимо от того – нормально оно закончилось или было исключение, для объекта, созданного внутри круглых скобок (), будет вызван метод close();
изначально hashCode — случайное число. Коллекции в Java перед тем как сравнить объекты с помощью equals всегда ищут/сравнивают их с помощью метода hashCode(). И если у одинаковых объектов будут разные hashCode, то объекты будут считаться разными — до сравнения с помощью equals просто не дойдет.
используются для сравнения объектов. Цель метода equals – определить идентичны ли объекты внутри, сравнив внутреннее содержание объектов. Тк equals работает медленно, сначала сравниваются хэш коды объектов, и, в том случае, если хэш коды равны, идет проверка по equals
++i, I сначала увеличивается на 1, затем участвует в выражении. i++, I сначала участвует в выражении, затем увеличивается на 1.
Equals() hashCode() toString() getClass() notify() notifyAll() wait() wait(long timeOut) wait(long timeOut, int nanos)
В чем отличие i++ и ++i ?
Sleep() приостанавливает поток на указанное. состояние меняется на TIMED_WAITING, по истечению — RUNNABLE wait() меняет состояние потока на WAITING может быть вызвано только у объекта владеющего блокировкой, в противном случае выкинется исключение IllegalMonitorStateException. при срабатывании метода блокировка отпускается, что позволяет продолжить работу другим потокам ожидающим захватить ту же самую блокировку. в случае wait(int) с аргументом состояние будет TIMED_WAITING
Если ты помнишь, то finalize() – это специальный метод, который вызывается у объекта перед тем, как сборщик мусора его уничтожит. Основная цель этого метода – освободить используемые внешние не-Java ресурсы: закрыть файлы, потоки ввода-вывода и т.п. finalize() работает нестабильно. Этот метод не оправдывает возложенных на него надежд. Java-машина может отложить уничтожение объекта, как и вызов метода finalize на сколько угодно. Более того, она вообще не гарантирует, что этот метод будет вызван. В куче ситуаций ради «оптимизации» он не вызывается.
Два типа клонирования. Для клонирования объекта по умолчанию нужно: а) Добавить интерфейс Cloneable своему классу б) Переопределить метод clone и вызвать в нем базовую реализацию. Или можно написать реализацию метода clone самому.
Иногда в программе может оказаться такая ситуация, что нить вошла в блок кода synchronized, заблокировала монитор и не может работать дальше, т.к. каких-то данных еще не хватает: например, файл который она должна обработать еще не загрузился или что-нибудь в таком духе. Для решения этой проблемы и был придуман метод wait(). Вызов этого метода приводит к тому, что нить освобождает монитор и «становится на паузу». Для снятия с паузы используются методы notify, notifyAll. Метод notify «размораживает» одну случайную нить, метод notifyAll – все «замороженные» нити данного монитора.
Final — модификатор Поля не могут быть изменены, методы переопределены Классы нельзя наследовать Этот модификатор применяется только к классам, методам и переменным (также и к локальным переменным) Аргументы методов, обозначенные как final, предназначены только для чтения, при попытке изменения будет ошибка компиляции Переменные final не инициализируются по умолчанию, им необходимо явно присвоить значение при объявлении или в конструкторе, иначе – ошибка компиляции Если final переменная содержит ссылку на объект, объект может быть изменен, но переменная всегда будет ссылаться на тот же самый объект Также это справедливо и для массивов, потому что массивы являются объектами, – массив может быть изменен, а переменная всегда будет ссылаться на тот же самый массив Если класс объявлен final и abstract (взаимоисключающие понятия), произойдет ошибка компиляции Так как final класс не может наследоваться, его методы никогда не могут быть переопределены finally — блок в связке try-catch-finally, код в котором выполнится независимо от того вылетело ли исключение в блоке try или нет. Используется для освобождения ресурсов…
Это специальная конструкция try, называемая try-with-resources, в которой Обрати внимание – после try следуют круглые скобки, где объявляются переменные и создаются объекты. Эти объекты можно использовать внутри блока try, обозначенного скобками {}. Когда выполнение команд блока try закончится, независимо от того – нормально оно закончилось или было исключение, для объекта, созданного внутри круглых скобок (), будет вызван метод close();
изначально hashCode — случайное число. Коллекции в Java перед тем как сравнить объекты с помощью equals всегда ищут/сравнивают их с помощью метода hashCode(). И если у одинаковых объектов будут разные hashCode, то объекты будут считаться разными — до сравнения с помощью equals просто не дойдет.
используются для сравнения объектов. Цель метода equals – определить идентичны ли объекты внутри, сравнив внутреннее содержание объектов. Тк equals работает медленно, сначала сравниваются хэш коды объектов, и, в том случае, если хэш коды равны, идет проверка по equals
++i, I сначала увеличивается на 1, затем участвует в выражении. i++, I сначала участвует в выражении, затем увеличивается на 1.
Equals() hashCode() toString() getClass() notify() notifyAll() wait() wait(long timeOut) wait(long timeOut, int nanos)
{"name":"Перечислите методы класса Object", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Перечислите методы класса Object, Зачем нужны методы equals & hashCode?","img":"https://www.quiz-maker.com/3012/images/ogquiz.png"}
More Quizzes
ʲ임유저에게 매우 익숙한 단어 '주작'
1050
Betong Quiz
520
10 Types of People in the Office
1050
How well do you know James (Jimmie)
1890
Emphasis on dress creates a focal point in a design; it is how we bring attention to what is most important.
Emphasis is what catches the eye and makes the viewer stop and look at the image.
Communication cannot occur without emphasis and without getting the viewer to look at the image, communication cannot occur.
Emphasis can be created by contrast.
An element in contrast with something else is more easily seen and understood; something different attracts the eye
1050
What kind of class kittat are you?
100
History
271426
Big Five
520
What kind of TikTok videos would you like to see from me?
210
[XOR Training] Pre-Gaming settings
940
Legal Call
4270
Food around the world
1367