Java 知识点总结
1. 封装,继承和多态
- 封装: “高内聚,低耦合”,隐藏内部实现细节,只通过接口开放部分使用权限给外部。
- 继承: 主要是提高代码复用性,通过子类继承父类,来增加功能扩展的可能性。继承包括单继承和多继承。
- 多态: 多态可以理解成一个行为在不同的情况下具有不同的表现和结果。多态的三个前提条件:
- 子类继承父类
- 子类重写父类的方法
- 父类引用指向子类的对象
问题:
- Java如何实现多继承: Java通过接口(interface)实现多继承,一个类可以实现多个接口,从而实现多继承的效果。
- Java的
implement
关键字有什么用: 用于实现接口,即一个类通过implements
关键字声明它实现了某个接口。 - Java关键字
this
和super
:this
:指向当前对象的引用,用于区分实例变量和局部变量,或调用当前类的构造函数。super
:指向父类的引用,用于调用父类的方法和构造函数。
2. Java的平台无关性
Java的“平台无关性”指的是Java程序编写一次后,可以在任何支持Java的平台上运行。这是因为Java代码会被编译成字节码(bytecode),并通过JVM(Java虚拟机)在不同操作系统上运行,JVM负责将字节码翻译为操作系统本地的机器码。
3. 支持多线程
Java内置对多线程的支持,允许多个线程并发执行,能够提高程序的执行效率。与C++不同,C++没有内置的多线程机制,必须依赖操作系统提供的多线程支持。而Java通过Thread
类或实现Runnable
接口来支持多线程编程。
4. 可靠性
Java具有较高的可靠性,提供了异常处理机制(try-catch
)和自动内存管理机制(垃圾回收)。这使得程序在运行过程中可以更容易地处理错误,并自动管理内存,避免内存泄漏问题。
- JDK,JRE,JVM的关系
-
Java的一些执行过程
Java源代码是通过Java编译器javac编译成字节码.class文件后,判断是否是热点代码,由于解释器是逐行解释,这样的话执行速度就会很慢,所以引入了 JIT(Just in Time Compilation 用来执行热点代码也叫常用代码, JIT编译器在执行过第一次代码之后,就会把对应的机器码给记录下来,下次就可以直接使用。机器码的运行效率是非常高的,这样可以极大提高执行效率。这也就是为什么说 Java 是编译和解释并存的语言 -
JDK,JRE,JVM,JIT 的关系大致如下