一:Java技术体系模块图二:JVM内存区域模型1.方法区也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。运行时常...
分类:
编程语言 时间:
2015-07-23 17:34:53
阅读次数:
139
Java虚拟机学习 - 对象访问分类: JVM2012-09-26 19:36 9280人阅读 评论(17) 收藏 举报对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。如下面这句代码:[java] view plaincopyprint?Object objectRef = new O...
分类:
编程语言 时间:
2015-07-23 17:34:41
阅读次数:
151
PC寄存器:每个拥有一个PC寄存器,在线程创建时创建方法区:对应Permannet Generation,可通过-XX:PermSize和-XX:MaxPermSize指定最大最小值方法区全局共享,保存load类的信息(名称、修饰符等)方法区内存超出会抛出OutofMemory异常
分类:
其他好文 时间:
2015-07-22 20:24:19
阅读次数:
102
一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名...
分类:
编程语言 时间:
2015-07-22 10:37:23
阅读次数:
131
范围:要回收哪些区域
在JVM五种内存模型中,有三个是不需要进行垃圾回收的:程序计数器、JVM栈、本地方法栈。因为它们的生命周期是和线程同步的,随着线程的销毁,它们占用的内存会自动释放,所以只有方法区和堆需要进行GC。
前提:如何判断对象已死
所有的垃圾收集算法都面临同一个问题,那就是找出应用程序不可到达的内存块,将其释放,这里面得不可到达主要是指应用程序已经没有内存块的引用了, 在...
分类:
其他好文 时间:
2015-07-22 09:26:16
阅读次数:
183
Win32多线程的创建方法主要有: CreateThread() _beginthread()&&_beginthreadex() AfxBeginThread() CWinThread类 一、简介 CreateThread:?Win32提供的创建线程的最基础的API,用于在主线程上创建一个线程。返回...
分类:
编程语言 时间:
2015-07-21 20:44:30
阅读次数:
121
一、垃圾回收作用于“堆”和“非堆(方法区)”两个线程共享的部分。
1、堆:
堆的主要存放“生成的对象”和“开辟的数组”。
面试的时候可能会问道,是不是所有的对象都存在于堆上?答案是否定的,当前虚拟机优化技术的发展,其中出现了逃逸分析(如果一个方法中生成的对象没有被其他方法或者线程使用,那么就是不逃逸的),如果对象不逃逸,那么就会把对象分配到栈空间上。另,网上有人还列举了TLAB,但是T...
分类:
编程语言 时间:
2015-07-18 20:02:11
阅读次数:
129
1、for与while相比for控制循环的变量只作用于for循环,执行完毕释放内存。比while节省内存2、重载函数名同,参数列表不同与返回值无关3、内存的划分:(1)寄存器。(2)本地方法区。(3)方法区。(4)栈内存。局部变量(5)堆内存。new出来的实体(数组、对象)4、栈,自动释放内存堆,j...
分类:
编程语言 时间:
2015-07-18 18:20:55
阅读次数:
171
-
(BOOL)application:(UIApplication
*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window
= [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bou...
分类:
其他好文 时间:
2015-07-18 15:38:42
阅读次数:
159
一、类加载器原理
JVM将class文件字节码文件加载到内存中, 并将这些静态数据转换成方法区中的运行时数据结构,在堆中生成一个代表这个类的java.lang.Class
对象,作为方法区类数据的访问入口。
二、类缓存
标准的Java SE类加载器可以按要求查找类,但一旦某个类被加载到类加载器中,它将维持加载(缓存)一段时间。不过,JVM垃圾收集器可以回收这些Class过象。
三...
分类:
其他好文 时间:
2015-07-17 19:00:15
阅读次数:
124