JAVA和JVM运行原理揭秘

这里和大家简单分享一下JAVA和JVM运行的原理,Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行,而JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器

JAVA和JVM运行的原理

1.Java语言运行的过程

Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行。

也相当与

注:JVM(java虚拟机)包括解释器,不同的JDK虚拟机是相同的,解释器不同。

2.JVM:

JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序。

java编译器只要面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。

JVM执行程序的过程 :

I.加载。class文件

II.管理并分配内存

III.执行垃圾收集

JRE(java运行时环境)由JVM构造的java程序的运行环境

这里和大家简单分享一下JAVA和JVM运行的原理,Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行,而JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器

JAVA和JVM运行的原理

1.Java语言运行的过程

Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行。

也相当与

注:JVM(java虚拟机)包括解释器,不同的JDK虚拟机是相同的,解释器不同。

2.JVM:

JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序。

java编译器只要面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。

JVM执行程序的过程 :

I.加载。class文件

II.管理并分配内存

III.执行垃圾收集

JRE(java运行时环境)由JVM构造的java程序的运行环境


相关文章

  • Java多线程编程经典案例 1
  • Java 多线程编程经典案例诠释 2007-05-17 11:21:59 标签:java 多线程 [推送到技术圈] 版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任. Java 多线程编程总结 一.认识多任务.多进程.单线程. ...查看


  • Java多线程编程经典案例
  • 版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任. Java 多线程编程总结 一.认识多任务.多进程.单线程.多线程 要认识多线程就要从操作系统的原理说起. 以前古老的DOS 操作系统(V 6.22)是单任务的,还没有线程的概 ...查看


  • Java中的垃圾回收原理
  • Java中的垃圾回收原理 分类: java 2013-06-19 22:14 446人阅读 评论(2) 收藏 举报 目录(?)[+] 垃圾回收简介 用户程序(mutator)会修改还堆区中的对象集合,从存储管理器处获取空间,创建对象,还可一 ...查看


  • 别人经验--关于Object类理解(好)
  • Java  杂谈(三) 这已经笔者写的第三篇Java杂记了,庆幸前两篇一直得到论坛朋友们的支持鼓励,还望大家继续指正不足之处.笔者也一直渴望通过这样方式清醒的自审,来寻找自己技术上的不足之处,希望和共同爱好Java的同仁们一起提高. 前两次 ...查看


  • 如何判断 Java 工程师的基础知识是否扎实?
  • 抛开工作经验,项目经验,学历背景,单从技术点分析,哪些方面可以判断一人java程序员的技术扎实程度 本着理论结合实践的方法,我一般都不问上面这种纯知识和理论性问题,而是让他写一段程序来证明HashMap是线程不安全的.然后,再让改一下这个程 ...查看


  • 企业面试题集绵
  • (一) Java中有没有goto关键字? (二) 基本数据类型有哪些?String是不是基本数据类型? 基本数据类型:byte, char, short, int, long, float, double, boolean String不属 ...查看


  • WebSphere性能调优-垃圾收集器
  • 基于WebSphere 构建的企业应用,时常会出现性能问题,在严重的情况下还会提示出内存溢出,这是一件很让人恼怒的事情.在WebSphere Application Server(Was)运行的时候,内存溢出,会生成大量的溢出文件,如Jav ...查看


  • 借助HotSpot SA来一窥PermGen上的对象
  • (Disclaimer:如果需要转载请先与我联系: 作者:RednaxelaFX -> rednaxelafx.iteye.com) 接着与,今天也来介绍一个的(以下简称SA)的玩法例子. 昨天用SA把x86机器码反汇编到汇编代码,或 ...查看


  • 数据库系统基础知识
  • 第一章 数据库系统基础知识 第一节 数据库概述 一 数据 1. 定义:是一种物理符号序列,用来记录事物的情况. 2. 表示方法:用类型和值,不同的数据类型记录的事物性质是不一样的. 如:数值1,2,3...可以记录事物多少.年龄等. 二 信 ...查看


热门内容