什么情况下会发生栈内存溢出
栈是线程独有的,当线程执行的时候每次执行一个函数,都会创建一个桟帧,存入栈中,如果栈的深度不足以容纳新的桟帧,就会造成栈内存溢出.
如果在运行过程中出现了内存不足,在申请内存失败,又需要继续使用内存,就会造成oom
双亲委派机制
JVM提供的类加载器一共有3个, Application ClassLoader,Extension ClassLoader,Bootstrap ClassLoader
双亲委派机制就是在类加载的时候,会先交给父加载器去加载,如果父加载器加载失败,就会自己家长,如果父加载器加载成功,自己就不在加载,这样可以保证java源码的安全性.