jvm的原理

原创 2016年08月28日 23:01:26

1.什么是jvm

  JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

    Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。

   从Java平台的逻辑结构上来看,我们可以从下图来了解JVM:

技术分享

2.jvm的工作流程

JVM 由类加载器子系统、运行时数据区、执行引擎以及本地方法接口组成。

JVM执行程序的过程 :

I.加载。class文件

II.管理并分配内存

III.执行垃圾收集

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


3、JVM的运行原理:

JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种基于下层的操作系统和硬件平台并利用软件方法来实现的抽象的计算机,可以在上面执行java的字节码程序。java编译器只需面向JVM,生成JVM能理解的代码或字节码文件。Java源文件经编译器,编译成字节码程序,通过JVM将每一条指令翻译成不同平台机器码,通过特定平台运行。

关于JVM内存管理的一些建议

1、手动将生成的无用对象,中间对象置为null,加快内存回收。

2、对象池技术如果生成的对象是可重用的对象,只是其中的属性不同时,可以考虑采用对象池来较少对象的生成。如果有空闲的对象就从对象池中取出使用,没有再生成新的对象,大大提高了对象的复用率。

3、JVM调优通过配置JVM的参数来提高垃圾回收的速度,如果在没有出现内存泄露且上面两种办法都不能保证JVM内存回收时,可以考虑采用JVM调优的方式来解决,不过一定要经过实体机的长期测试,因为不同的参数可能引起不同的效果。如-Xnoclassgc参数等。



java中JVM的原理

一、java虚拟机的生命周期:   Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。你在同一台机器上运行三个...
  • WitsMakeMen
  • WitsMakeMen
  • 2014年06月05日 10:50
  • 117952

浅谈JVM及原理

1、什么是JVM ? JVM, 中文名是Java虚拟机, 正如它的名字, 是一个虚拟机器,来模拟通用的物理机。 JVM是一个标准,一套规范,  规定了.class文件在其内部运行的相关标准和规范。 ...
  • weiguolong0306
  • weiguolong0306
  • 2017年03月04日 15:54
  • 2462

JVM工作原理和特点(一些二逼的逼神面试官会问的问题)

作为一种阅读的方式了解下jvm的工作原理 ps:(一些二逼的逼神面试官会问的问题) JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步...
  • gaowenhui2008
  • gaowenhui2008
  • 2015年06月25日 16:27
  • 7240

JVM运行原理详解

说起Java,我们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关...
  • Luomingkui1109
  • Luomingkui1109
  • 2017年05月31日 15:01
  • 863

JVM原理和优化

转自:http://blog.csdn.net/cnhzgb/article/details/7179419 = GC 基础 ===================== JAVA堆的描述如下...
  • ning109314
  • ning109314
  • 2013年08月27日 18:04
  • 173693

JVM原理讲解和调优

一、什么是JVM     JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计...
  • hjxgood
  • hjxgood
  • 2016年12月27日 15:56
  • 2043

JVM原理及底层探索

JVM是Java程序运行的环境,但是他同时也是一个操作系统的一个应用程序的一个进程,因此JVM也有他自己的运行生命周期,也有自己的代码和数据空间。 JDK JDK在Java的整个体系中充当一个生产...
  • Iohboel
  • Iohboel
  • 2016年04月13日 20:27
  • 1022

JVM的底层实现原理

JVM是Java程序运行的环境,但是他同时也是一个操作系统的一个应用程序的一个进程,因此JVM也有他自己的运行生命周期,也有自己的代码和数据空间。 JDK JDK在Java的整个体系中充当...
  • fangqun663775
  • fangqun663775
  • 2017年01月16日 17:31
  • 2118

Java中什么是JVM及其工作原理?

JVM是Java程序运行的平台,它就像一台虚拟出来的计算机一样,负责执行Java编译好的字节码文件。JVM具有非常严格的实现规范,大多数操作系统都可以安装JVM,为Java语言的跨平台性起到了关键的作...
  • huangjing8203
  • huangjing8203
  • 2017年05月17日 16:28
  • 467

Java Jvm运行机制原理

一:简介在学习Java虚拟机之前,也就是Jvm之前,我想大家能够带着问题去学习,这样的话,大家学习起来也会比较有所获! 1.Java虚拟机(Jvm)是什么? 2.Java虚拟机是用来干什么的? 3...
  • u011546655
  • u011546655
  • 2016年08月10日 19:38
  • 19177
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jvm的原理
举报原因:
原因补充:

(最多只允许输入30个字)