对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。如下面这句代码:[java]view plaincopyprint?ObjectobjectRef=newObject(); 假设这句代码出现在方法体中,"Object objectRef” 这部分将会反映到Java栈的本地变量中,作.....
分类:
编程语言 时间:
2015-05-06 14:43:21
阅读次数:
201
第五章 初始化与清理(二)5.5 清理:终结处理和垃圾回收 清理的工作常常被忽略,Java有垃圾回收器负责回收无用对象占据的内存资源。但也有特殊情况:假定对象(并非使用new)获得了一块”特殊”的内存区域,由于垃圾回收器只知道释放那些由new分配的内存,所以不知道如何释放特殊内存。Java允许在类中定义一个名为finalize()的方法,工作原理”假定”是这样的:一旦垃圾回收器准备好释放对象占...
分类:
编程语言 时间:
2015-05-05 14:34:52
阅读次数:
269
名词解释内存空间与IO空间内存空间是计算机系统里面非系统内存区域的地址空间,现在的通用X86体系提供32位地址,寻址4G字节的内存空间,但一般的计算机只安装256M字节或者更少的内存,剩下的高位内存就被用于PCI或者AGP及系统桥设备的使用上面,主机可以像访问系统内存一样访问这些高端内存,这样对于扩...
分类:
系统相关 时间:
2015-05-02 15:05:19
阅读次数:
279
一 使用指针的一般技巧 错误的使用指针,给一个坏了的指针赋值时,会把数据写入本不该写值的内存区域。这称为内存破坏而更正指针错误的大部分工作量是找出它的位置。正确地使用指针要求程序员采用一种双向策略。第一,要首先避免造成指针错误。指针错误很难发现,因此采取一些预防性措施是值得的,其次,在编写代码后尽....
分类:
其他好文 时间:
2015-04-30 23:14:44
阅读次数:
163
1 .1 进程结构每个进程都具有自己的属性,用一个task_struct数据结构来表示,它包含了进程的详细信息,主要有进程标识符(PID)、进程所占的内存区域、相关文件描述符、安全信息、进程环境、信号处理、资源安排、同步处理状态几个方面。数组task包含指向系统中所有task_struct结构的指针...
分类:
系统相关 时间:
2015-04-28 22:29:52
阅读次数:
292
变量和变量类型变量是一块用来存储数据的内存区域,定义在PL/SQL块的declare区域在定义变量时通常需要为变量指定一个数据类型,也可以在定义变量时为变量指定一个初始值。变量的类型可以使任何SQL数据类型或者特定的PL/SQL类型主要有4种类型的变量1、标量变量指代存放单个数值..
分类:
数据库 时间:
2015-04-28 02:06:22
阅读次数:
157
共享内存主要是通过映射机制实现的。 Windows 下进程的地址空间在逻辑上是相互隔离的,但在物理上却是重叠的。所谓的重叠是指同一块内存区域可能被多个进程同时使用。当调用 CreateFileMapping 创建命名的内存映射文件对象时,Windows 即在物理内存申请一块指定大小的内存区域,...
强引用:如果一个对象具有强引用,GC绝不会回收它;当内存空间不足,JVM宁愿抛出OutOfMemoryError错误;
软引用:如果一个对象具有软引用,当内存空间不足,GC会回收这些对象的内存,使用软引用构建敏感数据的缓存;
弱引用:如果一个对象具有弱引用,在GC线程扫描内存区域的过程中,不管当前内存空间足够与否,都会回收内存,使用弱引用 构建非敏感数据的缓存;
虚引用:如果一个对象仅持有虚引用,在任何时候都可能被垃圾回收,虚引用与软引用和弱引用的一个区别在于:虚引用必须和引用队列联合使用,虚引用主要用来跟...
分类:
编程语言 时间:
2015-04-25 16:42:22
阅读次数:
291
本文来至http://www.cnblogs.com/jyaray/archive/2010/06/04/1751775.html内存区域可以分为栈、堆、静态存储区和常量存储区,局部变量,函数形参,临时变量都是在栈上获得内存的,它们获取的方式都是由编译器自动执行的。利用指针,我们可以像汇编语言一样处...
分类:
其他好文 时间:
2015-04-24 13:50:50
阅读次数:
160
一看到 Java NIO 的内存映射文件(MappedByteBuffer),让我立即就联想到 Windows 系统的内存映射文件。Windows 系统的内存映射文件能用来在多个进程间共享数据,即进程间的共享内存,是通过把同一块内存区域映射到...
分类:
编程语言 时间:
2015-04-23 13:55:24
阅读次数:
151