- 博客(147)
- 资源 (2)
- 收藏
- 关注
原创 线程工厂
1、线程池需要创建一个线程,都要通过一个线程工厂来完成。默认的线程工厂创建一个新的、非后台的线程并没有特殊的配置。ThreadFactory只有唯一的方法:newThread,它会在线程池需要创建一个新线程时调用。2、利用安全策略为某些特定的代码基授予权限,可能想要使用Executors中的privilegedThreadFactory工厂来构建你的线程工厂。不使用privilegedT
2009-04-01 23:43:00 859
原创 构造后再定制ThreadPoolExecutor
1、通过构造函数传递给TheadPoolExecutor的参数可在创建后通过setters进行修改。2、如果通过Executors中的某个工厂方法创建,将结果转型为ThreadPolExecutor,然后访问settersExecutorSerivice exec=Exectuors.newCachedThreadPool();if (exec instanceof Thread
2009-04-01 23:43:00 1470
原创 线程池队列饱和策略
1、当一个有限队列充满后,线程池的饱和策略开始起作用。2、ThreadPoolExecutor的饱和策略通过调用setRejectedExecutionHandler来修改。不同的饱和策略如下:1)AbortPolicy:中止,executor抛出未检查RejectedExecutionException,调用者捕获这个异常,然后自己编写能满足自己需求的处理代码。2)Discar
2009-04-01 23:42:00 1603
原创 ThreadPoolExecutor配置
一、ThreadPoolExcutor为一些Executor提供了基本的实现,这些Executor是由Executors中的工厂newCahceThreadPool、newFixedThreadPool和newScheduledThreadExecutor返回的。ThreadPoolExecutor是一个灵活的健壮的池实现,允许各种各样的用户定制。二、线程的创建与销毁1、核心池大小、
2009-04-01 23:41:00 1645
原创 线程池(java.util.concurrent.ThreadPoolExecutor)的使用(二)
当 Executor 已经关闭,并且 Executor 将有限边界用于最大线程和工作队列容量,且已经饱和时,在方法 execute(java.lang.Runnable) 中提交的新任务将被拒绝。在以上两种情况下,execute 方法都将调用其 RejectedExecutionHandler 的 RejectedExecutionHandler.rejectedExecution(java
2009-04-01 23:30:00 5690 1
原创 线程池(java.util.concurrent.ThreadPoolExecutor)的使用(一)
一、简介 线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为: ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit unit,BlockingQueue workQueue,Rejected
2009-04-01 23:29:00 10054 1
原创 JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor)使用简介
在多线程大师Doug Lea的贡献下,在JDK1.5中加入了许多对并发特性的支持,例如:线程池。一、简介线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime, TimeUnit uni
2009-04-01 23:25:00 1706
原创 微软终于想通把Script56文档更新了
作为微软脚本技术的的官方文档Script56.chm从2001年发布到现在,虽然其内容说不上过时,因为毕竟脚本引擎还是5.6版本。不过当时的制作质量和示例内容的容量对于讲求与时俱进的今天来说,还是有些too old(今天上了会儿bbs,才又想起了这个词)了。在很多次check该文档更新未果后,今天无意中却得到了意外的收获:) 微软脚本技术文档Script56更新后容量比原来大了近
2007-05-05 19:52:00 1005
原创 关于DOM Explorer插件的功能和问题
不知道从什么时候开始,微软做事情总是要比别人慢上一拍,而且常常还需要别人来push他。从google的search到msn的search,从google的map到msn的map,再从firefox红火到IE7项目的"被迫"启动;其实这些东西对微软来说,也都不是一蹴而就的事情,可是微软就是要比别人慢半拍才过瘾。这不,当大家都说firefox可以方便的查看Web页面的DOM时,微软马上又收拾收
2007-05-05 19:51:00 1492 1
原创 谈一谈支持cross-browser的解决方案
昨天说了说我对于dhtml开发中cross-browser支持的问题,那么我们怎么来最经济实惠的实现cross-browser呢?当然这里就不讨论是否有条件或有必要来做了问题了,昨天已经详细说过我的观点了,而这里只是从dhtml开发本身上来看。 首先我们知道由于JavaScript是解释性的语言,而我们说的支持脚本cross-browser运行,只是我们对于不同browser中相
2007-05-05 19:50:00 928
原创 SmartNavigation在Fx2.0中下岗了...
当我们在最开始接触ASP.NET时,除了被.NET的整个框架和code-behind的代码方式吸引之外,同时对一些M$提供的cookies也非常的欣赏。其中SmartNavigation特性就是大家印象比较深的,不过这个cookie的使用和它受到的期望却相去甚远,这是为什么呢?微软在Framework 2.0里又是怎对待它的呢? 关于Page类的SmartNavigation属性的原
2007-05-05 19:50:00 980
原创 关于对cross-browser支持的一些看法
做dhtml开发,除了调试不是十分的方便外,我们还需要或多或少的考虑同一浏览器的版本问题。而比这些问题更让复杂dhtml开发郁闷的,却是对cross-browser浏览的支持。正好有人问到这个问题,我就简单的说说我的看法。 目前我是专做IE上的dhtml开发,所以我blog里的脚本开发分类都叫做"JScript&DHTML",而不是叫做"JavaScript&DHTML",也就是说我
2007-05-05 19:49:00 690
原创 IIS对于Web页中相对路径解析的问题
我们知道网页中的路径关系一般有两种情况,一是相对路径,一是绝对路径。今天在调试一个bug的时候,发现IIS对于相对路径的解析有些不一致的问题,害我调试了半天。那么到底是什么不一致呢? 简单说一下Web页中路径的关系,前面说的绝对路径么没啥可说的,不过有两种情况。一是以protocol prefix开头的绝对路径,这是最绝对了,没有任何含混的东东;二是以"/"开头的绝对路径,这个嘛就是
2007-05-05 19:48:00 1833
原创 怎样在Web开发中完美控制IE标题栏
IE以及任何目前浏览器的标题栏,原本都应该是由这个HTML标签来控制的,当然现在仍然也是。只是目前的鬼趋势是,你最好不要再刷新你的网页页面了,然后还需要接受用户的任意蹂躏。这也就是传说中神龙见首不见尾,杀人于无影无形的悖时Ajax技术! 在浏览器的标题栏中显示贴切的页面标题,是一个网页专业的表现,同时也能对搜索引擎友好。当然如果放上适当的提示信息,也会很有意义。那么怎么"动态"的
2007-05-05 19:47:00 524
原创 IE6 Hotfix MS-042将导致其Crash!
近来Test Team和部分Devs发现,在某些时候使用我们产品中的右键菜单会导致IE 6.0(sp1)直接Crash掉。从不同机器上IE不断Crash的情况来看,这应该可以确定是IE的问题,而不是偶然的机器环境导致的问题。虽然没有一个固定的步骤来准确复现这个问题,但是大家还是感觉到这是一个新近才集中出现的问题,因为我们产品中所使用的菜单控件创建于2004年11月30日,虽然后来有众多的修
2007-05-05 19:47:00 625
原创 IE解析完全相同html代码的不同表现
昨天晚上一不小心被IE折磨惨了,明明在*.htm中显示非常完美的HTML代码,原样放入*.aspx文件中后,就完全歇菜啦!俺把doctype也折腾了个遍,还是丝毫不得要领。难道是传说中的rpwt?! 如果您有任何讲解和建议,请不吝赐教。 为了突出问题,我就做一个简化了的示例来表示。看如下html代码(其实超级简单,当然也正是越简单才能越说明问题,同时也就越郁闷):table bo
2007-05-05 19:46:00 564
原创 IE7提供XMLHttpRequest对象为兼容
在IE7的开发中,据说新增加了一个Native对象——XMLHttpRequest。怎么难道开发IE7的"新警察"不知道IE6们都用ActiveX对象XmlHttp吗?XmlHttp出了什么问题,IE7为什么要这么做?原来一切就为了一个简单的兼容而已,但让人感慨颇多。 IE7提供XMLHttpRequest对象后,当然会继续支持ActiveX对象XmlHttp,这是微软这么几十年来产
2007-05-05 19:45:00 1050
原创 IE6使用add方法添加optGroup的bug
合理的使用optGroup元素,可以极大地增强select下拉列表框的表现能力。我是比较喜欢在select中使用optGroup做数据分类的,不过不知道微软搞什么飞机,就这么一个html标签bug还真是不少。刚才又在使用DOM操作select添加optGroup时发现了问题。 如下简单的代码,我们会得到什么结果呢?select id="slt1">select>script la
2007-05-05 19:45:00 665
原创 encode脚本和normal脚本混用的问题
半年前第一次做脚本编码的时候,由于没有什么使用经验,于是在51js上询问了一下encode脚本和normal脚本混用是否有什么问题呢?结果没有得到任何有建设性的意见,这也至少说明了两个问题,一是没有人在意,二是就没有什么问题嘛。当然我更乐意于接受后一种结果,就开始了encode脚本和normal脚本的混合使用。 在这样的理解下做了很多的脚本,似乎也真的没有出现过什么问题,于是更加
2007-05-05 19:44:00 570
原创 模态窗口对字符串参数的巨无聊限制
由于IE在对象及对象引用的回收上有不少的问题,我一般很忌讳在不同的窗口和Frame之间传递脚本对象。一般情况下我都是用简单类型来传递参数,比如数字和字符串。对于复杂对象先序列化字符串再在窗口和Frame之间传递,一直以来都挺好的,也没有什么遇到什么问题。 前几天Tester Team发现一个非常诡异的bug,在模态窗口里的显示的一些数据,当数据量大了后就会出现不确定的错误。开始以为是
2007-05-05 19:43:00 597
原创 应用虑镜特效时遇到浏览器权限问题
人要是倒霉啊,据说喝凉水都塞牙。虽然这么些年了牙没有被凉水塞过,不过倒霉的事情却没有因此而消失。一个使用了快1年的脚本菜单,在新来的PM的机器上始终弹不出来,真不知道是在欺生还是在玩我。由于产品安装包的脚本代码都经过了混淆和加密,要在那个出问题的机器上定位问题还真的郁闷。 虽然PM的机器上有VS.NET,不过加密后的脚本是不能跟踪的,咣当。要是把开发版本部署到那个问题机器上去调试,那
2007-05-05 19:43:00 476
原创 判断用户浏览器是否是XP SP2的IE6
由于Windows XP的补丁SP2,对IE6的安全性也做了很多的提升,使得有不少原来我们可以使用的功能,会变得很奇怪甚至歇菜掉:(。特别是弹出窗口、模态窗口和Popup窗口等受的影响相当大。那么我能不能判断用户使用的IE6是普通IE6(IE6sp1)还是IE6+xp sp2呢? 下面是两个比较典型的IE6浏览器UserAgent字段: 1、Windows XP + SP1 (
2007-05-05 19:42:00 852
原创 搞笑的W3C和M$对DOM中属性命名
无意中发现W3C和M$在DOM的属性命名中,对于whatElement格式居然有截然完全不同的态度。下面我们比较一下W3C的DOM3和M$的IE6中的DOM在属性命名上的区别。 在M$的IE6的DOM实现中,有activeElement、documentElement、frameElement、fromElement、owningElement、parentElement和toEle
2007-05-05 19:41:00 828 1
原创 在XP+SP2下隐藏模态窗口的状态栏
微软的Windows XP SP2是一个非常棒的Services Pack,特别是对IE添加了Add-ones的管理功能,即使被恶意ActiveX强行安装,以可以非常轻松的将其disable掉。不过SP2对安全增强,同时也给我们带来一些烦恼,其中对弹出窗口的限制,就非常的不爽。 虽然我也是非常强烈的弹出窗口反对者,但是我一般反感的是泛滥的window.open这类窗口,而对于模态窗口
2007-05-05 19:41:00 636
原创 处理IE中Bubble Up 事件模型的细节
我们都知道,IE实现的是一种叫做bubble up的事件模型。在这个模型中我们的事件可以通过Web页元素的hierarchy,从事件触发元素向其parentElement传递,除非被显示的cancel。不过在一些复杂的事件响应处理中,还有很多细节需要仔细考虑。 对于Web元素可侦听的事件来说,大多数的事件都是比较简单的。比如什么onload、onclick、onkeypress、onm
2007-05-05 19:40:00 690
原创 继续来研究JScript解析引擎的GC问题
昨天发现了一个可以引起IE的JScript解析引擎发生Memory Leak的bug,及其引起该bug的代码。后来问题男和Laser.NET两位网友给出了很多很有意义的讨论,当然ccBoy网友也给了不少建议,不过ccBoy却更关心innerHTML和appendChild的效率,对ML问题一带而过,好像觉得那根本不是什么大不了得问题。 结果我在google里搜了搜,中文论坛和网站里关
2007-05-05 19:39:00 843
原创 同一页面引入多个JS文件的编码问题
原来只是觉得IE解析HTML文件的时候,需要知道其传输编码,才能正确处理,而从来没有在意过JavaScript文件的编码问题。结果今天发现同一页面中的多个JavaScript文件如果保存编码不同,也会有出错的问题。这个一般怎么会遇到呢? 原来写的js文件,从来没有关心过他们的编码问题。可是后来不知怎么的,发现一些单独都好使得文件,被同时引用到一个页面中时,就错误不断,根本不能执行。D
2007-05-05 19:39:00 1182 1
原创 IE的JScript解析器可能有Memory Leak
在家过完了年,感觉精神很爽。明天大家可能都就上班了,新的一年开始了,希望大家新年新气象。而其我已经发现一点点新年的灵感了哦~,我原来发现IE中的JScript解释器可能有的Memory Leak的问题,可老是早不到出问题的代码,今天一下就逮到了一个可以复现的case~~ 想当初我做那个无刷新的JScript TreeView控件时,硬是被折磨坏了。IE进程IEXPLORE.EXE的内
2007-05-05 19:37:00 762 1
原创 IE的模态对话框里的问题还真是不少
模态对话框(Modal Dialog),是一种会block顺序执行程序的窗口,比如C#里的MessageBox.Show(this,...),JavaScript里的alert(...)、confirm(...)等,是我们最常见的模态对话框。不关闭这种对话框程序的当前线程就被一直挂起了,这种窗口的特性最适合用来做条件分支的判断提示和Wizard窗口。 在IE里面,我们可以通过win
2007-05-05 19:34:00 571
原创 Web开发中的Drag&Drop完全手册
这几天做了一些drag&drop操作方面的工作,在这里把一些注意事项记录下来,算是给自己备个忘,也给需要做类似工作的人留个树阴。这里要讨论的drag&drop是指使用IE提供的内置机制,而不是使用鼠标模拟的那种"假"drag&drop,比如移动一个div或span的效果那种。 要实现和控制drag&drop操作,那么首先第一点要弄清楚的是,到底哪些元素是可以在Web上被drag的?实
2007-05-05 19:31:00 519
原创 在Option条目中填充前导空格的方法
在使用Web页面上的下拉列表框(SELECT element)显示数据列表时,有时我们会遇到有层次的数据条目。比如论坛中的子论坛和它的分类之间,以及一些具有包含关系的层次数据条目。使下拉列表框中,不同的level有一定的显示缩进将是非常友好的一种排版方式。 如果在HTML编写状态下,或在ASP等脚本语言中,制作这样的下拉列表窗口非常容易。我们知道空格" "在Option标签的前后
2007-05-05 19:30:00 645
原创 关于使用runtimeStyle属性问题讨论
当我们在IE中使用IE提供的DOM时,我们会发现关于style的相关属性有三个分组,它们分别是style、runtimeStyle和currentStyle。关于这个三种style的作用和基本用途,我曾经在这篇文章中有讲过,但随着越来越深入的使用,总算对怎么使用runtimeStyle属性有了一些自己的心得。 首先,runtimeStyle属性不是必需的,它的存在甚至远没有curre
2007-05-05 19:30:00 576
原创 使用onbeforeunload属性后的副作用
在使用博客园的编辑器编辑文章时,有一个挺体贴用户的功能,就是如果用户进入编辑器后,不是执行"POST"操作而要退出当前编辑器页面,我们会得到一个Alert窗口提示(如下图)。这个功能其实很简单,就是通过处理window、body或frameset对象或元素的onbeforeunload事件实现的。 这个unbeforeunload的具体用法我就不说了,反正几乎能引起当前页
2007-05-05 19:29:00 841
原创 在Web页面中控制其元素的选择状态
为了在Web页面上使用文本搜索,在文本框内实现选择效果,在页面上屏蔽选择状态等。我们需要使用脚本(如JavaScript)来精确的控制页面中UI元素的选择状态。下面从操作元素选择区和屏蔽元素被选择两个方面来说一说。 操作元素选择区,我们可以使用对应对象的select()方法选择页面内容,其中包括INPUT元素中的内容、TextRange对象中的文字和controlRange Colle
2007-05-05 19:28:00 660 1
原创 HTML中不支持静态Expando的元素
在使用脚本统一处理一批页面的时候,我希望通过被处理页面的TITLE元素取到文档的标题和我自定义的一些属性。这些附加的属性是我在服务器端通过Attributes集合添加的,可是运行的结果和我的期望老是相去甚远,怎么我在TITLE元素里写入的自定义属性老是空值呢? 客服端和服务器端代码分别是: ASPX:title id="title" runat="server">Que
2007-05-05 19:28:00 450
原创 精确地计算Web页面中滚动条的宽度
原来我一直以为Web页面中的滚动条宽度是不能精确确定的,因为用户自己可以在桌面属性中设置系统滚动条的宽度为任意整数。再加之上次在MyMsn的代码里看见M$程序员的注释,更加让我认为滚动条的宽度是不能精确计算地。但事实是怎么样的呢? 实际上对于HTML里面的容器元素,它们的长、宽之间存在这样的运算关系: width = border-left-width + clientWidt
2007-05-05 19:27:00 528
原创 滚动TextArea中内容到底部的BT方法
记得很久以前玩聊天室的时候,新的聊天内容被显示出来后,滚动条总是会滚动到聊天内容窗口的底部。不过那种聊天窗口一般都是使用frame/iframe制作的,我们可以使用其document对象的scrollTop属性来滚动窗口。如果使用TextArea来记录递增内容,怎么达到同样的效果呢? 今天下午一个同事说他的监控日志窗口是使用TextArea来做的,因为日志内容很多,也只有TextAr
2007-05-05 19:26:00 887
原创 在使用optgroup时遇到的缺陷与修复
在IE6.0里微软提供对HTML4.0中定义元素optgroup的支持,不过当我今天使用optgroup时,居然发现其在事件处理上存在bug。该bug影响select元素上的onchange事件,具体表现及处理如下。 我们看一下这个带有optgroup的select事例: Option01 Item Option02 Item Option03 Item
2007-05-05 19:25:00 938
原创 使用乱序标签来控制HTML的输出效果
在HTML的元素中,有一个比较特殊的元素form。我们用它来收集表单数据并提交给服务器,并且理论上说来它是没有任何的UI被呈现的。当然如果我们在body元素后紧跟一个form,这样一来似乎看不出来有什么UI呈现的问题,可是当form存在于别的元素之中时,就有问题了。 什么问题呢?看下面的示例,由于页面布局的需要,我需要控制页面的滚动条。我把body的滚动条隐藏掉,然后使用一个div元
2007-05-05 19:24:00 775 1
原创 HTML Elements 和 DHTML Objects
在查看MSDN时,我们会发现有的特性描述是针对HTML Elements的,而有的描述却是针对DHTML Objects的。虽然地球人都知道DHTML是指的Dynamicl HTML,那么它和HTML元素是什么关系呢?其实HTML是DHTML的一个完全的子集,任何的HTML元素也就是DHTML中的对象。 不过在MSDN中,M$对于HTML Elements和DHTML Objects
2007-05-05 19:24:00 517
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人