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

  • 相关阅读:
    偏倚有感
    SAS--修改默认语言
    SAS--EXCEL读写、批量读EXCEL
    SAS--sql2
    Day2----respondToValue
    python的一些遗漏用法
    一些常见的东西
    爬虫学习06用selenium爬取空间
    爬虫学习04.
    爬虫学习03常用模块
  • 原文地址:https://www.cnblogs.com/honghong75042/p/13381572.html
Copyright © 2011-2022 走看看