1)影响SWING运行效率低下的原因是什么?不是因为类嵌套比较多(在C中,类嵌套关系在编译时即展开,不存在效率问题;在java中如果没有多态的应用,就没有效率问题,即使有多态效率也不会很差;另外类嵌套尽量避免层次过多,否则非常影响程序的可读性)
2)SWING是否自己做GDI,AWT是否利用OS的GDI
谢谢

解决方案 »

  1.   

    两个问题是相关的。AWT是调用OS的GDI,所以效率高,但是比较难提供丰富的表现,因为只可以提供各个平台都实现的内容作为java的Api;Swing简单说,只有最底层的面板是本地代码的实现,其他的绘制效果都是java自己绘制上去,界面内容会丰富一些。可以说Swing效率略为低下一些。但是这些通常不会成为应用程序效率低下的原因。类嵌套层次会对效率有影响,但是应该只是限于类的首次加载到JVM中的效率。个人认为这些都不对于应用程序有大的影响,而且JVM也会不断优化,来消除这些效率的差距。