当前位置: 技术问答>java相关
javaSwing的性能如何提高。
来源: 互联网 发布时间:2017-03-18
本文导语: 我用JTable,每秒钟大概有1000条数据插入,界面就死了。请问如何提高他的性能 | 不要一条一条的插,做一个缓冲区,存满1000条或者2000条 再一次性插入。Sun官方网站上有一个例子,一次插入...
我用JTable,每秒钟大概有1000条数据插入,界面就死了。请问如何提高他的性能
|
不要一条一条的插,做一个缓冲区,存满1000条或者2000条
再一次性插入。Sun官方网站上有一个例子,一次插入所有的纪录
和多次插入的性能差100多倍。不光是Java里,VC, VB我都试过,
差距也挺大,但Java最明显。
另外,你应该令开一个线程处理,Swing组件对线程不安全,
你要注意,用EventQueue.InvokeLater来激活,并且线程适当的
放弃一些时间片,好让界面线程有机会刷新重绘自己。否则IO
经常会阻赛界面,只当所有的数据都读入时,最后才一次刷新,
没有动态的效果。
再一次性插入。Sun官方网站上有一个例子,一次插入所有的纪录
和多次插入的性能差100多倍。不光是Java里,VC, VB我都试过,
差距也挺大,但Java最明显。
另外,你应该令开一个线程处理,Swing组件对线程不安全,
你要注意,用EventQueue.InvokeLater来激活,并且线程适当的
放弃一些时间片,好让界面线程有机会刷新重绘自己。否则IO
经常会阻赛界面,只当所有的数据都读入时,最后才一次刷新,
没有动态的效果。
|
如果数据量太大,你可以用单独的线程来加入数据,然后在界面上刷新一下了,如果你把工作都放在界面的事件里作,那肯定是半死不活的了。
|
关注这个问题,我在作日志服务的时候也遇到速度这个问题,当日志产生很多的时候,图形显示有时候跟不过来,缓冲区里会堆积很多记录。
|
SwingWorker.java, find in java.sun.com
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。