主题:【游戏】不看不知道,一看吓一跳!!! -- Highway
问题是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要聪明一些。
- 相关回复 上下关系8
😅再补充两句,C/C++其实和Java一样“笨”。 Highway 字652 2005-07-05 13:00:49
😮FT, 的确如此 1 truth 字822 2005-07-05 15:31:45
😁看来好多东西要动手才行。 Highway 字24 2005-07-05 17:37:50
😉有些问题你可能不知道。第一题在以前一直都是错误的。但
😥发错了, 空贴 truth 字0 2005-07-05 15:30:11
呵呵, 我们是从程序员的角度来看问题的 1 truth 字1455 2005-07-05 13:51:52
😁谢谢参与。希望什么时候能看到阁下的原创大作!!! Highway 字0 2005-07-05 15:01:41
😜题目给的有问题阿 whoknows 字399 2005-07-01 20:08:49