(注:相关代码请参考 com.ql.util.express.instruction.OperateDataCacheManager类,
QLExpress 源代码下载地址:http://code.taobao.org/p/QLExpress/src/ )
几乎所有的动态脚本语言在运行期都需要频繁的创建对象,并且强烈依赖语言的底层垃圾回收(java中称作GC ,可以参考这篇 《Java GC 》http://bruce-ko.iteye.com/blog/420262 )。
在多线程运行的情况下,cpu和内存的消耗很有可能被这个过程消耗殆尽。
近期,QlExpress在这方面做了较大的优化,在实际使用过程中,也确实效果明显。
本篇将具体介绍QlExpress创建对象过程的优化实现原理,也欢迎广大技术码农共同交流探讨。
public class OperateDataCacheManager {
private static ThreadLocal<IOperateDataCache> m_OperateDataObjectCache =
new ThreadLocal<IOperateDataCache>(){
protected IOperateDataCache initialValue() {