理解Java语言的特性,是否是解释执行

本文探讨了Java的基本语言特性,包括面向对象、反射、泛型和Lambda表达式。同时,介绍了Java丰富的类库,如集合、并发、网络和IO/NIO。深入解析了Java虚拟机(JVM),讲解了其垃圾回收机制、平台无关性和编译模式,特别是解释与编译执行的混合模式。此外,还提到了JRE提供的辅助工具,如javac、jps和jstack。文章强调了Java的跨平台性,通过JVM实现了“一次编译、到处运行”的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java特性

考的是我们对Java 语言的全局认知,大概需要分以下去作答,探讨

  • 一、基本的语言特性
    • 面向对象(封装,继承,多态)
    • 反射
    • 泛型
    • Lambda
  • 二、 丰富的Java类库
    • 集合包,并发包,网络,IO/NIO
  • 三、Java虚拟机
    • 垃圾回收器
    • 平台无关性(JVM运行.class文件)
    • 编译模式有解释 也有 编译(Just - in - time编译实现),混合模式
  • 四、JRE提供了很多辅助工具
    • javac ,jps,jstack

理解平台无关性(一次编译,到处运行)

“一次编译、到处运行” 说的是Java语言跨平台的特性,Java语言与cpu 硬件的交互依赖JVM的实现,只要我们在平台上安装了JRE,编译好的代码就可以运行,本质上其他语言也是具有跨平台性的,只是Java做的比较成熟。

程序从源代码到运行的三个阶段:编码——编译——运行——调试,Java在编译阶段则体现了跨平台的特点。编译过程大概是这样的:首先是将Java源代码转化成.CLASS文件字节码,这是第一次编译。.class文件就是可以到处运行的文件。然后Java字节码会被转化为目标机器代码,这是是由JVM来执行的,即Java的第二次编译。
“到处运行”的关键和前提就是JVM。因为在第二次编译中JVM起着关键作用。在可以运行Java虚拟机的地方都内含着一个JVM操作系统。从而使JAVA提供了各种不同平台上的虚拟机制,因此实现了“到处运行”的效果。

是否是解释执行

解释执行 和 编译执行混合

  • 1、Java源代码经过Javac编译成.class文件
  • 2、.class文件经JVM解析或编译运行
    • (1)解析:.class文件经过JVM内嵌的解析器解析执行
    • (2)编译:存在JIT编译器(Just In Time Compile 即时编译器)把经常运行的代码作为"热点代码"编译与本地平台相关的机器码,并进行 各种层次的优化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值