文章列表
1.1 Java栈
Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。它主要用来存储线程执行过程中的局部变量,方法的返回值,以及方法调用上下文。栈空间随着线程的终止而释放。StackOverflowError:如果在线程执行的过程中,栈空间不够用,那么JVM就会抛出此异常,这种情况一般是死递归造成的。
1.2 堆
Java中堆是由所有的线程共享的一块内存区域,堆用来保存各种JAVA对象,比如数组,线程对象等。
1.2.1 Generation
JVM堆一般又可以分为以下三部分:
1、说某富翁选老婆,三个候选人,富翁给每人1000块钱,让她们把房间装满,第一个MM买了棉花,第二个MM买了气球,第三个MM有创意,买了蜡烛,让光线充满了房间,结果富翁选了胸部最大的那个MM。
2、有个靓妹选男友,第一个男的说,我要带你去最幸福的地方,第二个男的说,哪儿都不用去,只要跟你在一起,任何地方都是最幸福的。女孩好感动,最后选择了更有钱的那个。
3、一外村男人赶了三头猪路过某一村子,来到一寡妇门前要投宿,寡妇不允,说怕流言是非多,男人说,我给你头猪,寡妇说那行,你进来,但只能睡院子。深夜,天寒,男人要进屋,寡妇不允,男人说我再给你一头猪,寡妇说那行,你进来,但睡地上,不得上我床。不久 ...