• JVM原理及GC


    1. JVM原理

      JVM简介:JVM, 中文名是Java虚拟机, 是一个虚拟的机器,用来模拟通用的物理机。 JVM是一个标准,一套规范,  规定了.class文件在其内部运行的相关标准和规范。

      类加载器:从JVM外部以二进制字节流的方式加载到JVM中。

      JVM本身有至少三种类加载器:BootStrapClassLoader(根类加载器,C++实现, 加载位于jre/lib/rt.jar)、ExtensionClassLoader(扩展类加载器, 主要用于加载jre/lib/ext/下的jar)、AppClassLoader(加载classpath环境变量所指定的class)

      JVM类加载机制:自下而上检测,自上而下加载

      注意:BootStrapClassLoader加载的类,getClassLoader()返回null

      类加载过程:加载、连接(验证、准备、解析)、初始化

      JVM运行时数据区:

        程序计数器:当前线程执行字节码指令的指示器

        虚拟机栈:和计数器一样,也是线程私有的,生命周期同线程一致。每个方法在执行时,都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接、方法出口等信息。

        本地第方法栈:此栈和JVM栈作用非常类似, 不同在于本地方法栈为虚拟机使用到的Native方法服务    

        Java堆:是JVM管理内存中最大的一块。被所有线程共享一块区域。堆是GC垃圾收集器管理的主要区域。

        方法区:用来存储已被虚拟机加载的类信息, 常量、静态变量、即时编译器编译后的代码等数据。

    2. GC垃圾收集

  • 相关阅读:
    Spring IOC知识点一网打尽
    Spring中-IOC-Bean的初始化-循环依赖的解决
    原型模式(Prototype)
    生成器模式
    工厂模式
    单例模式
    查询性能优化
    索引
    sql游标的使用入门
    js和C#中的编码和解码
  • 原文地址:https://www.cnblogs.com/wuan90/p/11242224.html
Copyright © 2020-2023  润新知