• java-jvm jmm volatile篇


    1、jvm模型  jvm线程私有 栈(每个方法执行时都会创建一个栈针)、本地方法栈、程序计数器(程序执行的下一条执行),线程共享 堆(实例对象和数组)、方法区(类、常量、静态变量)

    2、 jvm gc 回收算法 (1)标记-清除 算法(缺点:效率不高,会产生内存碎片),(2) 复制算法(将空间划分为2分,缺点是空间利用率低下,改进方法分为8:1:1,一个Eden两个Survivor)

          (3)标记-整理算  (4) 分代回收 (新生代和老年代)  jdk8以前是cms(物理分为年轻代和老年代),8以后是g1(划分为Region,逻辑上分为年轻代和老年代)

    jvm 类加载机制  java文件通过java编译器编译成.class文件,类加载器将.class文件加载到jvm中,类加载就是将.class文件的二进制数据读入到内存中,

    jvm 性能调优

    2、java内存模型 read(从主内存中读出) load(load到工作内存) use(工作内存取出到线程) assgin(从线程assgin到工作内存) store(从工作内存中store) write(写入到主内存中)

    3、volatile 保证 可见性和有序性,可以防止指令重拍  happens-before原则 内存屏障

    4、jvm内存状况分析 jstat -compiler 7568

    5、jconsole   jconsole 5396

  • 相关阅读:
    OS X EI Capitan 安装mysql-5.7.9
    CAS SSO
    单点登录SSO
    videojs 视频开发API
    NodeJS无所不能:细数10个令人惊讶的NodeJS开源项目
    程序员使用Node的十个技巧
    pdf 回退快捷键
    公式神器 Mathpix Snip 比mathtype快
    AI studio 尝试
    tmux 使用
  • 原文地址:https://www.cnblogs.com/honghong75042/p/13381572.html
Copyright © 2020-2023  润新知