没有合适的资源?快使用搜索试试~ 我知道了~
首页疯狂JAVA之学习笔记(1--15)
疯狂JAVA之学习笔记(1--15)
需积分: 10 99 浏览量
更新于2023-05-29
评论
收藏 1.65MB DOCX 举报
疯狂JAVA之学习笔记(1--15)疯狂JAVA之学习笔记(1--15)
资源详情
资源评论
资源推荐

疯狂 JAVA 之学习笔记(1)-------------Java 运行
机制及 JVM
年 月 日
阅读数:
疯狂 之学习笔记() 运行机
制及
理论篇:
程序运行机制:
语言是一种特殊的高级语言,既有解释性语言的特征,也
有编译语言的特征,
程序经过先编译后翻译两个步骤。
计算机高级语言按程序的执行方式分为编译型和解释型两种。
计算机不能直接理解任何除机器语言以外的语言,所以必须要
把程序员所写的程序语言翻译成机器语言,计算机才能执行程
序。将其他语言翻译成机器语言的工具,被称为编译器。
解释性语言:解释性语言编写的程序不进行预先编译,以文本
方式存储程序代码。在发布程序时,看起来省了道编译工序。
但是,在运行程序的时候,解释性语言必须先解释再运行。比
如解释性 语言,其专用的解释器在执行 程序时,
会逐条读取解释每个语句,这个其实就是一个编译过程,然后
再执行。一般来说,现有的解释性语言都是采用的逐行解释一

句,执行一句这样的方式来构建的。这样解释性语言每执行一
次就要翻译一次,效率比较低。
编译型语言:程序在执行之前需要一个专门的编译过程,把程
序编译成 为机器语言的文件,运行时不需要重新翻译,直接使
用编译的结果就行了。程序执行效率高,依赖编译器,跨平台
性差些。如 、、 等
运行编译型语言是相对于解释型语言存在的,编译型语言的首
先将源代码编译生成机器语言,再由机器运行机器码(二进
制)。像 等都是编译型语言
而相对的解释性语言编写的程序不进行预先编译,以文本方式
存储程序代码。在发布程序时,看起来省了道编译工序。但是,
在运行程序的时候,解释性语言必须先解释再运行
编译型与解释型,两者各有利弊。前者由于程序执行速度快,
同等条件下对系统要求较低,因此像开发操作系统、大型应用
程序、数据库系统等时都采用它,像 、 !"
()等都是编译语言,而一些网页脚本、服务器
脚本及辅助开发接口这样的对速度要求不高、对不同系统平台
间的兼容性有一定要求的程序则通常使用解释性语言,如
#$"、#$"、$、%"&'、() %、*+,等
等。
但随着硬件的升级和设计思想的变革,编译型和解释型语言越
来越笼统,主要体现在一些新兴的高级语言上,而解释型语言

的自身特点也使得编译器厂商愿意花费更多成本来优化解释器,
解释型语言性能超过编译型语言也是必然的。
-
程序的运行机制和
语言比较特殊》
程序经过编译生成机器码,与平台无关的字
节码文件./01 文件2由 解释器执行。

所以 既是编译型语言又是解释型语言。
语言里负责解释执行字节码文件的是 虚拟机,即
(,$"),')
, 虚拟机()一种用于计算机设备的规范,可用
不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与
编译微处理器的指令集非常类似。 虚拟机包括一套字节码
指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方
法域。
虚拟机()是可运行 代码的假想计算机。只要根
据 规格描述将解释器移植到特定的计算机上,就能保证经
过编译的任何 代码能够在该系统上运行。
虚拟机是一个想象中的机器,在实际的计算机上通过软件
模拟来实现。 虚拟机有自己想象中的硬件,如处理器、堆
栈、寄存器等,还具有相应的指令系统。
, 虚拟机()一种用于计算机设备的规范,可用
不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与
编译微处理器的指令集非常类似。 虚拟机包括一套字节码
指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方
法域。
虚拟机()是可运行 代码的假想计算机。只要根
据 规格描述将解释器移植到特定的计算机上,就能保证经
过编译的任何 代码能够在该系统上运行。
虚拟机是一个想象中的机器,在实际的计算机上通过软件
模拟来实现。 虚拟机有自己想象中的硬件,如处理器、堆
栈、寄存器等,还具有相应的指令系统。
细节

的设计目标是提供一个基于抽象规格描述的计算机模型,
为解释程序开发人员提范的任何系统上运行。
对其实现的某些方面给出了具体的定义,特别是对 可
执行代码,即字节码(%"&3)的格式给出了明确的规格。
这一规格包括操作码和操作数的语法和数值、标识符的数值表
示方式、以及 类文件中的 对象、常量缓冲池在
的存储映象。
这些定义为 解释器开发人员提供了所需的信息和开发环境。
的设计者希望给开发人员以随心所欲使用 的自由。
定义了控制 代码解释执行和具体实现的五种规格,它
们是:
0 指令系统
0 寄存器
0 栈结构
0 碎片回收堆
0 存储区
转载自:"" &413'1'")5$"3"6
个人分类: 【疯狂的 !】
所属专栏: 我的 ! 笔记
疯狂 之学习笔记() 的开发准
备及环境配置
(本篇帖子为初学者写的!)
Java 简介:
剩余63页未读,继续阅读









安全验证
文档复制为VIP权益,开通VIP直接复制

评论0