- 浏览: 147309 次
最新评论
-
sadamu900912:
long t1 = System.currentTimeMil ...
ArrayBlockingQueue V.S. LinkedBlockingQueue -
ygmyth:
jag522 写道ArrayBlockingQueue和Lin ...
ArrayBlockingQueue V.S. LinkedBlockingQueue -
iSmile:
虽然一口气没有看完,但是我觉得还是要给楼主一个大大的赞!
深刻理解JavaScript基于原型的面向对象 -
470275283:
var Coder = function (name, lan ...
深刻理解JavaScript基于原型的面向对象 -
470275283:
var Coder = function (name, lan ...
深刻理解JavaScript基于原型的面向对象
文章列表
通过前面两篇博文的积累,
使用闭包构造模块(基础篇)——Object-Oriented Javascript之三
使用闭包构造模块(优化篇)——Object-Oriented Javascript之四
我们现在已经具备了足够的知识,去完成一个比较有挑战性的任务——构造一个简化 ...
上一篇博客(使用闭包构造模块(基础篇)——Object-Oriented Javascript之三)介绍了闭包构造模块的基础知识,这一篇着重介绍“优化”。这里“优化”指的是性能、可维护性。你可以不依照这篇文章推荐的实践方法,也可以写出具备相当功能的程序,但是程序可能在性能、可维护性上有缺陷。希望本文能够带给读者一些小小的优化技巧,如有发现错误之处或有更好建议,盼能回复,不尽感谢。
目录:
利用闭包缓存数据,提升性能
循环内利用匿名函数闭包缓存变化的数据
通过“先引用,再使用”,弱化模块间的依赖
利用闭包缓存数据,提升性能
为了说明这个观点,我使用下 ...
为什么要模块化js?
如果你问我这个问题,我会这样回答:
如果你从未被全局变量坑过,请绕道;
如果你从未遭受过维护大段大段的代码的噩梦,那我祝你新春愉快,早点平安回家;
如果你从未纠结过如何优雅地组织代码,那么请回头是岸,不要再往下看。
模块的基本思想是,将复杂零散的东西,构造成一个简单、独立的整体。台式电脑,笔记本电脑,IPAD,都是整合电子计算元件的经典“模块”,你无须理会他们内部使用了多少个D触发器,使用了多少个二极管,你只需去享受鼠标键盘或者触屏带给你的舒适体验。台式电脑,笔记本电脑,IPAD,尽管都是同样电子产品的模块,但是却能一个比一个简单,一个比一个更受人喜爱。 ...
引子
in和exists的讨论从未间断过。之前有“今年是龙年大哥”的有数据有真相的测试博文,现在有程序员老鸟写sql语句的经验之谈上的疯狂讨论。关于exists和in,就是很少人站出来,直白地分析二者本质上的差别,这方面的文章大都是用晦涩的文字表述,或者直接给结论——什么情况下用exists,什么情况下用in,而不给出原理。结果时至今日,还有许多人认为exists一定比in性能高。下面鄙人用JAVA的伪代码,从理论上分析exists和in的时间复杂度。
学生信息表(student_id 学生id, name 学生名称)
student(student_id,name)
...
PL SQL
http://docs.oracle.com/cd/B14117_01/appdev.101/b10807/13_elems002.htm
http://docs.oracle.com/cd/B14117_01/appdev.101/b10807/06_ora.htm#i36056
http://docs.oracle.com/cd/B14117_01/appdev.101/b10807/06_ora.htm#i7105
先上效果图。(山寨的对象忘了网址,大家搜索相关文字应该可以找到)
网站布局来来去去不过如此。总结起来两种
1 左边的树DIV,float/position脱离文档流元素,然后右边的主内容,主内容的margin-left足够大,“覆盖”住左边的树DIV。
例子 http://www.blogjava.net/sealyu/archive/2010/01/08/308640.html
JAVA TUTORIAL
2 一个wrapper包围住float:left和float:right两个块,固定宽度,以及最后在后面加个footer清除,让wrapper包围浮动块。 ...
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人会被杀死;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去, ...
http://blog.csdn.net/v_JULY_v
编程之美
编程珠玑
算法导论(太厚了!)
一、js是世界上最容易被误解的语言
javascript本质上是基于原型的语言,但是却引入了基于类的语言的new关键字和constructor模式,导致javascript饱受争议。
javascript的作者Brendan Eich 1994年研发这门语言的时候,C++语言是最流行的语言,java1.0即将发布,面向对象编程势不可挡,于是他认为,引入new关键字可以使习惯C++/java程序员更容易接受和使用javascript。
实际上,事实证明引入new是个错误的决定。
C++/java程序员看到new一个 function的时候,会认为js通过f ...
原型语言
一、什么是原型语言
悟空问观音:什么是原型语言
观音:一切都是对象,对象继承对象,这就是原型语言。
悟空:好,明白
唐僧: 详细一点来说,
1 只有对象,没有类;对象继承对象,而不是类继承类。
2 “原型对象”是核心概念。原型对象是新对象的模板,它将自身的属性共享给新对象。一个对象不但可以享有自己创建时和运行时定义的属性,而且可以享有原型对象的属性。
3 每一个对象都有自己的原型对象,所有对象构成一个树状的层级系统。root节点的顶层对象是一个语言原生的对象,只有它没有原型对象,其他所有对象都直接或间接继承它的属性。
...
悟空: ...
一、起源
这段代码的作用是将字符串中${param}替换为map中的数据
private static String replaceVariantOldVersion(String str, Map<String,String> variantMap){
Matcher m = Pattern.compile("\\$\\{.*?\\}").matcher(str);
StringBuffer rtn = new StringBuffer();
while(m.find()){
String foundStr = m. ...
1. 变量是否会自动初始化?
在类定义的field,String的值被赋予NULL,int被赋予0。而在方法内的String,int没有手动赋值会报编译错误The local variable s2 may not have been initialized。
class Test{
int a; //a==0,不论是否为static
...