• JVM虚拟机


    Java内存结构和java内存模型的区别。往往很多人会搞起来。这里主要对这2种进行解释并进行操作。经实践会JVM调优和不会JVM调优差别确实很大,足足可以提升服务器一倍的性能。

    java内存结构:所谓的堆,栈,方法区和本地方法栈

    java内存模型:

    image.png
    image.png
    image.png
    image.png
    image.png
    image.png

    这个堆栈分配在idea中设置的地方

    image.png
    新生代设置比较小的话,垃圾回收会频繁去回收,否则内存不够用,频繁回收又影响性能,不回收又会导致内存溢出,所以这个配比很关键
    
    一般设置虚拟机内存大小都是为当前PC的内存大小,新生代和老年代的内存比例是1:2,一般老年代都会多点,因为这样可以减少垃圾回收的次数,提高性能。初始堆内存和最大堆内存设置一样。
    
    
    内存溢出,有栈溢出和堆溢出,栈溢出就像下面的死循环,这个在栈当中申明的int最大只能到一定的数字
    
    image.png
    image.png
    总结:jvm参数调优,主要设置堆内存,主要让gc不要去频繁去回收垃圾,减少对老年代的回收。
    
    image.png

    这里题外介绍个知识点:什么叫守护线程

    gc线程就是守护线程:主线程挂了,gc线程也挂了
    非守护线程就是主线程挂了,但是new Thread依然在执行。
    如果要把非守护线程变成守护线程,需要使用join,例:new Thread().setDeamon();
    
    image.png

    接下来介绍几个垃圾回收机制的算法

    1.引用计算法

    image.png

    2.标记清除算法

    image.png

    3.复制算法。缺点是可用内存是原来内存的一半

    image.png

    4.标记压缩算法

    image.png

    5.GC分代算法

    就是根据新生代和老年代进行垃圾回收,一般新生代回收的较多,老年代回收的较少,所以应该要避免老年代的gc回收,老年代回收比较慢
    
    垃圾回收时的停顿现象
    每次gc回收的时候,其他所有线程都会停顿,如果不停顿的话,那又有可能使用对象,或者新增对象,不便于垃圾清理。
    
    
    垃圾收集器:
    串行回收---单线程(单核回收)
    并行回收---多线程(多核回收)  企业用的比较多,性能好
    CMS回收---并行GC,用标记清除算法进行回收,性能是最好的,一般用并行回收就可以了
    G1回收,是在jdk1.7提出来的,用的比较少
    

    测试接口吞吐量

    启动jmeter测试工具,压力测试工具,主要测试网站的吞吐量,就是每秒能被访问多少次


    image.png
    image.png
    image.png
    image.png
    image.png

    文末福利:

    福利一:前端,Java,产品经理,微信小程序,Python等10G资源合集大放送:jianshu.com/p/e8197d4d9

    福利二:微信小程序入门与实战全套详细视频教程。


    【领取方法】

    关注 【编程微刊】微信公众号:

    回复【小程序demo】一键领取130个微信小程序源码demo资源。

    回复【领取资源】一键领取前端,Java,产品经理,微信小程序,Python等资源合集10G资源大放送。



    作者:zhuyuansj
    链接:https://www.jianshu.com/p/11ee86a94cad
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    奇异值分解(SVD)与在降维中的应用
    拉格朗日乘子法&KKT条件
    有监督学习、无监督学习、半监督学习
    LSTM学习—Long Short Term Memory networks
    Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7+TensorFlow1.2.0环境搭建
    激活函数
    C基础学习笔记
    Hive
    Fragment跳转至Activity片段随笔
    冒泡排序和选择排序
  • 原文地址:https://www.cnblogs.com/wangting888/p/9701581.html
Copyright © 2020-2023  润新知