Классические вопросы Java Basic Wavets, добро пожаловать, чтобы собрать и поделиться.
Вопрос: Что произойдет, если основной метод объявлен частным?
Ответ: он может скомпилировать обычно, но при запуске основной метод не будет общедоступным ».
Вопрос: В чем разница между проходящей ссылкой и проходящей стоимостью в Java?
Ответ: Передача ссылки означает передачу адреса, а не само значение, а передача значения является копией значения.
ВОПРОС: Если вы хотите переписать метод Equals объекта, что еще вы должны рассмотреть?
Ответ: Hashcode.
ВОПРОС: Как реализуется Java «Пишите один раз, запускается везде»?
Ответ.
ВОПРОС: Объясните роль каждого ключевого слова в публичном статическом void main (String args [])
Ответ: Общественность: Основным методом является первый метод, который называется Java -программа, поэтому она должна быть видна в среде Java. Таким образом, видимость установлена на Пулику.
Static: платформа Java не будет создавать экземпляр этого класса при вызове этого метода, поэтому этот метод должен быть объявлен статичным.
void: основной метод не имеет возвратного значения.
Строка - это тип параметра, передаваемого в командной строке, и ARGS относится к массиву строк, передаваемых в командной строке.
Вопрос: == отличие от равных
Ответ: == Сравните, являются ли два объекта одним и тем же объектом в памяти, что означает, что местоположения в памяти одинаковы. Значения, хранящиеся двумя строковыми объектами, одинаковы, но они могут храниться в разных местах в памяти.
== Сравнение является ссылкой, в то время как метод Equals сравнивает содержание. Public Boolean Equals (Object obj) Этот метод предоставляется объектом и может быть переписан подклассами. Реализация по умолчанию будет возвращать истину только тогда, когда объект сравнивается с самим собой, и в настоящее время она эквивалентна ==. Строка, битсет, дата и файл все переопределяют метод равных. Для двух строковых объектов равные значения означают, что они содержат одинаковую последовательность символов. Для класса обертки с основным типом равные значения означает, что соответствующие значения основного типа одинаковы.
public class ровный {public static void main (string [] args) {string s1 = "abc"; Строка S2 = S1; Строка S5 = "ABC"; String s3 = new String ("ABC"); String S4 = New String ("ABC"); System.out.println ("== Сравнение:” + (S1 == S5)); System.out.println ("== Сравнение:” + (S1 == S2)); System.out.println («Использование метода equals:” + s1.equals (s2)); System.out.println ("== Сравнение:” + s3 == s4); System.out.println («Использование метода equals:” + s3.equals (s4)); }}результат:
== Сравнение: верно
== Сравнение: верно
Использование метода equals: true
ЛОЖЬ
Использование метода equals: true
Вопрос: Что происходит, если статический модификатор основного метода удален?
Ответ: Программа может компилировать нормально. Исключение nosuchmethoderror будет брошено во время выполнения.
Вопрос: Почему драйвер Oracle Type4 называется тонким водителем?
Ответ: Oracle предоставляет драйвер JDBC типа 4, называемый тонким драйвером. Этот драйвер содержит реализацию TCP/IP Net8 в Oracle, которая полностью реализована в Java. Следовательно, он не зависит от платформы и может быть загружен браузером во время выполнения и не полагается на реализацию Oracle любого клиента. Строка подключения клиента использует порт TCP/IP -адреса, а не TNSNAME имени базы данных.
Вопрос: Позвольте мне представить метод завершения
Ответ: Окончательный: Постоянное объявление. Наконец: обрабатывайте исключения. Завершить: Помогает с сборкой мусора.
Переменные, объявленные в интерфейсе, являются окончательными по умолчанию. Последний класс не может быть унаследован, что означает, что подклассы нет. Это делается по основным типам соображений безопасности, таких как строка и целое число. Это также позволяет компилятору делать некоторые оптимизации и облегчает обеспечение безопасности потока. Последний метод не может быть переписан. Значение конечной переменной не может быть изменено. Метод Finalize () будет вызван до того, как объект будет уничтожен и переработан. Наконец, он обычно используется для обработки исключений, независимо от того, будет ли брошено исключение, оно будет выполнено. Например, закрытие соединения обычно выполняется в наконец -то блоке.
Вопрос: Что такое Java API?
Ответ: Java API - это коллекция большого количества программных компонентов, которые предоставляют много полезных функций, таких как компоненты GUI.
Вопрос: Что такое класс GregorianCalendar?
Ответ: Gregoriancalendar оказывает поддержку традиционным западным календарям.
Вопрос: Что такое класс ресурса?
Ответ: Resourcebundle используется для хранения ресурсов в указанной локале. Приложения могут загружать эти ресурсы в соответствии с локацией времени выполнения, тем самым обеспечивая отображение различных языков.
Вопрос: Почему в Java нет глобальных переменных?
Ответ: Глобальные переменные являются глобально видимыми, а Java не поддерживает глобально видимые переменные, потому что: глобальные переменные разрушают принцип контрольной прозрачности. Глобальные переменные вызывают конфликты пространства имен.
Вопрос: Как преобразовать тип строки в тип номера?
Ответ: Метод значения целочисленного класса может преобразовать строку в число. Вот пример кода:
String numstring = "1000";
int id = integer.valueof (numstring) .intvalue ();
Вопрос: Что такое класс SimpleTimeZone?
Ответ: SimpleTimezone предоставляет григорианскую поддержку даты.
ВОПРОС: В чем разница между циклами и петлей DO?
Ответ: Структура в то время как структура определяет, должна ли следующая итерация продолжаться в начале цикла. Структура Do/Whe определяет, будет ли следующая итерация продолжаться в конце цикла. Структура DO выполнит корпус петли хотя бы один раз.
Вопрос: Что такое класс локализации?
Ответ: класс Locale используется для динамической регулировки вывода программы в соответствии с средой локализации.
Вопрос: Каковы принципы объектно-ориентированного программирования?
Ответ: Есть три основных момента: полиморфизм, наследование и инкапсуляция.
Вопрос: Введение в принципы наследования
Ответ: Наследование позволяет одному объекту получить свойства другого объекта. Использование наследования позволяет повторно использованию тестируемых функций и может быть изменено сразу, и все места наследования вступают в силу в одно и то же время.
Вопрос: Что такое неявное преобразование типа?
Ответ: неявное преобразование типа просто присваивает один тип другому типу, не явно не сообщая компилятору, что произошло преобразование. Не все типы поддерживают неявное преобразование типа.
Пример кода:
int i = 1000;
длинный j = i; // неявное кастинг
Вопрос: Размер ключевого слова в Java?
Ответ: Нет.
ВОПРОС: Какой нативный метод?
Ответ: Настоящий метод-это метод реализации кода не Java.
ВОПРОС: В System.out.println (), что такое System, Out и Println?
Ответ: Система является предопределенным окончательным классом, предоставленным системой. Out - это объект PrintStream, а Println - это перегруженный метод в объекте Out.
Вопрос: Что такое инкапсуляция, наследование и полиморфизм?
Ответ: Проще говоря, полиморфизм относится к нескольким реализациям одного имени. Полиморфизм позволяет сущности внедрять различные операции общепринятым. Конкретная операция определяется фактической реализацией.
Существует три способа проявления полиморфизма в Java: перегрузка метода реализуется посредством наследования и переписывания методов через интерфейс Java.
Вопрос: Что такое явное преобразование типа?
Ответ: явное преобразование типа явно говорит компилятору конвертировать объекты.
Пример кода:
длинный i = 700,20;
int j = (int) i; // Явное кастинг
Вопрос: Что такое виртуальная машина Java?
Ответ: Виртуальные машины Java - это программные системы, которые можно переносить на разные аппаратные платформы.
ВОПРОС: Что такое понижение типа?
Ответ: преобразование вниз относится к преобразованию из общего типа в определенный тип, который выполняется вниз по структуре наследования.
Вопрос: Каков модификатор доступа для Java?
Ответ: Модификатор доступа - это ключевое слово, которое указывает тип доступа члена класса. Используйте эти ключевые слова, чтобы определить доступ к методам или переменным для программ. Они содержат:
Public: Все классы могут получить доступ к защите: все подклассы могут получить доступ к частному: только приписанные классы могут получить доступ к по умолчанию: приписанные классы и подклассы в рамках одного и того же пакета могут получить доступ к
Вопрос: Какие родительские классы всех классов?
Ответ: объект.
Вопрос: Каковы основные виды Java?
Ответ: Байт, Чар, Короткий, Инт, Лонг, поплавок, двойной, логический.
Вопрос: Каковы характеристики статических типов?
Ответ: Статические переменные связаны с классом, а не объектами экземпляров класса. Каждый объект экземпляра имеет одну и ту же статическую переменную. То есть у класса есть только одна статическая переменная, независимо от того, сколько объектов у него есть. Переменные класса или статические переменные объявляются через статическое ключевое слово. Переменные класса обычно используются в качестве постоянных. Статические переменные обычно доступны по именам классов. Когда программа будет запущена, эта переменная будет создана до тех пор, пока программа не будет завершена и не будет уничтожена. Объем переменных класса такая же, как у переменных экземпляра. Его начальное значение такое же, как переменные члена. Когда переменная не будет инициализирована, в соответствии с его типом данных будет значение по умолчанию. Точно так же статические методы - это методы, которые принадлежат классам, а не к классовым объектам. Их вызовы не действуют на классные объекты, и им не нужно создавать какие -либо экземпляры класса. Статические методы сами являются окончательными, потому что переписывание будет происходить только в экземплярах класса. Статические методы связаны с классом, а не с объектами. Статические методы родительского класса будут заблокированы статическими методами детского класса, если исходный метод не объявляется как окончательный. Нестатические методы не могут переопределить статические методы, то есть вы не можете изменить статический метод в метод экземпляра в подклассе.
Нестатические переменные имеют отдельную копию значения на каждом экземпляре объекта.
Вопрос: В чем разница между оператором и оператором &&?
Ответ: Когда и выражение оценки, оба операнда будут оценены, и && больше похож на ярлык для оператора. Когда экспрессия && оценивается, первый операнд рассчитывается сначала, и если оно вернется истина, будет рассчитан второй операнд. Если первый операнд воспринимается как ложный, второй операнд не будет оцениваться.
Вопрос: Как Java справляется с переполнением и недостаточным потоком целых чисел?
Ответ: Java сохраняет соответствующие байты низкого порядка в результате расчета в соответствующем значении в соответствии с размером типа.
Вопрос: Что происходит, если публичная статическая пустота написана как статическая публичная пустота?
Ответ: программа составлена и работает нормально.
Вопрос, в чем разница между объявлениями переменных и определяющими переменными?
Ответ: объявить переменные Мы предоставляем только тип и имя переменной и не инициализируем ее. Определение включает в себя два этапа: строки объявления и инициализации; Просто объявление переменной, строка s = new String ("bob"); или строка s = "bob"; является переменным определением.
Вопрос: Какой тип прохождения параметров поддерживает Java?
Ответ: параметры Java - все это передаваемые значения. Для объекта передаваемое значение является ссылкой на объект, то есть копия исходной ссылки и ссылка на параметр, оба указывают на один и тот же объект.
Вопрос: Каковы принципы инкапсуляции объектов?
Ответ: инкапсуляция заключается в том, чтобы привязать данные и код, который управляет данными с отдельной единицей. Это обеспечивает безопасность данных и предотвращает неправильное использование внешнего кода. Объекты позволяют инкапсулировать программы и данные, чтобы уменьшить потенциальные помехи. Другое понимание инкапсуляции состоит в том, чтобы выступать в качестве защитного уровня для данных и кода, чтобы предотвратить случайный доступ к коду вне защитного уровня.
Вопрос: Как вы понимаете переменные?
Ответ: переменная - это названная область памяти для доступа к программе. Переменные используются для хранения данных, и по мере выполнения программы хранимые данные также могут измениться.
Вопрос: Что такое числовое улучшение?
Ответ: Числовое улучшение относится к преобразованию данных из меньшего типа данных в более крупный тип данных для операций целочисленной или плавающей запятой. В процессе численного увеличения байт, char, короткие значения будут преобразованы в тип int. При необходимости тип Int также может быть повышен до длинных. Long и Float могут быть преобразованы в двойные типы.
Вопрос: Что такое преобразование типа Java?
Ответ: преобразование из одного типа данных в другой называется конверсией типа. Java имеет два типа методов конверсии, один из них является явным преобразованием типа, а другой - неявным.
Вопрос: Каков первый параметр строкового массива в параметрах основного метода?
Ответ: массив пуст, без каких -либо элементов. В отличие от C или C ++, первым элементом является имя программы по умолчанию. Если командная строка не предоставляет каких -либо параметров, строковый массив в основном методе пуста, но не нулевой.
Вопрос: Как определить, является ли массив нулевым или пустым?
Ответ: выходное значение массива. Если это 0, массив пуст. Если он нулевой, будет брошено исключение NULL Pointer.
Вопрос: Можно ли иметь несколько классов владеть одновременно и иметь основные методы в программе?
Ответ: Да. Когда программа запускается, мы указам имя работающего класса. JVM будет искать только основные методы в указанном вами классе. Следовательно, нет конфликта именования между несколькими классами, имеющими основные методы.
Вопрос: Когда статические переменные загружаются? Скомпилировать или время выполнения? Каково время загрузки статического блока кода?
Ответ: Когда загружатель класса загружает класс в JVM, будут созданы статические переменные, что не имеет ничего общего с созданием объекта. Пространство памяти будет выделено при загрузке статических переменных. Код статического блока кода будет выполнен только один раз, когда класс инициализирован в первый раз. Класс может иметь несколько статических блоков кода, он не является членом класса, не имеет возврата и не может быть вызвано напрямую. Статические блоки кода не могут содержать этого или супер, они обычно инициализируются статическими переменными.
Вопрос: Может ли у класса есть несколько основных методов?
Ответ: Да, но только один основной метод имеет следующую подпись:
public static void main (string [] args) {}
В противном случае программа не будет составлена. Компилятор предупредит вас, что основной метод уже существует.
Вопрос: Позвольте мне кратко представить, как работает JVM?
Ответ: JVM - это абстрактный компьютер. Как и настоящий компьютер, они сначала будут скомпилировать файл .java в файл .class (файл .class - это файл Bytecode), а затем использовать его интерпретатор для загрузки байт -кода.
Вопрос: Что если значения двух переменных обмениваются на месте?
Ответ: сначала добавьте два значения и назначьте значения первой переменной, затем вычитайте вторую переменную из результата и назначьте значения второй переменной. Затем вычтите вторую переменную с первой переменной и назначьте значение первой переменной одновременно. Код заключается в следующем:
int a = 5, b = 10; a = a+b; b = ab; a = ab;
Используйте Xor для переключения. Первый метод также может вызвать переполнение. Метод XOR заключается в следующем: int a = 5, b = 10; a = a+b; b = ab; a = ab;
int a = 5; int b = 10;
a = a ^ b;
b = a ^ b;
a = a ^ b;
Вопрос: Что такое инкапсуляция данных?
Ответ: Один из способов инкапсулировать данные - создать набор и получить методы в классе для доступа к переменным данным объекта. Вообще говоря, переменные являются частными, в то время как методы GET и SET являются общедоступными. Инкапсуляция также может использоваться для проверки данных при хранении данных или для вычисления данных или для использования в качестве самоанализа (например, использования Javabeans в стойках). Инкапсулирование данных и функций в отдельную структуру называется инкапсуляцией данных. Инкапсуляция фактически инкапсулирует данные и связанные с ними методы работы в независимую единицу, так что данные можно получить с использованием этих связанных методов. Инкапсуляция обеспечивает безопасность данных, что на самом деле является способом скрыть данные.
Вопрос: Что такое API отражения? Как это реализовано?
Ответ: Отражение относится к функции возможности просматривать статус и характеристики класса во время выполнения и способность выполнять динамическое управление. Эти функции предоставляются посредством некоторых встроенных API-интерфейсов отражения класса, таких как класс, метод, поле, конструкторы и т. Д. Пример использования: используйте метод GetName API Java Reflection API, чтобы получить имя класса.
Вопрос: Поддерживать ли сам JVM кеш? Это выделяются объекты в куче, или куча операционной системы или куча управляется самой JVM? Почему?
Ответ: Да, сам JVM управляет кэшем, который создает объекты в куче, а затем ссылается на эти объекты в стеке.
Вопрос: Что такое виртуальная память?
Ответ: Виртуальная память также называется расширенной памятью, и на самом деле нет реальной физической памяти.
Вопрос: Может ли метод быть статичным и синхронизированным одновременно?
Ответ: Да. Если вы сделаете это, JVM приобретает замок на экземпляре java.lang.class, связанного с этим объектом. Это равно:
синхронизированный (xyz.class) {
}
Вопрос: В чем разница между строкой и StringTokenizer?
Ответ: StringTokenizer - это класс инструментов, используемый для разделения строк.
StringTokenizer st = new StringTokenizer ("Hello World"); while (st.hasmoretokens ()) {System.out.println (st.nexttoken ());}
Выход:
Привет
Мир
Вопрос: Каковы характеристики переходных переменных?
Ответ: переходная переменная не будет сериализована. Например, когда класс, который реализует сериализуемый интерфейс, сериализован на объект, переменные типа переход не будут записаны в поток. В то же время, когда детериализируется назад, соответствующее значение переменной равна нулю.
Вопрос: Какие контейнеры используют макет границы в качестве макета по умолчанию?
Ответ: окно, кадр, диалог.
Вопрос: Как понять, что такое синхронизация?
Ответ: Синхронизация используется для управления доступом общих ресурсов между несколькими потоками, чтобы гарантировать, что только один поток может получить доступ к этому ресурсу одновременно. В асинхронно защищенной многопоточной программе, когда поток изменяет общую переменную, другой поток также может использовать или обновить его значение. Синхронизация избегает генерации грязных данных.
Синхронизировать методы:
Public Synchronized void Method1 () {// Соответствующий код, связанный с методом.}Синхронизировать кодовые блоки внутри метода:
public myfunction () {synchronized (this) {// синхронизированный код здесь. }}Выше приведено сборник информации о вопросах на интервью Java. Мы будем продолжать добавлять соответствующую информацию в будущем. Спасибо за вашу поддержку на этом сайте!