什么网站算是h5做的网站流量统计分析
一 jvm的内存模型
2.1 jvm内存模型概览

二 实操案例
2.1 设置和查看栈大小
1.代码
/*** 演示栈中的异常:StackOverflowError** @author shkstart* @create 2020 下午 9:08** 设置栈的大小: -Xss   (-XX:ThreadStackSize)** -XX:+PrintFlagsFinal*/
public class StackErrorTest {private static int count = 1;public static void main(String[] args) {try {Thread.sleep(10000);} catch (InterruptedException e) {e.printStackTrace();}try {count++;main(args);}catch (Throwable e){System.out.println("递归的次数为:" + count);}}} 
2.设置

3.查看: jinfo -flag ThreadStackSize pid

2.2 查堆的大小
1.代码
package com.ljf.jvm.optimise.staick;/*** 1. 设置堆空间大小的参数* -Xms 用来设置堆空间(年轻代+老年代)的初始内存大小*      -X 是jvm的运行参数*      ms 是memory start* -Xmx 用来设置堆空间(年轻代+老年代)的最大内存大小** 2. 默认堆空间的大小*    初始内存大小:物理电脑内存大小 / 64*             最大内存大小:物理电脑内存大小 / 4* 3. 手动设置:-Xms600m -Xmx600m*     开发中建议将初始堆内存和最大的堆内存设置成相同的值。** 4. -XX:+PrintFlagsFinal** @create 2021  20:15*/
public class HeapSpaceInitial {public static void main(String[] args) {//返回Java虚拟机中的堆内存总量long initialMemory = Runtime.getRuntime().totalMemory() / 1024 / 1024;//返回Java虚拟机试图使用的最大堆内存量long maxMemory = Runtime.getRuntime().maxMemory() / 1024 / 1024;System.out.println("-Xms : " + initialMemory + "M");System.out.println("-Xmx : " + maxMemory + "M");//        System.out.println("系统内存大小为:" + initialMemory * 64.0 / 1024 + "G");
//        System.out.println("系统内存大小为:" + maxMemory * 4.0 / 1024 + "G");try {Thread.sleep(1000000);} catch (InterruptedException e) {e.printStackTrace();}}
}
 
2.查看

2.2 设置堆大小和日志输出
1.代码
/** 测试:大对象直接进入老年代* -Xms60m -Xmx60m -XX:NewRatio=2 -XX:SurvivorRatio=8 -XX:+PrintGCDetails* @create 2021  21:48*/
public class YoungOldAreaTest {public static void main(String[] args) {byte[] buffer = new byte[1024 * 1024 * 20];//20m}
}
 
 
2.进行设置: -Xms60m -Xmx60m -XX:NewRatio=2 -XX:SurvivorRatio=8 -XX:+PrintGCDetails

3.输出日志

2.3 设置元空间的大小与日志输出
1.代码
package com.atguigu.methodarea;/*** 结论:* 静态引用对应的对象实体始终都存在堆空间** jdk7:* -Xms300m -Xmx300m -XX:PermSize=300m -XX:MaxPermSize=300m -XX:+PrintGCDetails* jdk 8:* -Xms300m -Xmx300m -XX:MetaspaceSize=300m -XX:MaxMetaspaceSize=300m -XX:+PrintGCDetails* @author shkstart  shkstart@126.com* @create 2020  21:20*/
public class StaticFieldTest {private static byte[] arr = new byte[1024 * 1024 * 100];//100MB -> 200+MBpublic static void main(String[] args) {System.out.println(StaticFieldTest.arr);//        try {
//            Thread.sleep(1000000);
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }}
}
 
2.设置:
-Xms300m -Xmx300m -XX:MetaspaceSize=300m -XX:MaxMetaspaceSize=300m -XX:+PrintGCDetails

3.查看

