原文链接:http://blog.csdn.net/zsuguangh/article/details/6429592自己学习总结:1c++和java的内存使用的区别: 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分...
分类:
编程语言 时间:
2014-06-18 15:13:27
阅读次数:
244
当竞争对手的应用程序与我们的应用程序运行在同一个系统上时,我们的应用程序在内存中的敏感数据是很容易被竞争对手获取的。如果我们的应用程序符合下面几种情况之一,那么竞争对手可以获取到我们应用的敏感数据:
1)应用程序使用对象来存储敏感数据,而且在对象使用完后,对象的内容没有被清除或者对象没有被垃圾回收;
2)在操作系统运行内存管理任务或者执行休眠等功能时,应用程序的内存分页将被置换到磁盘上保存;...
分类:
编程语言 时间:
2014-06-16 19:18:30
阅读次数:
267
之前的两篇文章(java运行时数据区浅析、java垃圾收集器(GC)浅析)介绍了java运行时数据区以及GC垃圾回收算法的相关知识,大家可以先去看看这两篇文章。
本篇文章将重点关注新生代的垃圾回收。
大部分JVM都会采用所谓的分代收集方式去回收垃圾,什么是分代收集呢?
根据对象的存活周期的不同将内存划分为好几块。一般是把java堆分为新生代和老年代,这样就可以根据各个年代的特点采...
分类:
其他好文 时间:
2014-06-16 18:38:23
阅读次数:
265
微软当初看见java如日中天,能实现“一次编写,到处运行”这么牛叉的功能,终于也按捺不住了,于是模仿java也做了一个虚拟机,这就是.Net Framework框架。他提供了垃圾回收功能。除此之外,他还另外发明了一门叫做 C#(读作 “C Sharp”)的语言用于完美运行在.Net Framework中。为了将Java彻底击垮,他还发明了J#,F#,意思就是在.Net Framework框架中运行Java,Fortran等,企图开发一个能包容所有语言的平台,何其宏伟的理想!但结果却。。。好多年过去了,Jav...
分类:
其他好文 时间:
2014-06-16 11:29:06
阅读次数:
242
在《Effective Java 2nd
Edition》中,第6条“消除过期的对象引用”提到,虽然Java有
垃圾回收机制,但是只要是自己管理的内存,就应该警惕内存泄露的问题,例如的对象池、缓存中的过期对象都有可能引发内存泄露的问题。书中还提到可以用
WeakHashMap来作为缓存的容器可以有效...
分类:
移动开发 时间:
2014-06-16 09:17:26
阅读次数:
292
刚入门的童鞋肯能都会有一个疑问,Java不是有虚拟机了么,内存会自动化管理,我们就不必要手动的释放资源了,反正系统会给我们完成。其实Java中没有指针的概念,但是指针的使用方式依然存在,一味的依赖系统的gc,很容易就造成了内存的浪费。Java基于垃圾回收的内存机制Java的内存管理机制会自动回收无用...
分类:
移动开发 时间:
2014-06-15 22:52:13
阅读次数:
427
当某线程触发GC时,任何线程不能再访问任何的对象.在GC执行时,可能会修改对象的地址.GC执行时,大多使用劫持法,将所有的线程挂起.对于含有Loop,且Loop内不再调用其它方法时.会生成一个编译时表.当线程的指针指令执行到该处时,会认为到达了一个安全点,线程可以被挂起.对于其它方法,GC会劫持线程...
分类:
Web程序 时间:
2014-06-14 15:57:14
阅读次数:
218
groot.createElement = function (html, id) {
groot.dynamic[id] = id; return $(html).append("")
}从上面得代码可以看出函数在html代码片段的后面加了隐藏的input并在g...
分类:
其他好文 时间:
2014-06-13 16:02:52
阅读次数:
187
目录理解垃圾回收平台的基本工作原理垃圾回收算法垃圾回收与调试使用终结操作来释放本地资源对托管资源使用终结操作是什么导致Finalize方法被调用终结操作揭秘Dispose模式:强制对象清理资源使用实现了Dispose模式的类型C#的using语句手动监视和控制对象的生存期对象复活代线程劫持大对象一、...
分类:
其他好文 时间:
2014-06-12 13:52:49
阅读次数:
546