Java体系和一些基本概念

本文介绍了Java虚拟机(JVM)、Java运行环境(JRE)和Java开发工具包(JDK)的区别与联系,阐述了Java代码如何编译为Class文件,并解释了Class文件的平台中立特性及其对于Java跨平台能力的重要性。

转自:http://www.cnblogs.com/gw811/archive/2012/10/18/2729490.html

这里写图片描述

  • JVM:Java Virtual Machine(Java虚拟机),负责执行符合规范的Class文件。
  • JRE: Java Runtime Environment (java运行环境),包含JVM和类库。
  • JDK: Java Development Kit(java开发工具包),包含JRE和开发工具包,例如javac、javah。

这里写图片描述

我们通常工作中所接触的基本是Java库和应用以及Java核心类库,知晓如何使用就可以了,但是归根结底代码都是要编译成class文件由Java虚拟机执行的,所产生的结果或者现象都可以通过Java虚拟机的运行机制来解释。一些相同的代码会由于虚拟机的实现不同而产生不同结果。

编译后被Java虚拟机所执行的代码使用了一种平台中立(不依赖于特定硬件及操作系统的)的二进制格式来表示,并且经常(但并非绝对)以文件的形式存储,因此这种格式被称为Class文件格式。Class文件格式中精确地定义了类与接口的表示形式,包括在平台相关的目标文件格式中一些细节上的惯例,例如字节序(Byte Ordering)等。

正如概念所说,Java为了能够实现平台无关性,制定了一套自己的二进制格式,并经常以文件的方式存储,称为Class文件。这样在不同平台上,只要都安装了Java虚拟机,那么都可以运行相同的Class文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值