![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
西北地的风
java开发者,产品爱好者,旅游粉,APP开发和设计者
展开
-
Java对象的强、软、弱和虚引用
原创 2009-04-29 23:45:52 · 150 阅读 · 0 评论 -
Java堆和栈、String Pool(字符串池)
eap)都是Java用来在RAM中存放数据的地方。 栈的优势是,存取速度比堆要快,仅次于CPU的寄存器,栈数据可以共享。。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放基本类型变量(primitive types), 共有8种,即int, short, long, byte, float, double, boolean, char,和对象的句柄。 堆是运行时数据区,优势是可以动态地分配内存大小,生存期不必事先告诉编译器,Java的垃圾收集器会自动收走这些不原创 2009-05-05 18:43:30 · 115 阅读 · 0 评论 -
JVM基本垃圾回收算法
原创 2009-12-06 23:49:04 · 83 阅读 · 0 评论 -
Java垃圾回收机制(一)
原创 2012-09-19 07:39:38 · 67 阅读 · 0 评论 -
JAVA和JVM运行原理
序),然后在OS之上的Java解释器中解释执行,而JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。 JAVA和JVM运行的原理1.Java语言运行的过程Java语言写的源程序通过Java编译器,编译成与平台无关的‘字节码程序’(.class文件,也就是0,1二进制程序),然后在OS之上的Java解释器中解释执行。也相当于注:JVM(java虚拟机)包括解释器,不同的JDK虚拟机是相同的,解释器不同。 2.JVM:JVM是java的核心和基原创 2012-09-19 07:46:22 · 64 阅读 · 0 评论 -
JVM内存模型
中的局部变量,方法的返回值,以及方法调用上下文。 stack的区域很小,只有1M,特点是存取速度很快,所以在stack中存放的都是快速执行的任务,比如static变量,static方法,基本数据类型的数据,和对象的引用(reference).栈空间随着线程的终止而释放。StackOverflowError:如果在线程执行的过程中,栈空间不够用,那么JVM就会抛出此异常,这种情况一般是死递归造成的。 1.2 堆-heapJava中堆是由所有的线程共享的一块内存区域,堆用来保存各种JAV原创 2012-09-19 07:55:21 · 98 阅读 · 0 评论 -
详细解读JVM中的对象生命周期
hable)、可收集阶段(Collected)、终结阶段(Finalized)与释放阶段(Free)。上面的这7个阶段,构成了 JVM中对象的完整的生命周期。下面分别介绍对象在处于这7个阶段时的不同情形。 创建阶段在对象创建阶段,系统要通过下面的步骤,完成对象的创建过程:(1)为对象分配存储空间。(2)开始构造对象。(3)递归调用其超类的构造方法。(4)进行对象实例初始化与变量初始化。(5)执行构造方法体。上面的5个步骤中的第3步就是指递归地调用该类所扩展的所有父类的构造方法原创 2012-09-19 12:10:31 · 108 阅读 · 0 评论