问:什么是JRE,为什么需要它?
JRE代表“ Java运行时环境”,您通常可以将其下载为Java软件。JRE由Java虚拟机,Java平台类和支持库组成。JRE是Java软件的运行时组件,是运行任何Java应用程序所需的全部。
问:什么是JDK?为什么需要它?
JDK是JRE的超集,包括JRE包含的所有内容。此外,它附带了开发Java应用程序所需的编译器和调试器工具。
问:什么是JVM?为什么需要它?
JVM代表Java虚拟机。它翻译并执行Java字节码。它是将Java转变为“便携式语言”的实体(即编写一次,在任何地方运行)。但是,每个平台都有其JVM的实现,例如Windows,Linux,macOS等,都具有运行字节码的JVM的不同版本。
问:区分路径和类路径?
和是操作系统级别的环境变量。路径定义系统可以在其中查找可执行文件(.exe)的位置,而类路径指定Java类文件的位置。
问:区分构造函数和方法?
自动调用构造函数以创建对象,而显式调用该方法。
问:构造函数可以使用与Java中的类名称不同的名称吗?
不可以,Java中的构造函数应与类具有相同的名称。如果名称不同,则其行为将类似于标准方法。
问:参数和参数之间有什么区别吗?
在定义方法时,您传递称为参数的变量。当您调用这些方法并为变量提供值时,它们将被用作参数。
问:如果将main方法声明为private,程序的行为会如何?
它会正确编译,但会引发错误“ Main方法不公开”。在运行时。
问:如果应用程序获得多个具有main()方法的类怎么办?
在不同的类中当然可以有多个主要方法。启动应用程序时,必须提供启动类名称以供执行。然后,JVM仅在提供名称的类中查找main方法。因此,您不会发现与具有定义的多个类有任何冲突。
问:在Java中按引用传递和按值传递之间有什么区别?
通过引用传递表示,传递地址本身而不传递值。通过值传递意味着提供值的副本。
问:您对字节码了解什么?
Java编译器为所有Java代码生成字节码,并将其转换为类文件。字节码与平台无关,并且需要平台特定的JVM才能执行。
问:您如何看待公共static void main(String args [])中的每个关键字?
- Public- 是程序启动时JVM调用的入口方法。因此,必须能够从Java环境进行访问。因此,访问说明符必须是公共的。
- 静态JVM必须能够调用该方法而不创建类的实例。因此,该方法必须声明为静态。
- Void- 不返回任何内容,因此其返回类型必须为void。
- 参数字符串表示从控制台传递的参数类型,是在命令行中指定的字符串数组。
问:如何比较final,final和finalize关键字?
- Final –用于声明常量。接口中定义的变量是隐式最终的。您不能延长期末课程。
- 最后–它使您可以处理异常。这是用于异常处理的关键字。块下的代码显然得到了执行。
- 完成-它有助于垃圾收集。方法仅在销毁对象和收集垃圾之前使用。
问:如果没有“ main”方法,能否成功编译Java类?
是的,我们可以编译,但是不会运行。“ main”方法用作Java类的启动功能,并且JVM调用它以执行程序。
问:您如何在System.out.println()函数中对System,out和进行处理?
- 系统->预定义的最终课程,
- out-> PrintStream对象,然后,
- out对象的->内置重载方法。
问:您通过显式转换了解什么?
这个过程指示编译器将对象转换为其他类型。
例如 long no = 99999;int new_no =(int)否;//显式转换
问:如果使用代替,Java程序是否可以编译/运行?
是的,该程序将像往常一样编译并运行。
问:如何证明数组不是空但为空?
调用。它将显示0。这表明该数组为空。如果为null,则在调用时将引发NullPointerException。
问:您对垃圾收集有什么了解,以及如何明确调用它?
如果对象不再属于任何变量,则Java将自动回收内存。此过程称为垃圾收集。您可以使用方法显式调用它。
问:无法到达的对象又如何变为可到达的,这有可能吗?
是的,无法访问的对象可能会进入可访问状态。如果在垃圾回收过程中调用对象方法,并且在其中设置了引用它的对象,则可能发生这种情况。这种情况将导致垃圾回收跳过并再次使对象可访问。
![dde857c6dc0993331b5477fb37968238.png](https://i-blog.csdnimg.cn/blog_migrate/b8046865d9438848b34be08763a01277.jpeg)
Java面试问题–最终复习
现在我们到了本文的结尾,我们当然想知道您对上述Java访谈问题的反馈。很高兴收到大家的来信,因为我们撰写并分享我们所知道的以及对读者有用的知识。当某人离开他/她的回答时,立即提高了动机水平,并鼓励我们继续提供高质量的内容。
也欢迎您将您的经验添加到这篇文章中。确实向我们提供了更多优质的Java面试问题,我们将进行审查并将其包括在上面的列表中。这将极大地帮助我们其他人,因为他们可能在面试中被问到类似的问题。
最后,不要忘了通过在社交媒体上分享有关最佳Java面试问题的精彩列表来帮助提高技能,从而参与这项技能提升活动。全球各地的优秀测试工程师。
祝一切顺利