zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    php 导出csv文件
    dns 服务器配置
    ettercap ARP dns 欺骗
    for循环内 执行$ajax(){}
    js 如何生成二维数组
    jquery读取csv文件并用json格式输出
    echo 换行
    cmd命令运行php,php通过cmd运行文件
    Git 常用命令整理
    图像裁剪插件
  • 原文地址:https://www.cnblogs.com/honghong75042/p/13381572.html
Copyright © 2011-2022 走看看