Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内 ...
分类:
编程语言 时间:
2019-06-25 13:28:12
阅读次数:
114
来到个新地方,新学习C#,前面看到C#的垃圾回收,Finalize和Dispose时,总是一知半解,迷迷糊糊。这次好了,前面连续两次面试问到这个问题,脑子里不是很清晰,加上用英文来表达,更是雪上加霜的感觉。 回来,好好看了相关资料,从网上看,总没有人能说的很清晰,往往很深奥的样子,拿了本<C# la ...
闭包 函数嵌套函数,内部函数可以引用外部函数的参数和变量,参数和变量不会被垃圾回收机制收回. 用处 1、将一个变量长期驻扎在内存当中,可用于循环中存索引值 2、私有变量计数器,外部无法访问,避免全局变量的污染 js的内置对象: 1.document document.referrer //获取上一个 ...
分类:
Web程序 时间:
2019-06-25 09:47:17
阅读次数:
156
1.类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self,self代表类的实例,而非类。 self 不是 python 关键字,我们把他换成 runoob 也是可以正常执行的: 2. python对象销毁(垃圾回收) Python 使用了引用计 ...
分类:
编程语言 时间:
2019-06-24 22:45:59
阅读次数:
131
单例模式 单例模式是23中设计模式中比较简单的一种,其核心思想是 一个类只有一个实例,该类自己创建这一唯一实例并提供该实例的全局访问方法 。 单例模式的应用场景 在说单例模式之前,来想象几个场景: 在我们的windows桌面上,我们打开了一个回收站,当我们试图再次打开一个新的 ...
分类:
编程语言 时间:
2019-06-24 16:55:25
阅读次数:
107
一.智能指针内存泄漏(C++主要的Bug来源)1.动态申请堆空间,用完后不归还2.C++语言中没有垃圾回收机制3.指针无法控制所指堆空间的生命周期代码示例#include<iostream>#include<string>usingnamespacestd;classTest{inti;public:Test(inti){this->i=i;}intvalue(){r
分类:
编程语言 时间:
2019-06-23 23:01:38
阅读次数:
257
一.如何判断对象已经死亡 1.引用计数 无法处理循环引用的情况 2.可达性分析 目前主流实现方式。 原理: 从GC Roots对象作为起点开始查询,如果有引用链说明对象存活,反之就是已经死亡。 GC Roots对象: (1)栈(栈帧)中引用的对象。 (2) 方法区中类静态变量引用的对象。 (3)方法 ...
分类:
其他好文 时间:
2019-06-23 20:42:11
阅读次数:
106
javascript的作用域分为两种:全局和局部。js作用域环境中访问变量的权利是由内向外的,内部的作用域可以获得当前作用域下的变量并且可以获得当前包含当前作用域的外层作用域下的变量。反之则不能,也就是说外层作用域下无法获取内层作用域下的变量,同样不同函数作用域中也是不能相互访问彼此的变量的。那么我 ...
分类:
编程语言 时间:
2019-06-23 14:21:42
阅读次数:
119
资源管理(尤其是内存回收)曾经是程序员的噩梦,不过在.NET平台上这个噩梦似乎已经不复存在。CLR在后台为垃圾回收做了很多事情,使得我们现在谈起在.NET上进行开发时,都会说还是new一个对象吧!回收?有垃圾回收器呢。其实并没有这么简单。 & 8195;& 8195;对象序列化是现代软件开发中的一项 ...