1,JVM结构
类加载器:
(高优先级)虚拟机自带的加载器:
(最顶层)启动类加载器(Bootstrap C++) jre/lib/rt.jar
(其中)扩展类加载器(Extension Java) jre/lib/ext/*.jar
(最下层)应用程序类加载器(AppClassLoader Java)(也叫系统类加载器,加载当前应用的 classpath的所有类)
(低优先级)用户自定义加载器:
Java.lang.ClassLoader的子类,用户可以定制类的加载方式
栈:随线程创建而创建,消亡而消亡(线程私有),存放8种基本数据类型+对象的引用变量+实例方法
堆:
堆调优参数:(逻辑上分三代,物理上两代(新生代,老年代))
1,新生代:-Xmn
2,永久代:-XX:PermSize(初始化) -XX:MaxPermSize(最大空间)
整个堆空间: -Xms1024m(此处例子1G空间,设置初始分配大小,默认为物理内存的1/64)
-Xmx1024m(此处例子1G空间,最大分配内存,默认为物理内存的1/4)
-XX:+PrintGCDetails(输出详细的GC处理日志)