内存管理
SandayH
这个作者很懒,什么都没留下…
展开
-
内存地址分配
1 内存地址是从高地址到低地址进行分配的: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->int i=1;int j=1;coutiendljendl;//输出:0012FF60(高地址处) 0012FF54转载 2009-06-03 21:45:00 · 1405 阅读 · 0 评论 -
一个进程在内存中的布局
对于一个完整的程序,在内存中分布情况如下图:值得一提的是:在C#中struct存放在栈区,class存放在堆区,所以一般struct要比class要快的。 堆和栈的比较表(仅针对C++) 栈(Stack)堆(Heap)申请方式由OS自动分配。例如在函数声明一个局部变量int b; OS自动在栈中为转载 2009-09-01 22:46:00 · 658 阅读 · 0 评论 -
java,内存,存储
1. 有这样一种说法,如今争锋于IT战场的两大势力,MS一族偏重于底层实现,Java一族偏重于系统架构。说法根据无从考证,但从两大势力各自的社区力量和图书市场已有佳作不难看出,此说法不虚,但掌握Java的底层实现对Java程序员来说是至关重要的,本文介绍了Java中的数据在内存中的存储。 2 内存中的堆(stack)与栈(heap) Java程序运行时有6个地方可以存储数据,它转载 2010-02-23 22:05:00 · 609 阅读 · 0 评论 -
类的加载,连接,初始化详解
以前对类的生命周期这个问题有点迷糊,现在特来写写,希望可以理清这个过程的思路! 我们知道类的生命周期分为:类的加载,类的连接,类的初始化。 ㈠类的加载没什么说得,就是由类加载器读入类的.class二进制数据到内存的过程,并在内存堆区创建一个与之对应的Class对象。 ㈡类的连接包括:验证,准备,解析,验证过程就是java虚拟机对加载进来的.class文件结构等方面的检查。 准备阶段转载 2009-12-20 21:20:00 · 654 阅读 · 0 评论 -
解析Java类和对象的初始化过程
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后,对 JVM 执行过程的关键点进行全面解析,并在文中穿插入了相关 JVM 规范转载 2009-12-20 21:21:00 · 613 阅读 · 0 评论 -
Java关键字介绍之final
总结关键字final的用法。author: ZJ 07-3-16Blog: [url]http://zhangjunhd.blog.51cto.com/[/url]在Java中声明属性、方法和类时,可使用关键字final来修饰。final变量即为常量,只能赋值一次;final方法不能被子类重写;final类不能被继承。1.final成员声明 final 字段有助于优化器作出更好转载 2009-12-20 21:52:00 · 657 阅读 · 0 评论