当前位置: 技术问答>java相关
希望有人来做一做JAVA的性能研究.
来源: 互联网 发布时间:2015-06-13
本文导语: JAVA的"平台无关性"让我们感受到了她的魅力,但是她的性能的确需要更进一步的提高. 在此我想呼吁一下:各位喜爱JAVA技术,喜欢用JAVA语言来编程开发的朋友们,让我们一起来努力吧---让我们的JAVA产品具有更高的性能! 几...
JAVA的"平台无关性"让我们感受到了她的魅力,但是她的性能的确需要更进一步的提高.
在此我想呼吁一下:各位喜爱JAVA技术,喜欢用JAVA语言来编程开发的朋友们,让我们一起来努力吧---让我们的JAVA产品具有更高的性能!
几个方面:
1. JVM(JAVA虚拟机)
2. SWING组件(主要是常用组件,如JTable等)
3. I/O(输入/输出)
4. GC(垃圾收集器,内存回收)
5. 编程算法
6. 多线程
欢迎大家积极响应!我会绝对慷慨的!:)
今天的我的问题是:
System.gc();方法为什么不提倡在程序中显式调用?直接调用垃圾收集器会带来什么问题吗?
在此我想呼吁一下:各位喜爱JAVA技术,喜欢用JAVA语言来编程开发的朋友们,让我们一起来努力吧---让我们的JAVA产品具有更高的性能!
几个方面:
1. JVM(JAVA虚拟机)
2. SWING组件(主要是常用组件,如JTable等)
3. I/O(输入/输出)
4. GC(垃圾收集器,内存回收)
5. 编程算法
6. 多线程
欢迎大家积极响应!我会绝对慷慨的!:)
今天的我的问题是:
System.gc();方法为什么不提倡在程序中显式调用?直接调用垃圾收集器会带来什么问题吗?
|
GC看上去好象对程序员降低要求,但这是从低层次的开发来说的,
实际在高性能的程序上,要求程序员更多,GC的机制已存在了,你只能应用它,硬调system.gc()是不管用的,关键在于
1,要注意对象的生存周期
2,要注意不要过多的相互引用
3,要灵活的运用弱引用(WeakReference),这是最有效的手段
实际在高性能的程序上,要求程序员更多,GC的机制已存在了,你只能应用它,硬调system.gc()是不管用的,关键在于
1,要注意对象的生存周期
2,要注意不要过多的相互引用
3,要灵活的运用弱引用(WeakReference),这是最有效的手段
|
2,要注意不要过多的相互引用
normally, if your app is complex enough, the objects will form a graph. it's not practical to attempt to avoid mutual ref.
And, mordern gc is using copying gc algorithm, which, is not affected by mutual ref at all.
3,要灵活的运用弱引用(WeakReference),这是最有效的手段
besides some flyweight/pool, really cannot see why weak reference is effective. normally you don't need it at all.
normally, if your app is complex enough, the objects will form a graph. it's not practical to attempt to avoid mutual ref.
And, mordern gc is using copying gc algorithm, which, is not affected by mutual ref at all.
3,要灵活的运用弱引用(WeakReference),这是最有效的手段
besides some flyweight/pool, really cannot see why weak reference is effective. normally you don't need it at all.
|
Enterprise Java Performance
|
http://www.pearsonptg.com/book_detail/0,3771,0130172960,00.html
有介绍Enterprise Java Performance的书。
有介绍Enterprise Java Performance的书。