
JVM
weistar103
这个作者很懒,什么都没留下…
展开
-
JVM内存管理:深入垃圾收集器与内存分配策略
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。概述: 说起垃圾收集(Garbage Collection,下文简称GC),大部分人都把这项技术当做Java语言的伴生产物。事实上GC的历史远远比Java来得久远,在1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时...原创 2013-01-11 15:30:37 · 98 阅读 · 0 评论 -
java 内存管理
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。 概述:对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。 对于Java程序...原创 2013-01-11 15:37:08 · 83 阅读 · 0 评论 -
关于jvm方法区
先以两个问题开篇:1.如果一个类有多个子类,那么new多个子类对象时,父类的对象是一个还是多个?2.每个类型有一个常量池,还是每个对象都有自己的常量池?你可以很快地正确回答吗?了解了java虚拟机方法区的原理,这两个问题就很清晰了。java 虚拟机把内存划分为方法区、堆和线程栈。简单说方法区用来存储类型的元数据信息,一个.class文件是类被java虚拟机使用之前的表现形式,一...原创 2013-01-15 08:39:41 · 88 阅读 · 0 评论 -
jvm连接模型
1 java虚拟机构成类加载系统 执行引擎 运行时数据区运行时数据区包括 堆、栈、方法区、本地方法区、pc寄存器。其中堆、方法区是多线程共享的,其它的是线程安全的。2 java虚拟机链接模型装载 连接 初始化装载的产物:一个堆上的class实例:是连接类实例与方法区数据结构的桥梁,通过class实例,类的实例能够知道类本身的详细构成信息方法区上的一个数据结构:用...原创 2013-01-15 08:39:52 · 61 阅读 · 0 评论 -
Class.forName与ClassLoader区别
Class 用来描述一个类型,当一个类型被装载(虚拟机读取二进制的class文件)的时候,会创建一个与该类型对应的Class对象到内存堆中。(这个时候该类型甚至没有被分配内存,设置默认值,更别说初始化了)。 Class.forName有2个重载的方法: public static Class<?> forName(String name, boolean initiali...原创 2013-01-16 10:09:14 · 109 阅读 · 0 评论 -
jvm类加载机制
原文地址:http://www.iteye.com/topic/1005717 1. ClassLoader 类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java 字节代码,并转换成 java.lang.C...原创 2013-01-16 10:09:35 · 91 阅读 · 0 评论