1.java是如何管理内存的java的内存管理就是对象的分配和释放问题。(其中包括两部分)分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。 释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的...
分类:
编程语言 时间:
2015-02-07 00:24:32
阅读次数:
329
转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-android-mmry-rcycl/Android APP 的运行环境Android 是一款基于 Linux 内核,面向移动终端的操作系统。为适应其作为移动平台操作系统的特殊需要,谷歌...
分类:
移动开发 时间:
2015-02-06 18:36:41
阅读次数:
195
不少人认为JAVA程序,因为有垃圾回收机制,应该没有内存泄露。其实如果我们一个程序中,已经不再使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当然该对象占用的内存就无法被使用,这就造成了内存泄露。如果我们的java运行很久,而这种内存泄露不断的发生,最后就没内存可用了。当然java的...
分类:
其他好文 时间:
2015-02-04 14:14:57
阅读次数:
491
重点关注几个问题:-对象已死吗?采用引用计数法(不能解决相互循环引用问题)或可达性分析法。引用计数法:计算对象的引用数,计数为0时对象被回收。可达性分析:通过一系列的"GC Roots"的对象(如栈中引用的对象、方法区中类静态属性引用的对象、常量引用的对象)作为起始向下搜索,搜索所走过的路径称为引用...
分类:
其他好文 时间:
2015-02-03 12:47:24
阅读次数:
127
由于android的系统资源回收机制,当内存不足的时候,会自动关闭一些后台服务,如果这时候我们的服务正在播放歌曲,由于被关闭,歌曲会被中断,这样会造成很差的用户体验。这时候我们可以通过在service里面调用startforeground方法将该服务设置为前台运行,那么系统就不会自动关闭该服务了具体...
分类:
其他好文 时间:
2015-02-02 23:02:10
阅读次数:
213
java不充许多继承是,为了避免“致命方块”的出现例如 B继承A,C继承A。 C和C里面都有play()方法 。现在D继承了B,C 想想D.play()调用 的是哪个play()呢,这就是问题所在。所以java提供了接口来解决此问题。问:接口并不是真正的多重继承,因为你无法在它里面实现程序代码,不是...
分类:
其他好文 时间:
2015-01-31 01:38:15
阅读次数:
109
Android APP 的运行环境Android 是一款基于 Linux 内核,面向移动终端的操作系统。为适应其作为移动平台操作系统的特殊需要,谷歌对其做了特别的设计与优化,使得其进程调度与资源管理与其他平台的 Linux 有明显的区别。主要包含下面几个层次:Application Framewor...
分类:
移动开发 时间:
2015-01-30 10:30:57
阅读次数:
314
今天来谈谈C# 的GC ,也就是垃圾回收机制,非常的受教,总结如下首先:谈谈托管,什么叫托管,我的理解就是托付C# 运行环境帮我们去管理,在这个运行环境中可以帮助我们开辟内存和释放内存,开辟内存一般用new ,内存是随机分配的,释放主要靠的是GC 也就是垃圾回收机制。哪么有两个大问题 1.GC 可以...
这节小汪介绍一下jvm的垃圾回收机制,首先我们先提问:
1.为什么要有不同的垃圾算法
2.垃圾回收器要解决的终极目的是什么
3.小汪该如何选择自己的...
分类:
其他好文 时间:
2015-01-27 23:35:05
阅读次数:
446
构造与析构
l 可定义初始化函数,但类内部所有变量会先于初始化函数初始化。
l 可以在类体内直接定义变量时直接初始化变量。
l 类中变量定义的顺序就是初始化的顺序
l 类构造时先构造所有的预定义变量,然后调用构造函数
l 垃圾回收机制不但会回收内存,还会将数据结构移动到紧凑的区域。在少量垃圾时采用标记清除法,不进行内存移动。
l 当在构造函数内用this调用其他构造函数时,...
分类:
编程语言 时间:
2015-01-26 21:10:34
阅读次数:
187