GC都讲了,没道理不讲一下JVM内存模型,老规矩,链接如下:http://gityuan.com/2016/01/09/java-memory/
仔细看过,讲的很深很详细,但是有些操作系统和原理一笔带过,这里做一些解释
2.4java堆讲到TLAB(Thread Local Allocation Buffer,TLAB),请看我的简单粗暴搞定java内存回收部分,连接中的新生代,这个缓冲区就位于其中Eden space中,默认占据1%空间。这个部分是在内存分配的时候使用,生命周期极短的小对象位于这个部分(for循环是我能最快想到的情况)。
StackOverFlowError:当线程请求栈深度超出虚拟机栈所允许的深度时抛出,提到这个异常,跟另外一个异常一起解释一下,另外一个异常就是明显的超出内存的情况,这个异常其实本质上来说也是这样,不过超出的虚拟机的内存范围,而是超出栈的内存范围,简单来说就是栈满了
另外共享内存是进城间通信的基础,当然也有其他的方法,以后会在操作系统中更新出