庄周梦蝶

生活、程序、未来
   :: 首页 ::  ::  :: 聚合  :: 管理

我的评论

共10页: First 上一页 2 3 4 5 6 7 8 9 10 下一页 
re: 简单LRU算法实现缓存-update1 dennis 2007-10-13 16:43  
@小飞飞
怎么用?老大,缓存怎么用
re: SWF一个简单工作流引擎 dennis 2007-10-09 13:30  
@交口称赞
我明白,那你说的用户仍然是指开发者,我以为你说的是最终用户——也就是客户。
re: SWF一个简单工作流引擎 dennis 2007-10-08 14:04  
@交口称赞
简单流程也许用户可以直接定制,真正复杂的流程要考虑到正确性、性能、流程的简化以及业务需求等诸多因素,还是需要专业人士来处理。流程定义工具是工作流引擎的重要部分,楼主这个只是个简单的嵌入式引擎,用自定义的XML做流程定义,已然足够。
re: SWF一个简单工作流引擎 dennis 2007-10-08 11:50  
看了文档,似乎只支持并行路由?选择和循环还未考虑?
great work!
re: JRuby:集Java和RoR之所长 dennis 2007-09-29 11:58  
装载的吧,jruby1.0都很早release了
re: Erlang之IO编程 dennis 2007-09-28 16:41  
@千里冰封
see http://www.erlang.org/
就是Strategy模式,只不过用抽象类代替了接口,两者没有本质区别
扯的远了,这样扯的话,很多东西都能扯在一起,可也扯不出新东西
能不能搞一个 用 mysql 验证的例子,我硬是没有搞成功过。
re: 软件开发的理念与实际开发 dennis 2007-09-24 09:14  
培训?呵呵,我们公司也只是名义上有这么回事,也轮不到咱这等小小程序员,人啊,还是要靠自己
re: trim right& trim left dennis 2007-09-22 14:24  
@javazhai
呵呵,你测试过吗?拿数据说话,我测了下,重复调用一万次,正则的速度比你的方法快,增加到5万以上,正则的速度下降,不过两者的差距极小。性能上真没必要考虑这么点差距。

re: trim right& trim left dennis 2007-09-21 08:18  
兄台,正则
String s=" just for test ";
System.out.println(s.replaceAll("^\\s+", ""));
System.out.println(s.replaceAll("\\s+$", ""));
re: 我眼中的“闭包” dennis 2007-09-20 10:08  
re: 我眼中的“闭包” dennis 2007-09-20 09:54  
@彭俊
关于lambda,推荐下g9老大的lambda算子系列文章,这是开篇《lambda算子简介1.a》

而each、map、filter之类其实就是函数式编程中所谓的高阶函数,在ruby中对于内建类型Array,Hash,Map的实现是在c语言层次上,比如你看看这个
struct hash_foreach_arg {
VALUE hash;
int (*func)();
VALUE arg;
};

函数指针来代替指定匿名函数,而这个函数指针指向的是一个有两个参数(key,value)的函数,具体您得参考ruby源码,在st.c和hash.c中
re: 我眼中的“闭包” dennis 2007-09-20 08:55  
比如这里的第一层理解
3.times {puts "Inside the times method."}

这里的puts "Inside the times method."只是个lambda构造的匿名函数:
lambda()(puts "Inside the times method.")
它并没有引用自由变量,这个应该不算是闭包。
re: 我眼中的“闭包” dennis 2007-09-20 08:45  
闭包准确的定义应该是:
包含了自由(未绑定)变量的代码块,这些变量不是在这个代码块中或者任何全局上下文中定义的,而是定义代码块的环境中定义的。

而其他的说法按我的理解,其实都是lambda算子吧。
re: Java中如何重设数组的大小? dennis 2007-09-19 11:48  
System.arraycopy
@千里冰封
java在并发方面经过5,6两个版本确实已经相当强大
volatile需要强调的一点就是,它仅仅保证多线程环境下的可见性,不保证操作的原子性,举的例子不大恰当吧,想更多了解还是看看这个帖子

http://www.javaeye.com/topic/109150
re: 我深入学习C语言的三个目的 dennis 2007-09-09 14:32  
@bobo
K&R的那本我在学校的时候看过,确实很好,现在读《c primer plus》其实是复习和回忆,这本书也很不错的,对于c99标准介绍的很多,该涉及的也基本涉及到了。
re: 初用ruby的几个注意事项 dennis 2007-09-05 08:24  
这个,应该叫学习rails的注意事项比较合适
re: Erlang入门(一) dennis 2007-09-03 16:51  
好,有机会交流下学习Erlang,我也在继续深入,已经添加您的链接
传统的OO教育中一直很强调继承、多态,其实OO中最重要的是封装的概念,封装不仅仅是数据的封装(最初级的封装),如果将封装推广,抽象类或者说基类是对派生类的封装(或者说隐藏),组合也是一种封装,Adapter、state、Facade等模式更是封装,在多线程编程中,封装更是异常重要。
re: 结构的消解 dennis 2007-09-03 09:28  
隐隐约约,动态语言在消解结构上的具有得天独厚的优势
发一份,killme2008@gmail.com
况且,我认为这个需求一般用哈希表更好点。
这个东西不仅仅是无序这样的缺点,在大规模数据remove的时候将占据大量无效的内存,因为remove方法仅仅将value[size-1]赋给value[index],然后size--,可没有将value[size-1]设置为null,这个值尽管已经不用且不可访问,但是将一直占据在内存里直到整个数组被弃用。修改下remove方法:
public Object remove(int index) {
if (index >= size || index < 0)
throw new IndexOutOfBoundsException("Index out of bounds.");

Object value = values[index];

if (index != size - 1) {
// 将数组最后一个值补充到被移除的位置。
values[index] = values[size - 1];
values[size - 1] = null; //设置为null
}

size--;

return value;
}
re: java垃圾收集算法(转) dennis 2007-08-28 08:24  
转的没必要放在这吧,首页是鼓励原创的吧
Jruby现在走的也是编译的方式
谢谢,用你的方法解决了同样的问题.

奇怪的是,我另一个项目用<plug-in....一点问题都没有.
@dreamstone
我记的java里的Stack继承自Vector,多了一大堆不必要的方法,而且是线程安全的吧。我这里只是个局部变量。栈的实现并不是主题。
re: java求值字符串型逻辑表达式 dennis 2007-08-06 17:27  
@Scott.Pan
汗,看来我的表达能力有问题
其实就是一个解析逻辑表达式的程序,比如字符串”60<=a<81"
当a=71的时候,这个字符串执行的结果应该是true,就是用来计算这个的。
re: 谈NullObject模式 dennis 2007-08-03 09:43  
@一名
这时候你应当返回一个NullObject,而不是一般的Object。这个模式有一定的适用场景,请看文中所述
re: 谈NullObject模式 dennis 2007-08-01 13:43  
@金大为
有点类似的味道,java的collection框架真是模式大集合
re: 由此纪念我逝去的爱情 dennis 2007-08-01 13:33  
> /dev/null
re: 谈NullObject模式 dennis 2007-08-01 07:48  
@xmlspy
如果只是少数地方有这样的条件判断,我也认为实在没有必要,不过在我们项目的场景中,赋予默认值以及check null经常出现,因此使用此模式后确实大幅度减少了重复代码,取舍之间就看大家自己判断
re: java跳转语句 dennis 2007-07-31 16:30  
汗,这个东东没必要放首页吧
re: 一篇可能是误认子弟的言论 dennis 2007-07-30 11:51  
@dd
你的理解错了,你的例子中main仅仅是一个方法,里面的变量都是局部变量,这些变量都以指令的形式写在了字节码中,当调用方法是,这些变量也仅仅在java栈的局部变量区内,而不是常量池,方法调用也就是入栈出栈的操作。而常量池用于存储类的名称、方法和字段名称以及串常量等信息,这是完全不同的。
re: 一篇可能是误认子弟的言论 dennis 2007-07-30 11:06  
可以肯定是基本类型是没有什么内存共享和指针的,效率考虑上也不需要。不同的地方在于基本类型变量定义在何处,在类的变量或者方法的局部变量是有一点小差异,类的实例变量和类变量在常量池中有入口,不过他们入口就是他们的值,而不是类似接口、类的符号引用,同样需要常量池解析这个步骤(直接解析)。而对于静态的final变量都是在编译时解析为常量值的本地拷贝。
public class Test
{
int a=3;
int b=3;
static int c=3;
public void test(){
int a=3;
int b=3;
int c=this.c;
}

}

javap -v Test
re: 一篇可能是误认子弟的言论 dennis 2007-07-30 10:53  
我真没看过这篇文章,不知道在那里有出处,我倒想去看看,这个问题其实看过深入java虚拟机就没什么疑问了。
C语言通过一些库的支持也是有一定程度的Reflection的
蛮多有误的地方

java怎么没有全局变量?我们常常定义Globel类来存储系统的全局性参数

java虽然goto是保留字,但是其实通过break label机制也实现类似goto的效果

java已经支持enum关键字

java已经支持可变参数列表

re: 包结构也要精心设计 dennis 2007-07-27 11:30  
adapter or wrapper
re: 钱 程序 良心 dennis 2007-07-25 11:50  
Programmer与Coder是不一样的

楼上说的好,程序员只是一个普通的工作,并没有什么神圣的地方。 做什么事都要有个原则吧。
@itkui
学哲学?您也太看得起我了,是看《苏菲的世界》,一本用侦探小说形式讨论哲学的入门读物
@山风小子
太客气了,open class只是看起来更直观一点,比如
class Person
attr_accessor:name
end
Person类有name名称,我在某个地方用到这个Person类,并且想给他添加个属性mail,我不需要去修改Person源码,打开Person类,直接写就是了:
class Person
attr_accessor:mail
end
此时的Person类就有两个属性,注意仅限在你的源码中,其他人可以在别的地方添加属性。
我们也可以随时随地地为内建的类添加方法或者属性,比如,我们打开String类,添加个introduce方法很简单:
class String
def introduce
"It's me!"
end
end
调用下:“hello".introduce,输出:
"It's me!"
显然,"hello"是String类。

非常有趣,不过还是不够爽,groovy如果能直接支持open class就更好了,现在的风格更类似javascript
共10页: First 上一页 2 3 4 5 6 7 8 9 10 下一页