Java重要知识总结(一)

Java语言的特点

  • 简单易学;
  • 面向对象(封装,继承,多态);
  • 平台无关性;
  • 支持多线程;
  • 可靠性;安全性;高效性
  • 编译与解释并存

JVM-JDK-JRE区别

  • JVM(Java Virtual Machine),Java 虚拟机是运行 Java 字节码的虚拟机。
  • JDK(Java Development Kit),它是功能齐全的 Java SDK,是提供给开发者使用,能够创建和编译 Java 程序的开发套件。
  • JRE(Java Runtime Environment) 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,主要包括 Java 虚拟机(JVM)、Java 基础类库(Class Library)。

Java 编译与解释共存

Java 语言既具有编译型语言的特征,也具有解释型语言的特征,混合了编译语言与解释型语言的优点。Java 程序要经过先编译,后解释两个步骤,由 Java 编写的程序需要先经过编译步骤,生成字节码(.class 文件),这种字节码必须由 Java 解释器来解释执行。

JIT与AOT

JIT(Just in Time Compilation)属于运行时编译。(.class 文件到机器码)在这一步中JVM 类加载器首先加载字节码文件,然后通过解释器逐行解释执行,这种方式的执行速度会相对比较慢。而机器码的运行效率肯定是高于 Java 解释器的,并且有些方法和代码块经常需要被调用的(也就是所谓的热点代码),因此当 JIT 编译器完成第一次编译后,会将字节码对应的机器码保存下来,下次可以直接使用吗,以提高运行效率。

 AOT (Ahead of Time Compilation) 是JDK 9 引入的一种新的编译模式。和 JIT 不同的是,这种编译模式会在程序被执行前就将其编译成机器码,属于静态编译(C、 C++,Rust,Go 等语言就是静态编译)。AOT 避免了 JIT 预热等各方面的开销&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值