25个面试中最常问的问题和答案

最常见的面试问题

1.在 Java 中类的定义在 Java 中,类是用于创建对象和定义数据类型的模板。 它充当面向 Java 语言的系统的构建块。
2.静态加载和动态加载有什么区别?静态类加载涉及使用新关键字来创建对象和实例,而动态加载是在编译时不知道类的名称的场景执行的。
3. 什么是多线程多线程是一种编程概念,用于在单个程序中以并发方式运行多个任务。
4. 何时以及是谁开发的 Java ?Java 由 James Gosling 于 1995 年在 Sun Microsystem 中开发。
5. JDK,JRE 和JVM 分别代表什么?
  • JVM 代表 Java 虚拟机
  • JRE 代表 Java Runtime Environment
  • JDK 代表 Java Development Kit
6. Java 中使用指针吗?不,Java不使用指针。 它具有严格的安全性。 而不是指针,Java中使用引用,因为与指针相比,它们更安全,更安全。
7.如何使用Java连接数据库?使用Java连接数据库的步骤如下:
  • 注册驱动程序类
  • 创建连接
  • 创建声明
  • 执行查询
  • 关闭连接
8. JVM和JRE的功能是什么?JVM 为要执行的 Java 字节代码提供运行时环境。 JRE 包括 JVM 在运行时期间所需的文件集。
9.重载和覆盖(重写)有什么区别?当有两个名称相同但属性不同的方法时,它会重载。 当有两个具有相同名称和属性的方法时,会发生覆盖,一个在子类中,另一个在父类中。 查看此帖子以获得更深入的分析。
10.哈希基于集合的负载因子的默认大小是多少?默认大小为0.75,默认容量计算如下: 初始容量*负载因子
11.什么是包?包是相关类和接口的集合。
12.所有异常类的基类是什么?Java.lang.Throwable 是所有异常类的超类,所有异常类都是从这个基类派生的。
13. equals()和= =之间有什么区别?equals()方法用于检查业务逻辑定义的两个对象的相等性。 == 或等于运算符用于比较基元和对象。
14.说两个内部类和子类之间的差异Inner类在同一个文件中,子类可以在另一个文件中。 考虑到这一点,虽然子类具有其父类的方法,但内部类获取他们想要的方法。
15.如何用Java定义析构函数?由于Java有自己的垃圾收集,因此不需要定义析构函数。 垃圾收集机制自动执行对象的回收。
16. JSON定义JSON是JavaScript Object Notation的首字母缩写。 它使用JavaScript语法,格式仅为文本。
17.列举Java最重要的特性Java是一种独立于平台的语言。
18.什么是匿名类?使用new关键字在单行代码中没有名称定义的类称为匿名类。
19.什么是JVM?JVM是Java虚拟机,它是已编译的Java类文件的运行时环境。
20.死去的线程可以重新开启吗?不,处于死状态的线程无法再次启动。
21. 数组是原始数据类型吗?不,在Java中,数组是对象。
22.什么是Java中的构造函数?在Java中,构造函数是用于初始化对象的代码块。
23.有哪些类型的构造器?有两种类型的构造函数:
1、默认构造函数: 没有参数的构造函数称为默认构造函数。 如果我们没有在类中定义构造函数,编译器会为该类创建一个默认构造函数(没有参数),如下所示:
  1. // no-argument constructor
  2. importjava.io.*;
  3. classSprint
  4. {
  5.    intnum;
  6.    String name;
  7.    // this would be invoked while object
  8.    // of that class created.
  9.    Sprint()
  10.    {
  11.        System.out.println("Constructor called");
  12.    }
  13. }
  14. class Z
  15. {
  16.    publicstaticvoidmain (String[] args)
  17.    {
  18.        // this would invoke default constructor.
  19.        Sprint zeal1 = new  Sprint();
  20.        // Default constructor provides the default
  21.        // values to the object like 0, null
  22.        System.out.println(zeal1.name);
  23.        System.out.println(zeal1.num);
  24.    }
  25. }

2、参数化构造函数 2.参数化构造函数具有已知参数的构造函数是参数化构造函数。 如果我们想用自己的值初始化类的字段,那么使用*参数构造函数。
  1. // Java Program to illustrate calling of
  2. // parameterized constructor.
  3. import
  4. java.io.*;
  5. classSprint
  6. {
  7.        // data members of the class.
  8.        String name;
  9.        int id;
  10.        // contructor would initialized data members
  11.        // with the values of passed arguments while
  12.        // object of that class created.
  13.        Sprint(String name, int id)
  14.            {
  15.                this.name = name;
  16.                this.id = id;
  17.            }
  18. }
  19. class Z
  20. {
  21.            publicstaticvoid main (String[] args)
  22.          {
  23.                // this would invoke parameterized constructor.
  24.                    Sprint zeal1 = newSprint("adam", 1);
  25.                    System.out.println("Sprint Name :"+ zeal1.name +" and Sprint Id :" + zeal1.id);
  26.          }
  27. }
24.解释Java中的垃圾收器。在Java中,当不再使用或引用对象时,将调用垃圾收集并自动销毁对象。
25.堆栈和队列之间有什么区别?堆栈和队列之间的区别在于堆栈基于后进先出(LIFO)原则,而队列基于FIFO(先进先出)原则。

本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
极客文库 » 25个面试中最常问的问题和答案

Leave a Reply