一、闭包 1 . 概念:闭包就是能够读取其他函数内部变量的函数。在JS中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解为”定义在一个函数内部的函数”。 2 . 闭包的特点 1)可以读取函数内部的变量。 2)让这些变量的值始终保存在内存中。 3 . 闭包的原理 理解闭包,首先必须理解J ...
分类:
编程语言 时间:
2018-03-06 01:00:24
阅读次数:
199
JVM堆相关知识 为什么先说JVM堆? JVM的堆是Java对象的活动空间,程序中的类的对象从中分配空间,其存储着正在运行着的应用程序用到的所有对象。这些对象的建立方式就是那些new一类的操作,当对象无用后,是GC来负责这个无用的对象(地球人都知道)。 JVM堆 (1) 新域:存储所有新成生的对象 ...
分类:
其他好文 时间:
2018-03-02 20:48:08
阅读次数:
199
1、前言 理解JVM的垃圾回收机制(简称GC)有什么好处呢?作为一名软件开发者,满足自己的好奇心将是一个很好的理由,不过更重要的是,理解GC工作机制可以帮助你写出更好的Java程序。 在学习GC前,你应该知道一个技术名词:“stop the world” ,无论你选择哪种GC算法,“stop the ...
分类:
其他好文 时间:
2018-03-01 21:53:53
阅读次数:
171
一、前言 Python 是一门高级语言,使用起来类似于自然语言,开发的时候自然十分方便快捷,原因是Python在背后为我们默默做了很多事情,其中一件就是垃圾回收,来解决内存管理,内存泄漏的问题。 内存泄漏:当程序不停运行,有一部分对象没有作用,但所占内存没有被释放,服务器内存随时间越来越少,最终导致 ...
分类:
编程语言 时间:
2018-02-28 22:55:18
阅读次数:
205
内存泄漏是指不再被使用的对象或者变量一直被占据在内存中。但是java中有垃圾回收机制,它能够将不再被使用的对象,自动从内存中清除。 即使这样,java中也存在着内存泄漏的情况: 一:当长生命周期的对象持有短生命周期的对象的引用,就很可能发生内存泄漏。尽管短生命周期的对象已经不再需要,但是长生命周期的 ...
分类:
编程语言 时间:
2018-02-26 13:32:30
阅读次数:
144
什么是js垃圾回收?(what) JavaScript中也具有自动垃圾回收机制(GC:Garbage Collection); 因为内存内容是极其有限的,所以垃圾收集器会定期(周期性)找出那些不在继续使用的变量,然后释放内存 其中不再使用的变量一般只可能是局部变量,即在函数执行结束的时候,所使用的局 ...
分类:
编程语言 时间:
2018-02-25 20:38:01
阅读次数:
227
引言 接App优化之内存优化(序), 作为App优化系列中内存优化的一个小部分. 由于内存相关知识比较生涩, 内存优化中使用到的相关工具, 也有很多专有名词. 对Java内存管理, GC, Android内存管理, Dalvik/ART等知识有一个理论的认识, 可以让我们更好的使用这些工具, 分析内 ...
分类:
移动开发 时间:
2018-02-25 19:17:16
阅读次数:
294
1. finalize的作用 finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法。 finalize()与C++中的析构函数不是对应的。C++中的析构函数调用的时机是确定的(对象离开作用域或delete掉),但Java中的f ...
分类:
移动开发 时间:
2018-02-25 19:14:39
阅读次数:
249
开篇废话 如果我们想要进行内存优化的工作,还是需要了解一下,但这一块的知识属于纯理论的,有可能看起来会有点枯燥,我尽量把这一篇的内容按照一定的逻辑来走一遍。首先,我们为什么要学习垃圾回收的机制,我大概归纳了一下几点: 1.方便我们理解什么样的对象,什么时候,会被系统回收掉 2.有助于我们后面的内存优 ...
分类:
移动开发 时间:
2018-02-25 19:11:41
阅读次数:
217
JVM内存管理机制和垃圾回收机制 JVM结构 图片描述: 1. java源码编译成class文件 1. class文件通过类加载器加载到内存 1. 其中方法区存放的是运行时的常量、静态变量、类信息等,被所有线程共享 1. 堆空间存放对象,被所有线程共享 1. 栈空间存放的是栈帧,包括局部变量、操作数 ...
分类:
其他好文 时间:
2018-02-24 13:03:10
阅读次数:
151