美文网首页java开发
Java防止内存泄露

Java防止内存泄露

作者: DragonRat | 来源:发表于2021-02-24 09:59 被阅读0次

    启用JMS进行监控采集数据

    java -Dcom.sun.management.jmxremote.port=9998 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dspring.profiles.active=dev -jar xxx.jar 
    
    

    使用JDK的工具进行分析

    1. jstat
    2. jmap
    3. jconsole
    4. jvisualVM (强烈推荐

    应用层面防止内存泄露

    1. 对流操作的操作结束的时候需要关闭
    2. 对象交由spring创建,生命周期交由spring来接管
    3. 关于加密功能内存泄露的解决方式:
    //声明bouncyCastleProvider
    private static BouncyCastleProvider bouncyCastleProvider = new BouncyCastleProvider();
    
    //add的时候直接添加
    Security.addProvider(bouncyCastleProvider);
    
    //反例,使用new BouncyCastleProvider() 会不断创建新的对象jvm无法回收导致OOM
    Security.addProvider(new BouncyCastleProvider());
    

    相关文章

      网友评论

        本文标题:Java防止内存泄露

        本文链接:https://www.haomeiwen.com/subject/kvwjfltx.html