主题:【评论】Sun发布了最新的Java版本-- 5.0 Tiger版 -- Highway
下面这个例子(源程序和反编译程序)说明了Java 1.5的Boxing/UnBoxing是如何实现的,以这样的方式,它的性能不可能有任何提高。
源程序:
import java.util.*;
public class Freq
{
public static void main(String[] args) {
Map<String, Integer> m = new TreeMap<String, Integer>();
for (String word : args) {
Integer freq = m.get(word);
m.put(word, (freq == null ? 1 : freq + 1));
}
System.out.println(m);
}
}
编译以后,又反编译出的程序:
import java.io.PrintStream;
import java.util.Map;
import java.util.TreeMap;
public class Freq
{
public Freq()
{
}
public static void main(String args[])
{
TreeMap treemap = new TreeMap();
String args1[] = args;
int i = args1.length;
for(int j = 0; j < i; j++)
{
String s = args1[j];
Integer integer = (Integer)treemap.get(s);
treemap.put(s, Integer.valueOf(integer != null ? integer.intValue() + 1 : 1));
}
System.out.println(treemap);
}
}
评论:所谓的Boxing/Unboxing不过是自动做到以前需要手工编码来完成的转换,而没有任何新的东西。这样的进步,确实有可能提高程序员的编程效率,但是绝不可能提高程序的运行性能,因为它没有任何实际的改进。另外,可以注意一下所谓改进的循环是如何实现的,那不过是个简单的展开。
- 相关回复 上下关系8
😅【评论】Sun发布了最新的Java版本-- 5.0 Tiger版 Highway 字1109 2004-07-01 09:08:13
Eclipse 3.0 Build 20040715开始支持JDK5 老兵帅客 字2641 2004-07-15 16:56:54
😁Please keep us posted! Highway 字0 2004-07-15 17:26:45
Java 1.5的Boxing/UnBoxing是如何实现的
Java 也support template了? 无斋主人 字24 2004-07-02 16:29:33
Sun将在Java 1.5或者JDK 5.0中提供此Feature 老兵帅客 字418 2004-07-02 18:37:03
Java 1.5的Generic是如何实现的 老兵帅客 字3924 2004-07-01 16:02:37
😮老兵先不忙下结论。也许是DJ的问题呢? Highway 字141 2004-07-01 18:17:24