博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JVM讲解
阅读量:4519 次
发布时间:2019-06-08

本文共 1020 字,大约阅读时间需要 3 分钟。

JVM

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

       引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言只需生成在Java虚拟机上运行的目标代码

                (),就可以在多种平台上不加修改地运行。————摘自百度百科

 

  Java虚拟机将.java文件编译成.class文件,然后使用类加载器将类加载到内存当中。由于cpu不能够直接解释.class,因此虚拟机需要将class文件编译成本地代码,让cpu能够直接运行和处理的。

 

JVM结构图如下:

  

  类加载系统:classLoader 从文件系统加载class信息,加载的类信息保存在方法去的内存空间,方法去可能还会存放运行常量的信息,包括字符串常量和 数字常量

  方法区:存放变量,方法和静态变量
  java堆:在虚拟机启动时就启动了,java程序主要使用堆,存放对象信息
  直接内存:在java堆外,频繁
  垃圾回收机制:对以上三个可进行回收。隐式的释放内存
  java栈:每一个java虚拟机线程都有一个私有的java栈,一个线程的java栈在下称创建时被创建,java栈中保存着帧信息,保存局部变量,方法参数,同时和java方法的调用和返回值相关
  本地方法栈:本地方法的调用
  PC寄存器:每一个线程私有的空间

 

  JVM堆结构:

  分代策略:新生代(回收效率高)、老年代(低)和永久代(更低) 区域划分
  为了提高对象内存分配和垃圾回收的效率 碎片
  hosspot的概念

       新生代:eden(70%-95%被回收) survior survior 超过十五次没被回收会进入from survior区

拓展:并不是太详细,以后会慢慢补全的

  JVM垃圾回收算法及收集器

    引用计数法: +1 -1问题 对象引用计数器
    复制算法:
    标记清除法:碎片
    标记整理算法:解决碎片问题,有序排序
      次收集器
      全收集器

      很多公司都有自己的虚拟机

 

转载于:https://www.cnblogs.com/l-x-x-y-d-j/p/11333411.html

你可能感兴趣的文章
搭建ntp时间服务器 ntp - (Network Time Protocol)
查看>>
35. Search Insert Position
查看>>
awk使用
查看>>
ASP.NET Razor 视图引擎编程参考
查看>>
Vue 基础篇
查看>>
malloc_free_new_delete
查看>>
Python中的open和codecs.open
查看>>
开发Servlet的方法(2)
查看>>
asp.net mvc 伪静态添加
查看>>
\Process(sqlservr)\% Processor Time 计数器飙高
查看>>
ServletConfig讲解
查看>>
struts2配置默认Action
查看>>
EA类图与代码同步
查看>>
Spring集成MyBatis01 【推荐使用】、springMVC中文乱码和json转换问题
查看>>
Android Studio 智能感知无效
查看>>
vs2005/vs2008 快捷键【转】
查看>>
javascript 日常
查看>>
Android打开相机进行人脸识别,使用虹软人脸识别引擎
查看>>
打印沙漏
查看>>
腾讯物联TencentOS tiny上云初探
查看>>