• jvm性能调优的引用类型有哪一些?


    图灵学院  jvm性能调优的引用类型有哪一些?

    因为Java对象的大小是8的整数倍,所以基本类型包装器类的大小至少为16个字节。这种内存占用非常可怕,它使用的是基本类型的N倍(N>2),并且某些类型的内存占用甚至更加夸张(考虑一下)。因此,包装应尽可能少使用。在JDK5.0之后,由于增加了自动类型替换功能,因此在存储方面对Java虚拟机进行了优化。

    jvm性能调优

        对象引用类型分为强引用、软引用、弱引用和虚引用。

        强引用:也就是说,我们通常声明该对象是虚拟机生成的引用。在强引用环境中,有必要严格判断垃圾回收期间是否强烈引用了当前对象。如果它被强烈引用,则不会被垃圾回收

        软引用:软引用通常用作缓存。与强引用的区别在于,当对软引用进行垃圾回收时,虚拟机将根据当前系统的剩余内存确定是否回收软引用。如果剩余内存不足,虚拟机将回收软引用所引用的空间;如果剩余的内存相对丰富,则不会回收它。换句话说,当虚拟机中发生OutOfMemory时,必须没有软引用。

        弱引用:弱引用类似于软引用,因为它们都用作缓存。但是与软引用不同,弱引用肯定会在垃圾回收期间被回收,因此它们的生命周期仅存在于一个垃圾回收周期中。强引用不用说,我们的系统在使用时通常会使用强引用。“软引用”和“弱引用”相对较少。

        他们一般被作为缓存使用,而且一般是在内存大小比较受限的情况下做为缓存。因为如果内存足够大的话,可以直接使用强引用作为缓存即可,同时可控性更高。因而,他们常见的是被使用在桌面应用系统的缓存。

      如果你想了解更多关于java架构师的专业知识,可以一起交流:1160405674这里面都是同行,有资源分享包括但不限于(分布式架构、高可扩展、高性能、高并 发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。欢迎一到五年的工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

  • 相关阅读:
    Cookie和Session
    HTTP简介
    Python赋值与深浅拷贝
    Python装饰器探险
    Python操作MongoDB数据库
    MongoDB数据库基础
    python操作mysql数据库
    USACO2012 overplanting /// 矩阵切割 递归 oj21547
    USACO2007 The Bale Tower /// DFS oj21160
    USACO2012 Moo /// 模拟 oj21548
  • 原文地址:https://www.cnblogs.com/tulingxueyuan/p/14178276.html
Copyright © 2020-2023  润新知