1. Java中是否存在内存泄漏?
在Java中可能存在内存泄漏的情况,但是Java虚拟机提供了垃圾回收机制,它可以不定时地对无任何引用的对象进行垃圾回收,在一定程度上减少了内存泄漏的发生。
2. 谈谈JVM加载Class类文件的原理机制
JVM加载类文件靠的是ClassLoader与它的子类实现的,ClassLoader是Java运行时一个重要的系统组件,它用于搜索并加载指定的类,JVM加载类时会保证类已经被加载、连接、并且初始化,当一个类被加载了那么它将进入连接阶段,这里阶段中有三个步骤:验证、准备(为静态成员分配内存空间,并赋初始值)、解析(将符号引用转换为直接引用)。
3. 在Java中如何关闭一个线程?
- 如果是在IDE中运行可以点击控制台的停止按钮终止一个程序的运行。
- 通过调用Thread类的stop()方法强制终止一个线程,但是这种方式不够安全、也不推荐使用。
- 通过调用interrupt()方法中断一个线程。
4. &操作符和&&操作符之间有何区别?
当对&操作符进行求值的时候回对符号两边的表达式进行求值,而&&操作符只会先计算符号左边的值,如果符合要求才会计算符号右边的值。
5. 谈谈你所了解的抽象类和抽象方法是什么?
被abstracter修饰的类/方法,分别被称为抽象类、抽象方法。
- 有抽象方法的类,必须是抽象类。
- 抽象类中可不必包含抽象方法。
- 抽象类的子类必须实现所有父类方法,否则它必须也是一个抽象类。