JVM内存分配策略及并发安全性考虑
(顺序分配,分配一块,接着分配下一块,分配过和未分配的中间有个指针,每次要分配时向后挪动指针,这一块块都是挨着的)采用哪个方法取决于java堆是否规整,如果都是紧挨着的采用指针碰撞,如果分配区中包含未分配的空间,则使用空闲列表。(按需分配,分配连续空间,分配的空间不一定是挨着的,中间可能会隔着,使用一个列表记录分配情况)创建了一个Student的对象,为他分配空间,jvm又是如何分配呢?1.检查类是否存在,是否被加载,如果没有,先进行类加载。1.CAS配上失败重试。要求空间一定是规整的。
复制链接