JAVA复习(基础一)

主要特点:OOP、GC、JVM

OOP:面向对象编程(Object-Oriented Programming)

1.    特点:封装:将数据和操作数据的方法封装在一起,限制对内部状态的直接访问,提高安全性。

2.    继承:允许新类从已有类继承属性和方法,促进代码重用。

3.    多态:允许不同类的对象通过相同接口调用方法,使得同一操作可以适应不同的数据类型。

4.    抽象:通过定义类和接口,提供对复杂系统的简化视图,专注于重要的细节。

OOP 提高了代码的可维护性、可重用性和可扩展性,使得软件开发更加高效。

GC:垃圾回收(Garbage Collection)

Java 的 GC(垃圾回收,Garbage Collection)是自动内存管理的一部分,用于回收不再使用的对象所占用的内存,从而防止内存泄漏和优化内存使用。GC 的主要目标是自动检测和清理不再被引用的对象,帮助开发者减少手动管理内存的负担。

主要特点:

1.    自动化:开发者无需手动释放对象内存,GC 会自动进行。

2.    标记-清除算法:GC 通过标记不再使用的对象,然后清除它们以回收内存。

3.   内存压缩:在某些情况下,GC 还会进行内存压缩,减少内存碎片,提高内存使用效率。

JVM:Java 虚拟机(Java Virtual Machine)

是 Java 程序运行的核心组件,它负责将 Java 字节码转换为机器代码,从而使 Java 程序能够在不同的平台上运行。

跨平台性:通过 JVM,Java 程序可以在不同的操作系统和硬件平台上运行,遵循“一次编写,到处运行”的原则。原因在于Java程序并没有直接运行在平台上,而是运行在 JVM 上。不同的平台(Linux、Unix、Windows),有不同的适配当前平台的 JVM(所以JVM 不跨平台),JVM 屏蔽了不同平台的差异性,提供给了 java程序一致性的接口,所以 Java 程序可以跨平台运行。这种设计使得 Java 成为广泛应用于企业级开发和移动应用的语言。

Java执行流程:

1. 源码(.java)经过编译(javac)后得到的字节码文件(.class),首先会由字节码加载器将其加载进 JVM;

2. 紧接着,字节码校验器会对字节码进行校验;

3. 最后,再由字节码解释器将字节码翻译成机器码交由操作系统执行

内存管理:JVM 管理程序的内存,包括堆内存、栈内存等,并负责垃圾回收(GC),自动回收不再使用的对象内存。

安全性:JVM 提供了一个安全的执行环境,通过类加载器和字节码验证,确保运行的代码是安全的,防止恶意代码的执行。

多线程支持:JVM 内置对多线程的支持,允许多个线程并发执行,提高程序的性能。

为了提升JAVA的运行效率,JVM 提供了JIT(Just-In-Time)编译器,即能够在运行时将热点代码(高频次执行的代码)编译成机器码,这种情况下热点代码属于编译执行,而不是解释执行。

Java 的执行机制

Java 的执行机制结合了编译和解释的优点:

  1. 编译阶段

    • Java 源代码(.java 文件)通过 Java 编译器(javac)编译成字节码(.class 文件)。字节码是一种中间表示,不同于直接的机器代码。
  2. 执行阶段

    • Java 字节码通过 Java 虚拟机(JVM)执行。JVM 既可以解释执行字节码,也可以使用即时编译(JIT)将字节码编译成机器代码并执行,从而提高性能。

总结

  • 编译执行:一次性将源代码转化为机器码,运行速度快,但需要完整编译过程。
  • 解释执行:逐行执行源代码,灵活性高,但运行速度较慢。
  • Java 的方式:将源代码编译为字节码,通过 JVM 结合解释执行和即时编译,实现跨平台和性能的平衡。

JDK、JRE、JVM三者之间的关系

    JDK是 (Java Development Kit)java 开发工具包,包括Java运行环境JRE 和一些Java 开发工具(编译工具javac.exe、文档生成器javadoc.exe、打包工具jar.exe、调试器jdb.exe 等),另外还包含一些Java基础的类库;
    JRE(Java Runtime Enveirment)是Java运行时环境,包括运行时类库和JVM,在解释执行字节码的时候JVM需要调用解释所需要的类库lib;如果只是想运行Java程序,计算机中只需要安装JRE即可。
    JVM(Java Virtual Machine) Java虚拟机,是实现Java跨平台的最核心部分,提供的接口不依赖于底层操作系统和机器硬件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值