您的位置:首页 > 编程语言 > Java开发

小白Java笔记——运行机制

2017-11-22 21:21 204 查看
前言:本身脑子就不好使,将自己看到的大体记下来,以后逐渐熟悉了,重温方便修改。

java语言既有解释性,又有编译性。其程序需要先经过**编译**再**解释**。
一、高级语言的运行机制
程序执行方式可分为:编译型和解释型。
(一)编译型语言
优点:可以一次性编译成机器码,因此可以脱离开发环境独立运行,效率高;
缺点:与之对应的平台的移植性不好。
代表:c、c++、fortran、pascal等高级语言。
(二)解释性语言
优点:移植性好,只要提供特定平台的解释器,就可以跨平台使用;
缺点:当然了,用脚趾头想想就知道,肯定效率会低,因为每次运行都需要经过编译嘛。
代表:Ruby、Python等语言。
(三)伪编译型
如Visual Basic暂不详记。
二、Java运行机制
前面提过一嘴,Java语言需要经过编译,但并不是编译成机器码,而是与平台无关的字节码*.class;然后必须经过Java解释器进行解释。
so,Java语言既是编译型语言,也是解释型语言。就像混血儿有木有。。。
过程简单画了一下:
![java运行机制](https://img-blog.csdn.net/20171122213049600?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTHVuYXRpY19mZWk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
同时解释一下JVM,他的作用是让相同的字节码可以在不同平台运行,其实就是充当了转换器。他是一个抽象的计算机,据哟指令集并使用不同的存储区域。负责执行指令,还要管理数据、内存和寄存器。
JVM被具体定义了一下细节,具体以后再详细记录:
1.指令集2.寄存器3.类文件的格式4.栈5.垃圾回收堆6.存储区
(其实就像单反,为了省钱买了一个没牌子的镜头,想要可以装在佳能和尼康的机子上就需要再买转接环,字节码就是镜头,JVM就是转接环喽。)


关于跨平台的具体解释:跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不依赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。(来自百度百科)

关于可移植性的具体解释:可移植性是软件质量之一,良好的可移植性可以提高软件的生命周期。代码的可移植性主题是软件;可移植性是软件产品的一种能力属性,其行为表现为一种程度,而表现出来的程度与环境1密切相关。(注1:环境包括软件环境,硬件环境和系统的组织环境)。软件可移植性指与软件从某一环境转移到另一环境下的难易程度。(来自百度百科)

以上内容包括之后的“小白Java笔记”系列都学习自《疯狂Java讲义》,不再一一赘述了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 语言