Во-первых, давайте поговорим о разнице между Final, Final и Finalize.
модификатор Final? (ключевое слово) Если класс объявлен как окончательный, это означает, что он больше не может создавать новые подклассы и не может быть унаследован как родительский класс. Поэтому класс не может быть объявлен одновременно абстрактным и финальным. Объявляйте переменные или методы как окончательные, чтобы гарантировать, что они не будут изменены во время использования. Переменным, объявленным как окончательные, при объявлении должно быть присвоено начальное значение, они могут быть прочитаны только в последующих ссылках и не могут быть изменены. Методы, объявленные как окончательные, также могут только использоваться и не могут быть перегружены.
наконец? Предоставьте блок «finally» для выполнения любых операций очистки во время обработки исключений. Если генерируется исключение, выполняется соответствующее предложение catch и управление передается блокуfinally (если он есть).
завершить? имя метода. Технология Java позволяет использовать метод Finalize() для выполнения необходимой работы по очистке перед тем, как сборщик мусора очистит объект из памяти. Этот метод вызывается сборщиком мусора для этого объекта, когда он определяет, что на объект нет ссылки. Он определен в классе Object, поэтому все классы его наследуют. Подклассы переопределяют метод Finalize() для организации системных ресурсов или выполнения других работ по очистке. Метод Finalize() вызывается для объекта до того, как сборщик мусора удалит его.
Во-вторых, разница между HashMap и Hashtable.
Все они являются классами, принадлежащими интерфейсу Map и реализующими сопоставление уникальных ключей с конкретными значениями.
Класс HashMap не сортирует и не сортирует. Он допускает нулевой ключ и несколько нулевых значений.
Hashtable похож на HashMap, но не допускает нулевых ключей и нулевых значений. Он также медленнее, чем HashMap, поскольку является синхронным.
В-третьих, String s = new String("xyz"); сколько объектов String создано?
Есть два объекта: один — «xyx», а другой — ссылочный объект, указывающий на «xyx».
В-четвертых, в чем разница между Sleep() и wait(), любимым методом Threading?
Метод Sleep() — это метод, который останавливает поток на определенный период времени. По истечении интервала сна поток не обязательно немедленно возобновляет выполнение. Это связано с тем, что в этот момент другие потоки могут работать и не планируют прекращать выполнение, если только (а) «пробуждающийся» поток не имеет более высокий приоритет.
(б) Выполняемый поток заблокирован по другим причинам.
Когда функция wait() используется для взаимодействия с потоком, если поток выдает вызов wait() объекту синхронизации x, поток приостанавливает выполнение, а вызываемый объект переходит в состояние ожидания до тех пор, пока не будет пробужден или пока не истечет время ожидания.
В-пятых, что не так с short s1 = 1; s1 = s1 + 1;?
short s1 = 1; s1 = s1 + 1 неверно, s1 имеет тип short, s1+1 имеет тип int и не может быть явно преобразован в тип short. Его можно изменить как s1 =(short)(s1 + 1). короткий s1 = 1; s1 += 1 верно.
В-шестых, разница между Overload и Override. Могут ли перегруженные методы изменить тип возвращаемого значения?
Переопределение и перегрузка метода — это разные проявления полиморфизма Java. Переопределение — это проявление полиморфизма между родительскими классами и подклассами, а перегрузка — это проявление полиморфизма в классе. Если метод, определенный в подклассе, имеет то же имя и параметры, что и его родительский класс, мы говорим, что метод является переопределяющим. Когда объект подкласса использует этот метод, он вызывает определение в подклассе. Для этого определение в родительском классе кажется «экранированным». Если в классе определено несколько методов с одинаковым именем и они имеют разное количество параметров или разные типы параметров, это называется перегрузкой метода. Перегруженный метод может изменить тип возвращаемого значения.
В-седьмых, элементы в наборе не могут повторяться, поэтому какой метод используется, чтобы определить, повторяются они или нет? Следует ли использовать == или равно(). В чем разница между ними?
Элементы в наборе не могут повторяться, поэтому используйте метод iterator(), чтобы определить, повторяются они или нет. Equals() определяет, равны ли два набора.
Методы Equals() и == определяют, указывает ли ссылочное значение на один и тот же объект, метод Equals() переопределяется в классе, чтобы возвращать значение true, когда содержимое и типы двух отдельных объектов совпадают.
В-восьмых, в чем разница между ошибкой и исключением?
Ошибка представляет собой серьезную проблему в ситуации, когда восстановление не невозможно, но затруднено. Например, переполнение памяти. Невозможно ожидать, что программа справится с такой ситуацией.
исключение представляет собой проблему проектирования или реализации. То есть это представляет собой ситуацию, которая никогда бы не произошла, если бы программа работала нормально.
В-девятых, назовите мне исключение во время выполнения, которое вы видите чаще всего.
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifyingSetException, UnsupportedOperationException
В-десятых, элементы в наборе не могут повторяться, так какой же метод используется, чтобы определить, повторяются они или нет? Следует ли использовать == или равно(). В чем разница между ними?
Элементы в наборе не могут повторяться, поэтому используйте метод iterator(), чтобы определить, повторяются они или нет. Equals() определяет, равны ли два набора.
Методы Equals() и == определяют, указывает ли ссылочное значение на один и тот же объект, метод Equals() переопределяется в классе, чтобы возвращать значение true, когда содержимое и типы двух отдельных объектов совпадают.