zoukankan      html  css  js  c++  java
  • Java VM(虚拟机) 参数

    • -XX:PermSize/-XX:MaxPermSize,永久代内存;

    1. 虚拟机参数:-ea,支持 assert 断言关键字

    eclipse 默认是不开启此参数的,也就是虽然编译器支持 assert 关键字,但并不起作用,需要为虚拟机的默认参数中增加此配置选项:

    • 【Window】⇒ 【Preferences】⇒ 【Java】⇒ 【Installed JREs】
    • 右侧对点中待配置参数的JREs,对其进行编辑:

    如下图所示:



    2. Java 堆溢出

    Java 堆用于存储对象实例(new),因此只要不断地创建对象,且保证 GC Roots 到对象之间有可达路径以避免垃圾回收机制清除这些对象,那么对象数量到达最大堆(-Xmx)的容量限制后,就会产生内存溢出异常:

    • 限制 Java 堆的大小为 20M,且不可扩展:-Xms20m -Xmx20m
      • 将最小值 -Xms 参数与最大值 -Xmx 参数设置为一样便可避免 Java 堆的自动拓展;
    • -XX:+HeapDumpOnOutOfMemoryError,可让虚拟机在出现内存溢出异常时,Dump 出当前的内存堆转储快照以便进行定位分析:
    /**
    * VM args:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError
    */
    public class HeapOOM {
        static class OOMObject {
        }
        public static void main(String[] args) {
            List<OOMObject> list = new ArrayList<OOMObject>();
            int counter = 0;
            while (true) {
                list.add(new OOMObject());
                System.out.println("counter = " + (++counter));
            }
        }
    }

  • 相关阅读:
    业务逻辑安全之登陆认证模块
    linux下的tcpdump
    wirshark使用(二)
    wirshark 使用(一)
    MVC框架的代码审计小教程
    记一次发卡网代码审计
    HTML知识点(一)
    jQuery基础、效果和事件
    Ajax知识(二)
    jQueryHTML和插件、display和overflow和visibility的区别
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421060.html
Copyright © 2011-2022 走看看