闭包是很多语言都具备的特性,在js中,闭包主要涉及到js的几个其他的特性:作用域链,垃圾(内存)回收机制,函数嵌套,等等. 在理解闭包以前.最好能先理解一下作用域链的含义,简单来说,作用域链就是函数在定义的时候创建的,用于寻找使用到的变量的值的一个索引,而他内部的规则是,把函数自身的本地变量放在最....
分类:
编程语言 时间:
2015-09-29 16:24:54
阅读次数:
148
退出但不关闭: 这是Android对于Linux的优化。当 Android 应用程序退出时,并不清理其所占用的内存,Linux 内核进程也相应的继续存在,所谓“退出但不关闭”。从而使得用户调用程序时能够在第一时间得到响应。 应用切换到后台是暂停的,完全不耗cpu和电量,只保留了运行状态。如果...
分类:
移动开发 时间:
2015-09-26 21:16:02
阅读次数:
200
在参加各大公司计算机技术岗位面试时,如果你选择的比较熟悉的语言是Java,那么JVM总会被问到。1. JVM的垃圾回收机制 JVM的内存分为三个区域:新生代(年轻代)、老年代、永久代。2. JVM常用的控制选项 http://blog.csdn.net/jewes/article/details.....
分类:
编程语言 时间:
2015-09-26 08:10:20
阅读次数:
134
引入定义:闭包只有权访问另一个函数中的作用域中的函数。简单点说,就是当某函数a执行完毕后,闭包不会使得GC(JavaScript的回收机制)去回收a所占用的资源,因为a的内部函数b的执行需要依赖a中的变量。代码示例:window.onload = function(){ functio...
分类:
编程语言 时间:
2015-09-25 21:47:41
阅读次数:
287
哪些内存需要回收?哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径使用的对象。那么如何找到这些对象?1、引用计数法这个算法的实现是,给对象中添加一个引用计数器,每当一个地方引用这个对象时,计数器值+1;当引用失效时,计数器值-1。任何时刻计数值为0...
分类:
编程语言 时间:
2015-09-25 20:23:32
阅读次数:
305
转载自:http://blog.csdn.net/guolin_blog/article/details/42238633由于Android是为移动设备开发的操作系统,我们在开发应用程序的时候应当始终把内存问题充分考虑在内。虽然Android系统拥有垃圾自动回收机制,但这并不意味着我们就可以完全忽略...
分类:
移动开发 时间:
2015-09-23 19:10:59
阅读次数:
243
Java垃圾回收Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是java和c/c++主要区别之一.在java虚拟机中存在自动内存管理和垃圾清扫机制.概括地说,该机制对JVM中的内存进行标记,并确定哪些内存需要回收,根据一定的回收策略自动地回收内存,永不停息地保证jv...
分类:
编程语言 时间:
2015-09-23 16:34:59
阅读次数:
218
一个函数f1的返回值是另一个函数f2,而f2中包含了对f1中变量的引用,使得当调用f1()完成后,由于f2还需要使用f1中的变量,使得回收机制并没有回收f1中的变量。此时的f2就构成了一个闭包。function f1(){var i=0;return function f1(){console.lo...
分类:
其他好文 时间:
2015-09-21 00:08:07
阅读次数:
141
现在来看,堆的含义大概有两种,一种是数据结构,一种是在一些语言中所定义的“垃圾回收机制”,如Java,在书本上的开篇强调了这两者,并强调若非特殊说明,皆把堆看做是一种数据结构。(二叉)堆的定义:1)它是一个数组,可以被看成是一棵近似的完全二叉树,树上的每一个节点看做是数组中的每一个元素。2)堆分为最...
分类:
编程语言 时间:
2015-09-20 16:18:56
阅读次数:
240
引言 Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回....
分类:
编程语言 时间:
2015-09-19 18:06:46
阅读次数:
149