西西河

主题:【游戏】不看不知道,一看吓一跳!!! -- Highway

共:💬47 🌺6
全看分页树展 · 主题 跟帖
家园 有些问题你可能不知道。第一题在以前一直都是错误的。但

问题是Java 5.0引入了boxing/un-boxing feature。于是出现了一些“不伦不类”的东西。Java 5.0中有好多东西并不是非常自然的,完全是出于市场上的需要。因为.net有,而Java没有,那在市场宣传上会显得很难看。

第二题有些争议。因为java的最根本本质是dynamic linking。编译器那样优化,性能上是有所提高,但违反了Basic principle,合适吗?

第三题你Java的看法是不对的。事实上,Java和C/C++一样,是先将那两个变量算出来作为常量的。但Java没有“智能”,不知道将中间结果放到long临时变量中。

反编译的Java code是这样的。

public class LongDivision
{
    public LongDivision() {}

    public static void main(String args[])
    {
        System.out.println(5L);
    }

    private static final long MILLIS_PER_DAY = 0x5265c00L;
    private static final long MICROS_PER_DAY = 0x1dd76000L;
}

在.NET中,编译的时候,编译器会给出错误提示The operation overflows at compile time in checked mode 。看来这点上,.NET要聪明一些。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河