tim-wu

我的评论

re: 关于Javascript的内存泄漏问题的整理稿[未登录] 鹏飞万里 2008-07-31 21:05  
@goofect

你想多了:),变量是什么?

你所说“myGlobalObject只是一个变量,指向domobj,而自身并不是一个jsobject.” 没有错,但是不是“jsobject”不是重点。

重点在于“IE 6处理不了的是JScript与Native Object(例如Dom、ActiveX Object)之间的Circular References”。

关键字是“References引用”:)

你只要考虑一下GC是凭什么来决定是否回收的就可以明白。
re: Lucene如何控制segments的数量? 鹏飞万里 2008-02-14 15:30  
最新的2.3版本,不再只使用doc个数作为合并segments与否的唯一参数,
而是允许设置不同的策略,默认的策略也改为了索引信息的数据量阙值(bytes)
re: 复杂度为log(n)的排序堆栈算法 鹏飞万里 2008-02-04 15:19  
备忘:这个类中:
top()返回的是heap[1]的数值,但不移除,heap[1]永远要求是最小的值
pop()会移出heap[1]的数值,而后把heap[size]的值移到heap[1],而后使用downHeap() 把heap[1]下移到适合位置
put(element)是往队列尾部heap[size],也就是buttom追加
insert(element)类似put,区别在于如果数组已经填满时,如果element比top大时,就把heap[1]的数值缓存element,再重新排序
upHeap() 表示尾部(buttom)heap[size]追加了一个数值,因此,需要把这个数up到对应的位置。
downHeap() 表示top,即heap[1]的数值变化了,把它下移到适合的位置。
adjustTop() 同downHeap()
re: Java7 VB2008都开始支持Lambda(Closure)了 鹏飞万里 2008-01-29 13:12  
Luby:
Proc.new & lambda

http://www.hostingforum.ca/208932-proc-vs-lambda-vs-proc.html
re: 备忘: UTF-8的格式 鹏飞万里 2008-01-26 01:34  
补充:
BMP中约定了:
D800-DBFF:High-half zone of UTF-16
DC00-DFFF:Low-half zone of UTF-16

因此UTF-8中约定,D800-DFFF无意义。
当然,这儿lucene的实现是可靠的并且可逆的转换,但它其实使用2个UTF-8来表示本应该用一个4 bytes 来表示的UTF-8符,也就是辅助平面的字符


BMP
http://zh.wikipedia.org/w/index.php?title=%E5%9F%BA%E6%9C%AC%E5%A4%9A%E6%96%87%E7%A8%AE%E5%B9%B3%E9%9D%A2&variant=zh-cn

辅助平面
http://zh.wikipedia.org/wiki/%E8%BE%85%E5%8A%A9%E5%B9%B3%E9%9D%A2
re: 备忘: UTF-8的格式 鹏飞万里 2008-01-25 22:29  
从这看出Lucene只支持到了BMP(3 bytes utf-8),估计是因为J2SE 1.4中的字符处理是基于Unicode 3.0标准的。
目前完整的unicode需要4 bytes utf-8才能实现。

参考
http://zh.wikipedia.org/wiki/UTF-8
http://www.blogjava.net/tim-wu/archive/2008/01/25/177788.html

另:
Java 1.0 supports Unicode version 1.1.
Java 1.1 onwards supports Unicode version 2.0.
J2SE 1.4中的字符处理是基于Unicode 3.0标准的。
J2SE v 1.5 supports Unicode 4.0 character set.

而:
Unicode 3.0:1999年九月;涵蓋了來自ISO 10646-1的十六位元通用字元集(UCS)基本多文種平面(Basic Multilingual Plane)

Unicode 3.1:2001年三月;新增從ISO 10646-2定義的輔助平面(Supplementary Planes)
re: 备忘: UTF-8的格式 鹏飞万里 2008-01-09 17:37  
修正一下,还有4 bytes的utf-8字符集

http://www.blogjava.net/tim-wu/archive/2007/12/07/165989.html
re: lucene的8位small float有bug? 跪求数学高手指教:) 鹏飞万里 2007-09-12 16:20  
发现更好玩的,
SmallFloat.byte52ToFloat()和SmallFloat.byte315ToFloat()
的计算结果千差万别,

汗,难道lucene是只是把它作为一个可逆的码表来用?

好在通过这个熟悉了IEEE 754规范,不算没所得:) 呵呵
re: swt中非用户线程访问图形控件的方法 鹏飞万里 2007-08-02 17:36  
Display display = textViewer.getTextWidget().getDisplay();
display.asyncExec(new Runnable() {
public void run() {
textViewer.setDocument(new Document(textString));
}
re: 关于Javascript的内存泄漏问题的整理稿 鹏飞万里 2006-05-30 10:10  
@emu
多谢:) 已修正。

不过向毛主席保证,“溢出”一定不是偶翻译的,哈哈~~
re: 关于Javascript的内存泄漏问题的整理稿 鹏飞万里 2006-05-30 10:08  
@THEMAX

SetupLeak() 函数中
myGlobalObject = document.getElementById( " LeakedDiv " );
则 myGlobalObject有了一个指向DOM对象 " LeakedDiv " 的引用,
而后
document.getElementById( " LeakedDiv " ).expandoProperty = myGlobalObject;
使得DOM对象 " LeakedDiv " 有一个属性expandoProperty引用指向myGlobalObject;

这样myGlobalObject和DOM对象 " LeakedDiv "分别有引用指向对方,所以就循环引用了。


函数BreakLeak() 则清除了DOM对象" LeakedDiv " 向myGlobalObject的引用,
解决循环引用问题。
============================
如果你问的是第二段代码,那么就比较复杂了。

这涉及到Closure的问题,你可以看看文章中给出的其他链接文章,例如zkjbeyond对Closure一文的翻译。

大致的原因是因为ClickEventHandler()是AttachEvents()的一个内嵌函数,
AttachEvents()函数执行后,把ClickEventHandler()函数绑定在element对象的"onclick"事件上。这样,element对象就有个间接引用指向ClickEventHandler()函数的一个实例。
又正是因为ClickEventHandler()是一个内嵌函数,因此会为这个实例构造一个scope,这个scope中包括了父函数,也就是AttachEvents()函数中的局部变量和参数,而这儿的参数刚好就是element,所以ClickEventHandler()函数的实例同时又间接引用了element。

说得有些绕.......呵呵

re: 关于google map api中的球平投影算法接口: GProjection和GMercatorProjection类 鹏飞万里 2006-05-11 15:50  
I agree. :) Gis确实很广泛,偶没有做过Gis,只是被一个项目逼了一下才玩次擦边球。
zkjbeyond好像是做Gis的吧?有机会多交流。
 
<2025年6月>
日一二三四五六
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

 导航

  • BlogJava
  • 首页
  • 发新随笔
  • 发新文章
  • 联系
  • 聚合
  • 管理

 统计

  • 随笔: 28
  • 文章: 0
  • 评论: 38
  • 引用: 1

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿(4)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

我参与的团队

  • WebGIS开发设计组(0/0)

随笔档案

  • 2008年2月 (4)
  • 2008年1月 (6)
  • 2007年12月 (2)
  • 2007年11月 (2)
  • 2007年9月 (8)
  • 2007年3月 (1)
  • 2006年5月 (4)
  • 2006年4月 (1)

搜索

  •  

最新评论

  • 1. re: 关于Javascript的内存泄漏问题的整理稿
  • 很有帮助!谢谢
  • --selma
  • 2. re: 关于Javascript的内存泄漏问题的整理稿
  • 对象是值传递的,所以第一段代码不可能是js对象和dom对象的循环引用,而是dom自身的循环引用
  • --axiheyhey
  • 3. re: 关于Javascript的内存泄漏问题的整理稿[未登录]
  • 评论内容较长,点击标题查看
  • --鹏飞万里
  • 4. re: 关于Javascript的内存泄漏问题的整理稿
  • 评论内容较长,点击标题查看
  • --goofect
  • 5. re: 关于Javascript的内存泄漏问题的整理稿
  • 评论内容较长,点击标题查看
  • --goofect

阅读排行榜

  • 1. 关于Javascript的内存泄漏问题的整理稿(18615)
  • 2. 关于google map api中的球平投影算法接口: GProjection和GMercatorProjection类(4825)
  • 3. Lucene如何控制segments的数量?(4679)
  • 4. javascript的prototype(2524)
  • 5. Java7 VB2008都开始支持Lambda(Closure)了(2366)

评论排行榜

  • 1. 关于Javascript的内存泄漏问题的整理稿(17)
  • 2. 关于google map api中的球平投影算法接口: GProjection和GMercatorProjection类(7)
  • 3. 备忘: UTF-8的格式(3)
  • 4. Lucene如何控制segments的数量?(3)
  • 5. 复杂度为log(n)的排序堆栈算法(2)

Powered by: 博客园
模板提供:沪江博客
Copyright ©2025 鹏飞万里