JAVA float point 漏洞

迷路的游侠 发布于 2011/05/24 17:44
阅读 529
收藏 2

据说在接受double的参数上输入:2.2250738585072012e-308

JVM就会出现假死。

我试了下果然是这样的。。。。。大家可以去找JAVA的网站试试

红薯这个补丁你打了没呀?

加载中
0
红薯
红薯

没有哦,因为我没用到浮点数

0
ddatsh
ddatsh

public class Test{
    public static void main(String [] arg)
    {
        double d=2.2250738585072012e-308;
        System.out.println(d);
    }

}

这样吗?

0
ddatsh
ddatsh

import java.io.Console;
public class Test{
    public static void main(String [] arg)
    {
     Console console = System.console();
     String username = console.readLine("Enter username: ");
        Double d=Double.valueOf(username);
    }

}

这个也米有死啊

0
卖豆浆不卖油条
卖豆浆不卖油条

经验证,是真的,如上图,一编译就死掉,java version "1.5.0_10"

0
咖啡碼農
咖啡碼農

晕,1.5的JDK

0
ddatsh
ddatsh

哦? 只要是1.5就会死?

我是最新的1.6

0
于忠达
于忠达

疯狂的攻击吧!

0
一号男嘉宾
一号男嘉宾

run:

2.2250738585072014E-308

50 41 7C 52 4E 39 30 30 31 7C 41 53 4F 4B 7C 50 23 33 35 31 7C 03 

2329

成功生成(总时间:3 秒)

Netbeans7.0+JDK1.6没问题啊~我还做了其他运算,3秒就出来了~

0
疯狂的艺术家
疯狂的艺术家

我们都用BigDecimal

0
浪客Dandy
浪客Dandy

这都多老的消息了

返回顶部
顶部