java内存管理分为两个方面:内存分配和内存回收
不能随意挥霍java的内存分配,会造成java程序的运行效率低下:
不断分配内存使得系统中可用内存减少,从而降低程序运行性能。
大量已经分配内存的回收使得垃圾回收的负担加重,降低程序的运行性能。
1. 实例变量和类变量的内存分配
java程序的变量大致分为成员变量和局部变量。局部变量分为3类:
形参:...
分类:
编程语言 时间:
2016-04-10 15:02:17
阅读次数:
314
物理地址空间:加载到寄存器中的地址,内存单元真正的地址,其位数由地址总线数决定,32位则表示32条地址总线,编号从0一直到可用内存的最大值。 逻辑地址空间:CPU运行时程序可看到的地址,由内部和编程时使用,比如C语言中读取一个指针变量本身的值,读到的就是逻辑地址,它是相对于当前数据段的地址也就是偏移 ...
分类:
其他好文 时间:
2016-04-09 13:43:35
阅读次数:
217
1. 野指针 (1)指针变量中的值是非法的内存地址,进而形成野指针 (2)野指针不是NULL指针,是指向不可用内存地址的指针 (3)NULL指针并无危害,很好判断,也很好调试 (4)C语言中无法判断一个指针所保存的地址是否合法 2. 野指针的由来 (1)局部指针变量没有被初始化 (2)指针所指向的变 ...
分类:
其他好文 时间:
2016-04-05 00:05:35
阅读次数:
207
如果觉得自己的 eclipse 比较慢,可以通过修改 %eclipse_home%/eclipse.ini 文件进行调整: 将 -Xms 和 -Xmx 的内存调整至 512m(你本机可用内存的 1/4,2G 内存的话就是 512m): -Xms512m -Xmx512m 然后在文件末尾添加以下几行参
分类:
系统相关 时间:
2016-03-11 11:45:59
阅读次数:
213
1 /* 2 1>僵尸对象:所占用内存已经被回收的对象,将是对象不能再使用 3 2>野指针:指向僵尸对象(不可用内存)的指针 4 3>空指针:没有指向任何东西的指针(存储的对象可以是nil,NULL,0) 5 * 给野指针发送消息会报错,给空指针发送消息不会报错 6 */ 7 8 #import <
分类:
其他好文 时间:
2016-03-06 18:54:59
阅读次数:
184
Item 52: Write placement delete if you write placement new
“placement new”通常是专指指定了位置的new(std::size_t
size, void *mem),用于vector申请capacity剩余的可用内存。
但广义的”placement new”指的是拥有额外参数的operator
new。
...
分类:
其他好文 时间:
2016-02-21 14:24:18
阅读次数:
166
本节内容主要是讲解ActivityManager的使用,通过ActivityManager我们可以获得系统里正在运行的activities,包括 进程(Process)等、应用程序/包、服务(Service)、任务(Task)信息。 计划如下: 第一部分:获取系统可用内存以及所有的正在运行的进程信息
分类:
其他好文 时间:
2016-02-16 08:44:59
阅读次数:
190
根据OpenSignal最新的研究报告显示,目前有超过24000种不同类型的设备,支持一种以上的Andriod版本,但它们在屏幕分辨率、规格、按键、处理器、可用内存大小等方面,都存在着差异。 嗯,老实说这个数字把Bird吓了一跳,我想这两万多款设备里面,很大部分设备应该是多年前的淘汰机型了。不过今年
分类:
其他好文 时间:
2016-02-15 22:31:41
阅读次数:
183
设备碎片化问题会给移动用户体验的提升带来很大的障碍。现在让我们来回顾一下开发者们所遇到的几个常见问题。 根据OpenSignal最新的研究报告显示,目前有超过24000种不同类型的设备,支持一种以上的Andriod版本,但它们在屏幕分辨率、规格、按键、处理器、可用内存大小等方面,都存在着差异。在Op
分类:
移动开发 时间:
2016-01-29 15:49:04
阅读次数:
176
没有存储任何内存地址的指针就称为空指针(NULL指针)野指针是指向"垃圾"内存(不可用内存)的指针。野指针是非常危险的比如说 定义了一个Person 的类,Person类有一个 - (void)setName方法Person * per = [[Person alloc]init];[per set...
分类:
移动开发 时间:
2016-01-25 11:15:28
阅读次数:
160