一直想做这么一个测试,人和手的测试.类型"人"有一个属性"手",需要"手"也可以读取"人"的数据.则"手"下面也有一个属性"人". 如果用代码表现,则是: public class Class人 { private Class手 _手; public Class手 手 { get { return _手; } set { _手 = value; } } private Class脚 _脚…
前言: 话说昨晚还是前晚,写了一篇:讲述Sagit.Framework解决:双向引用导致的IOS内存泄漏(上) 文章写到最后时,多了很多莫名奇妙的问题!!! 为了解决了这些莫名奇妙的问题,我又战斗了24小时〜〜〜 然后终于解决了问题,原来是IOS的隐藏性Bug,只想恨恨的说一声fuck~~~ 故事起源: 故事是这样的,为了处理内存释放的问题,正常人的思维,都是给对象的dealloc增加日志输出. 于是,UIView.UIViewController和两个Sagit定义的基类STView.STCo…
前言: 在处理完框架内存泄漏的问题后,见上篇:讲述Sagit.Framework解决:双向引用导致的IOS内存泄漏(中)- IOS不为人知的Bug 发现业务代码有一个地方的内存没释放,原因很也简单: 在block里用到了self,造成双向引用,然后就开始思考怎么处理这个问题. 常规则思维,就是改代码,block不要用到self,或只用self的弱引用. 只是框架这里特别,有一个特好用的系列,STLastXXX系列,是用宏定义的,而且该宏指向了self. 这么好用的STLastXXXX宏定义系列,…
http://blog.csdn.net/liuzhi1218/article/details/6993135 循环引用: 引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象.一个简单的例子如下: #include<string> #include <iostream> #include <boost/shared_ptr.hpp> #include <boost/weak_ptr.hpp> class parent; cl…
转载:http://blog.csdn.net/liuzhi1218/article/details/6993135 循环引用: 引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象.一个简单的例子如下: #include<string> #include <iostream> #include <boost/shared_ptr.hpp> #include <boost/weak_ptr.hpp> class parent;…
echarts是百度的一个图表插件,确实好用美观. 之前实习接触到的页面大多是下面这种调用方式 var chart=echarts.init(document.getElementById(dom)); var option={ //..................... } chart.setOption(option); 这次有一个页面需要计时器反复加载新数据,然后重绘echarts图表.一开始我还是使用了上面这种方式,没有发现太大问题.第二天早上来调试的时候,网页运行了一段时间,我的电…
前言: 好久没写文章了,最近先是重构IT恋.又重写IT恋中. Sagit框架也不断的更新,调整,现在感觉已完美了了相当的多. 今天不写教程,先简单分享一下技术内容. 1:见Block必有:#define WeakSelf __weak typeof(self) this = self; 故事要从这这里说起: 当初番完这代码后,发现到处都有这个鬼东西,然后就去百度了一下,然后大意是为了: 解决双向引用导致的内存无法释放问题 简单的表述如下: self 强引用指向=>block: block 也强引…
闭包 http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html JavaScript中必须提到的功能最强大的抽象概念之一:闭包.它究竟是做什么的呢? function makeAdder(a) { return function(b) { return a + b; } } var x = makeAdder(5); var y = makeAdder(20); x(6); y(7); makeAdder这个…
JavaScript 中的内存泄漏 JavaScript 是一种垃圾收集式语言,这就是说,内存是根据对象的创建分配给该对象的,并会在没有对该对象的引用时由浏览器收回.JavaScript 的垃圾收集机制本身并没有问题,但浏览器在为 DOM 对象分配和恢复内存的方式上却有些出入. Internet Explorer 和 Mozilla Firefox 均使用引用计数来为 DOM 对象处理内存.在引用计数系统,每个所引用的对象都会保留一个计数,以获悉有多少对象正在引用它.如果计数为零,该对象就会被销…
一般来说在 Python 中,为了解决内存泄漏问题,采用了对象引用计数,并基于引用计数实现自动垃圾回收.由于Python 有了自动垃圾回收功能,就造成了不少初学者误认为自己从此过上了好日子,不必再受内存泄漏的骚扰了.但如果仔细查看一下Python文档对 __del__() 函数的描述,就知道这种好日子里也是有阴云的.下面摘抄一点文档内容如下: Some common situations that may prevent the reference count of an object from…