孟岩ID:myan
[修改头像]
1551782次访问,排名6好友1人,关注者32
总是在思考存在的问题
myan的文章
原创 145 篇
翻译 0 篇
转载 3 篇
评论 5194 篇
最近评论
ranzj:我只抱怨自己的努力不够。
ranzj:我毫不怀疑 SilverLight 是个“钱”途无量的玩意儿。
winvc:还有 之前已经看到过一篇署名孟岩的文章了 也是自称学计算机的 在MOP发的文章 题目是《不知名的程序员写给想学编程的朋友》(最后署名前还特别声明了下自己是初中文化全靠自学的 大哥 这样的人全国有几千万 没几个比你这种货色差的)

那文章是看的我想吐 不知道是你还是重名了 不过咋跟你这篇文章风格这么像呢 都是不懂 逻辑混乱 瞎喷
你是自己想不明白问题 但认为自己想……
winvc:osa!!!
建议你看几本书 补充下知识 尤其是编译原理方面的
你这个人思考问题特肤浅 还以为自己想的很深入 真是越笨的人越自大 你窝家里窝的了
lyaqys:强烈同意,只懂技术,开发出来的东西用户都不知道怎么用,有什么用啊!
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes
文章分类
收藏
    相册
    测试
    友情链接
    老赵的博客
    存档

    原创 Java基础类中的恶作剧?

    新一篇: 四种语言的unicode处理简述

              一个叫Prashant Deva的人发现在Java 5.0的java.io.PrintStream中有这样一段代码:

    protected void setError() {
      trouble = true;

      try {   throw new IOException();} catch (IOException x) {}
    }

            注意这段代码中 try...catch 除了空耗系统资源之外毫无意义。这样的代码隐藏在系统底层,频频使用,还伴随我们这么久,未免让人啼笑皆非。善意的猜测是,某位程序员本想在try block添加一些代码,于是先写下这些stub,之后居然忘了,留下笑柄。恶意的揣度则完全是一场逃脱了code review的恶作剧。

            不过我手上并没有Java 5.0,而在Java 6.0的source中,我看到这个恶作剧已经被清除。

            看来Java的io不仅仅是花哨而已呢!

    发表于 @ 2007年01月23日 22:16:00|评论(loading...)|编辑

    旧一篇: Java替代C语言的可能性

    评论

    #Raiden56 发表于2007-01-23 23:03:13  IP: 222.210.52.*
    好耍的事~希望这样的东东不只是just for fun.
    #Raiden56 发表于2007-01-23 23:04:20  IP: 222.210.52.*
    好耍的事~希望这样的东东不只是just for fun.
    #starhunter 发表于2007-01-24 13:40:24  IP: 61.51.144.*
    孟老,编译成BYTECODE时应该会优化掉它,优化可不只是原生编译的专利啊
    #chesterwoo 发表于2007-01-24 15:48:18  IP: 202.108.130.*
    to starhunter:

    呵呵,先试一试再说不迟呀。
    #chesterwoo 发表于2007-01-24 15:53:18  IP: 202.108.130.*
    从反编译的结果来看,1.5.0_02版本仍然有这个看似无用的代码。
    #stevech 发表于2007-01-24 22:11:48  IP:
    /**
    * Set the error state of the stream to <code>true</code>.
    *
    * @since JDK1.1
    */
    protected void setError() {
    trouble = true;
    try {
    throw new IOException();
    } catch (IOException x) {
    }
    }
    #nanman 发表于2007-01-24 23:22:24  IP: 218.19.101.*
    1.5.0_10 也有,我觉得不奇怪
    #zdbj2ee 发表于2007-01-25 08:50:40  IP: 60.16.72.*
    这段代码我在jdk1.5.0_10中也看到了,没想以sun的jdk还有这样的代码。@since JDK1.1,这样的问题在jdk1.6才修正。
    #jiangfeng128 发表于2007-01-25 09:25:26  IP: 221.216.157.*
    真的假的
    #xiaonian_3654 发表于2007-01-25 09:59:27  IP: 202.95.81.*
    你知道你为什么是一个2流程序员么, 因为你每天关心的东西都太娱乐了,改行作娱记吧

    关于这段代码我的解释是, 这个是用来调试用的, 这个异常是是给调试期看的

    #lw549 发表于2007-01-25 12:25:09  IP: 207.46.89.*
    测试代码,鉴定完毕!
    #JavaDevelopment 发表于2007-01-25 13:02:37  IP: 218.104.43.*
    这是在JDK1.5中加入的,在1.4中没有。
    1.4源码:
    /**
    * Set the error state of the stream to <code>true</code>.
    *
    * @since JDK1.1
    */
    protected void setError() {
    trouble = true;
    }

    当然这是一个小bug,可能是某个developer要调试代码而没有及时的删除,不必大惊小怪!
    只要是软件都会有bug的,也没有那个程序员写过从来没有bug的代码,也许永远不能。:)
    #fiji8373 发表于2007-01-25 20:58:37  IP: 88.217.45.*
    天啊, sun, 我寒一个。
    #fyzhao 发表于2007-01-26 09:39:45  IP: 221.226.103.*
    找到一个bug倒是真的没错,可是"看来Java的io不仅仅是花哨而已呢!"这一句站得住脚吗?
    #seamanwang 发表于2007-01-26 10:08:28  IP:
    人不是神,更何况神有时候也要打会儿盹!
    #kik107732781 发表于2007-01-26 11:02:40  IP: 221.201.164.*
    BUG 再所难免...人熟能无过....
    #mhmdanger 发表于2007-01-26 12:33:27  IP:
    调试用的东西要保留给用户?
    #gccr 发表于2007-01-29 10:03:38  IP: 203.86.43.*
    Java的IO本来就够乱的.谁敢否定?
    #linys668 发表于2007-03-18 10:40:28  IP: 220.163.17.*
    刚刚比较了一下j2se1.5.6和j2se6.0中的代码,的确有此事,如下:
    j2se1.5.6
    /**
    * Set the error state of the stream to true.
    *
    * @since JDK1.1
    */
    protected void setError() {
    trouble = true;
    try {
    throw new IOException();
    } catch (IOException x) {
    }
    }

    j2se6.0
    /**
    * Sets the error state of the stream to true.
    *
    * <p> This method will cause subsequent invocations of {@link
    * #checkError()} to return <tt>true</tt> until {@link
    * #clearError()} is invoked.
    *
    * @since JDK1.1
    */
    protected void setError() {
    trouble = true;
    }
    #54powerman 发表于2007-04-22 18:49:34  IP: 125.33.103.*
    实际公开的源码未必是release的版本。无可厚非,拿到源码你看看就是了,没必要如何如何。
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 孟岩