谈谈Java运行机制
转载地址:http://www.cnblogs.com/iwinson/p/6074885.html
1.高级语言的运行机制
我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序。
翻译,其实翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。
1.1编译型语言 (如C、C++、Objective-C)
使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性”翻译“成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行性程序的格式。
优点: 运行效率较高
缺点:编译生成的程序无法移植
1.2解释型语言 (如Ruby、Python)
使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行的语言。解释型语言通常不会整体性的编译和链接处理,解释型语言相当于把编译型语言中的编译和解释过程混合到一起同时完成。
优点:跨平台较容易
缺点:效率较低,不能脱离解释器独立运行
2.Java语言的运行机制
2.1Java是编译型和解释型语言的结合体。
①首先采用通用的java编译器将java源程序编译成为与平台无关的字节码文件(class文件)
②然后由java虚拟机(JVM)对字节码文件解释执行。
注意:java字节码具有平台无关性、可以在各种不同系统平台中运行,但是需要有不同版本的java虚拟机,不同系统平台的java运行环境其java虚拟机是不一样的。
2.2 JVM(Java Virtual Machine Java虚拟机)
2.3 ClassLoader
2.4JRE
2.5 JDK
转载于:https://www.cnblogs.com/xueqingtian/p/8342532.html
谈谈Java运行机制相关推荐
- 谈谈 Java 类加载机制
点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 来源:Rainstorm , github.com/c-rainstorm/blog/blob/m ...
- java运行机制以及 运行流程
目录 java运行机制以及运行流程 java运行机制以及运行流程 总结:先创建一个java后缀的文件,里面编写helloword 使用javac生成.class文件 在使用java 运行文件
- Java运行机制及相关术语
JVM java虚拟机(Java Virtual Machine) JVM可以实现java程序的夸平台运行,即运行的操作平台各不相同 JVM基本原理 java运行机制 编译型语言(如C.C++) 源文 ...
- 【零基础学Java】—Java运行机制(三)
[零基础学Java]-Java运行机制(三)
- java运行机制及运行过程
java运行机制及运行过程 JVM:java核心机制-java虚拟机(JVM java virtual machine) JDK:java开发工具包(java Development Kit) JRE ...
- [JAVA-2] JAVA运行机制和IDE下载
文章目录 JAVA运行机制和IDE下载 运行机制 IDEA安装和介绍 什么是IDE IDEA介绍 IDAE下载地址 IDEA破解安装 补充:千万别升级 IDEA的使用 创建HelloWorld为例 删 ...
- Java运行机制及运行组件
Java运行机制及运行过程 _.java文件编译(javac命令)为___.class字节码文件 在不同的操作系统的安装的jdk中包含的虚拟机(对于不同的系统也有不同的虚拟机)中运行.class字节码 ...
- java url路径包含中文_谈谈 Java 类加载机制
概述 类加载器主要分为两类,一类是 JDK 默认提供的,一类是用户自定义的. JDK 默认提供三种类加载器: Bootstrap ClassLoader 启动类加载器:每次执行 java 命令时都会使 ...
- java运行机制是什么_JAVA运行机制
这一篇我们来简单理解一下JAVA的运行机制 大概可以分为三大部分 1.编写程序 2.编译程序 3.运行程序 1.编写程序 编写程序就是我们前面说的源代码 这些源代码都有特殊的语法 例如main函数 他 ...
最新文章
- jquery实现心算练习
- 第二组视频:MySQL复制
- 在 Android 开发中使用 Kotlin 协程 (一) -- 初识 Kotlin 协程
- C#3.0 为我们带来什么(5) —— 匿名类型
- 卡迪夫大数据专业排名_大数据揭秘!英国名校哪些专业录取率低?申请人最多呢?...
- Swift - 多线程GCD详解
- 会计基础第二次模拟试题(1)
- PHP 代码简洁之道 ( PHP Clean Code)(第二部分)
- 系统编程__2__父子进程的创建和回收
- Excel2007快捷键大全
- android rmvb格式下载,rmvb移动播放器,rmvb播放器Android版本下载
- 寒假11:寂寞的数、连续正整数的和、学做菜
- 痛心!中兴程序员跳楼始末:或成其公司内部矛盾牺牲品
- Win7系统防火墙功能怎么彻底关闭教学
- 舆情监测平台都有哪些,舆情监测平台使用工作总结
- 一周新论文 | 2020年第12周 | 自然语言处理相关
- 爬取京东网站前后一星期的笔记本电脑信息并可视化
- android 地图方向北方,android 地图
- 人工智能会取代人类吗?
- 鹤林全集·怡情枫林 | 第一篇——岁末回首
热门文章
- 字段对应数组_字段不同的多个工作薄汇总? 还要固定字段位置 !难不倒我!...
- 简单linux蠕虫,清除Linux系统上的蠕虫程序Ramen
- list转map stream_advancedday10可变参数不可变集合及Stream流
- bitter matlab,两分钟英语自我介绍模板
- python的head函数_python – 是否有一个pandas函数来显示第一个/最后一个n列,如.head().tail()?...
- access 处理多少数据_access和excel的区别
- 趣谈网络协议笔记-二(第十八讲)
- 开发日记-20190817 关键词 Hello Unix
- Unbuntu 终端中使用Tab键不能自动补全
- BZOJ1688|二进制枚举子集| 状态压缩DP