1.jvm 的类装载器 ClassLoder
启动类加载器 BootStrap c++
拓展加载器 extention java
类加载器(应用程序加载器) 加载当前应用classpath的所有类
用户继承abstract Classloader
重写方法实现自定义加载器
2.双亲委派机制:上一级的加载器若能够载入便放行程序
沙箱机制:避免了对java源代码的侵入,保证了java源代码的安全性和健壮性
3.堆栈 StackOverflowErro 递归调用方法,栈内存溢出—堆溢出 OOM OutOfMemorryErro 调小堆内:VM arguments -Xms8m -Xmx8m -XX:PrintGCDetails
本地栈:native的c#底层实现
栈:生命周期使用完就弹栈。8种基本类型变量,参数变量,实例方法,引用类型变量
堆:对象实例及数组
重点:堆有三个区 新生区(伊甸园区,幸存0区,幸存1区),养老区,-逻辑上的第3部分(元空间1.8)永久存储区。当新生区空间不够后往后放
对于堆GC垃圾回收机制
堆内存分配的物理内存空间最小值:1/64 最大值:1/4 调小堆内使堆溢出OutOfMemorryErro
方法区(永久区):生成一个实例的模板数据(已被虚拟机加载)的类信息/常量/静态变量/即时编译的信息等数