JAVA程序的运行机制(JVM,JRE,JDK)

JAVA的特性和优势

简单性

java语言是C++语法的纯净版.指的就是将C++语言的一些内容去掉.java语言没有头文件,指针运算,结构,操作符重载等等;

多线程

多线程的使用可以带来更好的交互响应和实时行为。多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。

安全性

java适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使得java可以构建防病毒,防篡改的系统;

健壮性

java是一种健壮的语言,吸收了C++语言的优点,但去掉了其影响程序健壮性的部分(指针,内存的申请和释放);java程序不可能造成计算机崩溃.java系统每次仔细检测对内存的每次访问,确认它是合法的,而且不致引起任何问题.即使Java程序可能有错误。如果出现某种出乎意料之事,程序也不会崩溃,而是把该异常抛出,再通过异常处理机制加以处理。

面向对象

面向对象是一种程序设计技术,非常适合大型软件的设计.开发它将重点放在数据(即对象)和对象之间的接口上.;

可移植性(跨平台性):核心优势

平台: 对于java程序来说,平台指的是操作系统;
目前的操作系统: Windows系统,Mac系统,Linux系统;
跨平台: 跨平台就是指java程序可以在任意操作系统上运行;
跨平台原理: 在不同的操作系统当中,安装一个与操作系统对应的java虚拟机(JVM)即可;

JVM,JRE和JDK

JAVA程序开发的三个步骤: 编写代码,编译代码和运行代码;
JVM,JRE和JDK的作用:
编写代码的时候,需要使用JRE中java写好的代码;
编译代码的过程中,需要使用JDK中的翻译工具;
运行代码的过程中,需要使用JDK中的运行工具;
代码需要运行在JVM中.

JVM

(JVM:可以理解成一个虚拟的用于执行字节码的的虚拟计算机)
JVM: 就是java虚拟机;它只认识 类名.class这种类型的文件(字节码文件);它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。

JRE

JRE是java程序的运行时环境,包含JVM和运行时所需要的核心类库;
核心类库: java已经写好的核心代码;

JDK

JDK: 是java程序开发工具包;包含JRE和开发人员使用的工具;
开发工具: 编译工具(javac.exe)和运行工具(java.exe);

JAVA的运行机制

java的运行机制:计算机高级编程语言类型有:编译型和解释型;java语言是这两种类型的结合.
利用编辑器编写java程序–源文件扩展名: 主类名.java,利用编译器(javac)将源程序编译成字节码文件—字节码文件名: 源文件名.class;再利用虚拟机(也叫解释器,java)解释执行,运行过程: 加载,代码校验,解释执行;
java源文件(Ajava)----(java源文件无法被java虚拟机所识别执行)---->JVM
解决方案: 将其翻译为JVM能够直接识别并执行的文件;
如何实现? 使用java提供在JDK中的编译工具;
java源文件(A.java)------->字节码文件(A.class)-----使用JDK的运行工具---->JVM运行代码;
java运行环境的三项主要功能: 加载代码,校验代码和执行代码;
加载代码: class loader完成;
校验代码: bytecode verifier完成;
执行代码: runtime interpreter完成;
JAVA运行环境流程

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值