JVM

java虚拟机(Java Virtual Machine)
JVM可以实现java程序的夸平台运行,即运行的操作平台各不相同

JVM基本原理

java运行机制

编译型语言(如C、C++)

源文件 -- 编译器--> 可执行文件
运行可执行文件 --> 机器指令

解释型语言(javascript 、perl)

文本文件 ---解释器-> 直接翻译成机器指令

先编译,后解释(java)

.java源文件 -- 编译 --> .class字节码文件 (字节码)– jvm解释执行 --> 真正的机器指令
Write Once , Run Anywhere(一次编写到处运行)

JDK

JDK(Java Development Kit)称为java开发包,是java语言的开发工具包(SDK),是面向开发者的工具套件。

javac:Java编译器,将java源代码文件转换成.class字节码文件
java:java解释器,直接解释执行java字节码文件
javadoc:根据java源文件及文档说明生成HTML文档
javap:java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节码含义
appletviewer:小应用程序浏览器,一种执行HTML文件上的Java应用小程序的Java浏览器,即Applet 
jdb:Java调试器,可以逐行执行程序,设置断点和检查变量
javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件

JDK、JRE、JVM关系图

Java运行机制及相关术语的更多相关文章

  1. Java入土---Java运行机制及IDEA的安装使用

    Java运行机制及IDEA的安装使用 java程序运行机制 计算机高级语言分为编译型语言跟解释型语言,而java同时具有两者的特点. 可能对于新手来说,什么是编译,什么是解释; 简单来说,编译就是将代 ...

  2. 关于Java运行机制

    目录 编译型语言与解释型语言的区别 编译型语言 解释型语言 细数两者之差别 Java的奇怪之处 Java的编译 Java的解释 具体机制 Java既是编译型语言,也是解释型语言. 首先先查找关于两种语 ...

  3. JAVA运行机制

    这一篇我们来简单理解一下JAVA的运行机制 大概可以分为三大部分 1.编写程序 2.编译程序 3.运行程序 1.编写程序 编写程序就是我们前面说的源代码 这些源代码都有特殊的语法 例如main函数 他 ...

  4. HelloWorld与java运行机制

    HelloWorld 新建文件夹存放代码 新建一个java文件 文件后缀为.java Hello.java 注意文件拓展名改为java文件 编写代码 public class Hello{ #类名 p ...

  5. java运行机制、Jdk版本及Java环境变量

    一.语言特性 计算机高级语言按程序的执行方式可分为:编译型和解释型两种.编译型的语言是指使用专门的编译器,针对特定的平台(操作系统)一次性翻译成被该平台硬件执行的机器码,并包装成该平台可执行性程序文件 ...

  6. 基础知识《零》---Java程序运行机制及运行过程

    Java运行机制 Java虚拟机(Java Virtual Machine):Java虚拟机可以理解成一个以字节码为机器指令的CPU:对于不同的运行平台,有不同的虚拟机:Java虚拟机机制屏蔽了底层运 ...

  7. Java基础介绍运行机制笔记

    1. 基础知识点图解 编程语言核心结构:变量.基本语法.分支.循环.数组.…… Java面向对象的核心逻辑:OOP.封装.继承.多态.接口…… 开发Java SE高级应用程序:异常.集合.I/O.多线 ...

  8. java的运行机制及初步相关配置(jdk)

    java的运行机制: 计算机高级语言的类型主要有编译型和解释型两种,而java语言是两种类型的结合. java首先利用文本编译器编写java源程序,源文件的后缀名为.java:再利用编译器(javac ...

  9. 谈谈java的运行机制

    1.高级语言的运行机制 我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的 ...

随机推荐

  1. 使用esp32-Arduino+PubSubClient+mqtt 上传数据到中移动OneNet

    使用esp32-doit-dev-v1开发板,测试mqtt协议, 发布(publish)到onenet 平台.注意:1.使用的mqtt arduino 客户端是 pubsubclient 库.其默认是 ...

  2. Linux系统之ssh命令

    ssh命令用于远程登录上Linux主机. 常用格式:ssh [-l login_name] [-p port] [user@]hostname更详细的可以用ssh -h查看. 不指定用户: ssh 1 ...

  3. js 多张爆炸效果轮播图

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. P3172 [CQOI2015]选数(莫比乌斯反演)

    [题目链接] https://www.luogu.org/problemnew/show/P3172 [题解] https://www.luogu.org/blog/user29936/solutio ...

  5. Number Sequence (KMP第一次出现位置)

    Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], ...... , b[M] (1 <= M ...

  6. Socket 代码收藏

    class SocketHelper    {        public delegate void Uplistbox(string txt);        public Uplistbox u ...

  7. STL effectiv 条款7 复习 未完成

    该条款很好的解决了  容器中存放指针释放的问题,for_each函数调用可以参考自己的前面的博客 为什么会有这个条款呢 很多时候 我们将new过的指针存放到容器中,我们有时候错误的认为  容器对象析构 ...

  8. VC6.0开发中一些链接错误的解决方法

    (1)error LNK2001: unresolved external symbol _main 编号:LNK2001 直译:未解决的外部符号:_main. 错误分析:缺少main函数.看看mai ...

  9. python fork函数

    import os print('---父进程id:%s----'%(os.getpid())) pid=os.fork()#只能在liunx环境下执行 print('---%s---' % (os. ...

  10. git分布式的理解----简单服务端搭建

    Git是分布式的,并没有服务端跟客户端之分,所谓的服务端安装的其实也是git.Git支持四种协议,file,ssh,git,http.ssh是使用较多的,下面使用ssh搭建一个免密码登录的服务端. 1 ...