认识程序的执行:从高级语言到二进制,以java为例
java 高级编程语言,面向对象
*.java是源码文件
*.class是字节码文件,一种中间文件。
JDK包含的基本组件包括:
- javac – 编译器,将源程序转成字节码
- jar – 打包工具,将相关的类文件打包成一个文件
- javadoc – 文档生成器,从源码注释中提取文档
- jdb – debugger,查错工具
- java – 运行编译后的java程序(.class后缀的)
- appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
- Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
- Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
- Jconsole: Java进行系统调试和监控的工具
JVM 是java的虚拟机
JDK 是Java开发工具包(Java Development Kit)的缩写。它是一种用于构建在Java平台上发布的应用程序、applet和组件的开发环境。
JDK是一切java应用程序的基础,所有的java应用程序是构建在这个之上的。它是一组API,也可以说是一些java Class。
如:jdk包含编译器,编译器就一个文件javac.exe
java编译器:将java源文件(.java文件)编译成字节码文件(.class文件,是特殊的二进制文件,二进制字节码文件),这种字节码就是JVM的“机器语言”。javac.exe可以简单看成是Java编译器。
Java解释器:是JVM的一部分。java解释器用来解释执行java编译器编译后的程序。java.exe可以简单看成是Java解释器。
一图全解:

认识程序的执行:从高级语言到二进制,以java为例的更多相关文章
- C程序编译执行过程
C程序编译执行过程 认识C编译执行过程,是C学习的开端. 简单说C语言从编码编译到执行要经历一下过程: C源代码 编译---->形成目标代码,目标代码是在目标机器上运行的代码. 连接-- ...
- Python程序的执行原理(转载)
Python程序的执行原理 2013-09-17 10:35 佚名 tech.uc 1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令 ...
- Python程序的执行过程原理(解释型语言和编译型语言)
Python是一门解释型语言?我初学Python时,听到的关于Python的第一句话就是Python是一门解释型语言,我就这样一直相信下去,直到发现.pyc文件的存在,如果真是解释型语言,那么生成的. ...
- Python程序的执行过程 解释型语言和编译型语言
转载地址:http://blog.csdn.net/lujiandong1/article/details/50067655 1. Python是一门解释型语言? 我初学Python时,听到的关于Py ...
- Python程序的执行原理
1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行. 2. 字节码 字节码在Python虚拟机程序里对应的是PyCo ...
- 说说Python程序的执行过程
1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言, ...
- Python程序的执行原理(转)
1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行. 2. 字节码 字节码在Python虚拟机程序里对应的是PyCo ...
- 3-1Java程序的执行流程
3-1Java程序的执行流程 用记事本写一个简单的程序 存到:E:\java路径下 class HelloImooc{ public static void main(String[] agrg ...
- Python程序的执行过程
1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在.如果是解释型语言, ...
- 003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程
003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程 Java程序长啥样? 首先编写一个Java程序 记事本编写程序 打开记事本 1.wi ...
随机推荐
- Python encode() 方法(转)
转自:http://www.cnblogs.com/wushuaishuai/p/7686290.html 描述 encode() 方法以指定的编码格式编码字符串,默认编码为 'utf-8'. 对应的 ...
- Linux目录详细说明大全(推荐)
Linux目录详细说明大全,方便你以后合理规划及管理 "/" : 根目录Linux文件系统的入口.也是最高级,最重要的的目录.除衍生出其它目录,还和系统的开机,还原,系统修复有的, ...
- Android实现电话录音功能
需求分析 电话录音是在通话的时候进行录音,所以需要使用一个服务来完成功能. 需要监听电话的状态,分为三种状态: 空闲状态 TelephonyManager.CALL_STATE_IDLE 响铃状态 ...
- linux 斜杠/
inux OS: 使用”/“ 例子:/home/user/XXX 特例:路径中某目录名包含空格,在命令行中使用cd等命令书写路径时,则要在空格前加”\“ 例子: 主目录(/home/student ...
- 如何使用ABBYY FineReader 12将JPEG文件转换成可编辑文本
日常工作中,经常会收到一些JPEG格式的图像文件,有时候还需要做一些修改,可是大家都知道JPEG格式的文件是无法修改的,必须转换成可编辑的格式,当然,现在市场上也应用而生了很多转换工具,相信大家都听说 ...
- 16解释器模式Interpreter
一.什么是解释器模式 Interpreter模式也叫解释器模式,是行为模式之一,它 是一种特殊的设计模式,它建立一个解释器,对于特定 的计算机程序设计语言,用来解释预先定义的文法.简 单地说,Inte ...
- solus 系统 - 怎么使用中文输入法?
系统默认使用 ibus 输入法框架. 可以安装 ibus-libpinyin $ sudo eopkg install ibus-libpinyin 安装好之后需要初始化 ibus-setup $ i ...
- Spark RDD Action 简单用例(二)
foreach(f: T => Unit) 对RDD的所有元素应用f函数进行处理,f无返回值./** * Applies a function f to all elements of this ...
- WPF使用Canvas绘制可变矩形
1.问题以及解决办法 最近因为项目需要,需要实现一个位置校对的功能,大致的需求如下:有一个图片,有一些位置信息,但是位置信息可能和实际有些偏差,需要做简单调整,后面会对这张图片进行切割等,做些处理.( ...
- Nordic NRF51822 从零开始系列(外部设备片—MPU6050DMP驱动的移植)
一.硬件准备 (1)开发板和软件参看 Nordic NRF51822 从零开始系列(一)开发环境的搭建 (2)mpu6050模块 二.前置知识 ...