初学java,遇到的陌生词语(1)

初学java,遇到的陌生词语(1)

字节码文件:不包含硬件信息,完全与硬件平台无关,因此,无法直接由操作系统来运行。

Java应用程序的执行过程:代码装入、代码检验、代码执行。

初学java,遇到的陌生词语(1)

1、代码装入:由类装配器完成,装入程序运行时所需的所有源代码(包含调用到的其他类),装入后该类被放在自己的命名空间。此时该类对其他类不再依赖,运行系统可以根据这些类,确定运行程序的内存布局;

2、代码检验:由字节码验证器进行安全检查,确保字节码正确无误;

3、代码执行:执行方式有两种。一是解析执行方式,通过“解释器”,将字节码翻译为要求平台的机器码,然后,传送到“运行支持器”的机器码被其送往硬件进行执行。执行过程一边编译,一边执行,称为解释执行。Java一般都采用这种方式;二是即使编译方式:代码生成器可以将字节码一次性的全部编译为适用于要求硬件平台的机器码,最后送往硬件进行执行。针对于对速度要求很高的程序,Java采用这种方式。

Java虚拟机(JVM):虚拟软件平台。为了能让编译生成的字节码更好的解释执行,通常将其划分为6个功能模块:JVM解释器、指令系统、寄存器、栈、存储区和碎片回收区。

JVM解释器:字节码转换成CPU执行的机器指令;

指令系统:与硬件计算机相似;

寄存器:4个常用的32位寄存器:pc(程序计数器)、optop(操作数栈顶指针)、frame(当前执行环境指针)、vars(执行第一个局部变量的指针);

栈:JVM栈是指令执行时数据和信息存储的场所和控制中心,它提供给JVM解释器运算所需的信息;

存储区:JVM存储区用于存储编译后的字节码信息,提供处理的原料;

碎片会收取:将使用后的Java类的具体实例从内存中进行回收,实现自动化释放内存。

JVM的运用让Java实现了“一次编译,处处运行”,它是整个运行系统的核心。

JDK:是Sun公司房补的免费的Java开发工具,有三个成员:J2EE、J2SE、J2ME;

J2EE:用于可扩展的企业级应用Java 2平台之上;

J2SE:用于工作站和PC机的Java标准平台之上;

J2SE:用于嵌入式消费电子平台之上。

若按其运行的操作系统划分:JDK分别有for Windows、for Linux、for Solaris和MacOS等不同版本。(JDK自身向下兼容)

 

转载于:https://www.cnblogs.com/zhangyixian-Blog/p/5645517.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108951.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu安装wget命令_macbook无法安装app

    ubuntu安装wget命令_macbook无法安装app有些时候,我们希望直接通过wget来下载文件。MacOS可以通过以下几种方式安装Wget:1、使用port命令sudoportinstallwget2、使用brew命令sudobrewinstallwget3、使用浏览器下载一个Wget的源码包,http://www.gnu.org/software/wget/打开终端解压,1)输入:tarzxvfwget-1.

    2022年10月16日
    2
  • WPF WrapPanel:自动折行面板「建议收藏」

    WPF WrapPanel:自动折行面板「建议收藏」WrapPanel:自动折行面板。内部元素在排满一行后能够自动折行,类似于Html中的流式布局WrapPanel布局面板将各个控件从左至右按照行或列的顺序罗列,当长度或高度不够时就会自动调整进行换行,后续排序按照从上至下或从右至左的顺序进行。常用的方法:1.Orientation——根据内容自动换行。当Orientation属性的值设置为Horizontal:元素是从左向右排列…

    2022年7月22日
    8
  • 排序二叉树的建立注意重复元素

    排序二叉树的建立注意重复元素think:1建立排序二叉树时注意重复元素sdut原题链接树结构练习——排序二叉树的中序遍历TimeLimit:1000MSMemoryLimit:65536KBProblemDescription在树结构中,有一种特殊的二叉树叫做排序二叉树,直观的理解就是——(1).每个节点中包含有一个关键值(2).任意一个节点的左子树(如果存在的话)的关键值小于该节点的关键值

    2022年7月25日
    11
  • Node脚手架编写初学者教程

    Node脚手架编写初学者教程

    2022年3月4日
    29
  • linux find命令的使用_linux打包命令tar

    linux find命令的使用_linux打包命令tarLinux中find命令是系统中查找文件的命令,可以帮助用户快速找出自己所需要的文件。通过文件名查找find-name文件名find/etc/-namepasswd###查找/etc目录下的passwd通过文件嵌套层数查找find-maxdepth层数###查找文件时最大层数find-mindepth层数###查找文件时最小层数12例;我们查找/etc中所有.conf文件,可以看…

    2022年10月9日
    2
  • 10.2 网页插入背景音乐「建议收藏」

    10.2 网页插入背景音乐「建议收藏」一、bgsound标签简介在网页中可以为某个网页设置背景音乐,使用的是bgsound标签。bgsound是用以插入背景音乐,但只适用于IE浏览器,在Firefox等中未必适用。语法:背景音乐的文件可以是avi、mp3等声音文件。“背景音乐的地址”可以是相对路径,也可以是绝对路径。强烈不推荐使用绝对路径。使用bgsound加入背景音乐与使用embed加入音频不一样,加入音频是有操

    2022年9月13日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号