一、强引用。无论什么时候,垃圾回收器都不会回收他,若是内存不足会抛出OOM异常,也不回收强引用对象。 二、软引用。通过类SoftReference。它的作用告诉垃圾回收器,在内存不足的时候,会被回收器回收,如果释放了这些对象后内存仍然不足,会抛出OOM。{适合做缓存}强。 三、弱引用。WeakRef ...
分类:
编程语言 时间:
2017-10-02 23:03:42
阅读次数:
186
一:在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register)。 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 最快的存储区, 由编译器根 ...
分类:
编程语言 时间:
2017-09-26 21:20:47
阅读次数:
161
在上一节中“JVM(三)内存回收(一)”我讲到了垃圾回收的几种算法,算是解决了之前提到的3个问题中的最后一个。 关于内存回收,还应该了解常用的内存回收器(GC Collector),即执行上述回收算法的引擎。 2. 垃圾回收器(接上章中“怎么回收”) 2.1 Serial / Serial old ...
分类:
其他好文 时间:
2017-09-21 23:26:29
阅读次数:
254
之前一直不了解Java的垃圾回收原理,最近看了Java编程思想,有点想法,做做笔记。首先,我们都了解初始化的重要性,但是常常会忘记同样也重要的清理工作。Java有垃圾回收器负责回收无用对象占用的内存资源。但是也有特殊情况:假定你的对象(并非使用new)获得一块“特殊”的内..
分类:
其他好文 时间:
2017-09-20 16:23:46
阅读次数:
139
1.垃圾回收器类型1.串行垃圾回收器(Serial Garbage Collector)2.并行垃圾回收器(Parallel Garbage Collector)3.并发标记扫描垃圾回收器(CMS Garbage Collector)4.G1垃圾回收器(G1 Garbage Collector)1.... ...
分类:
其他好文 时间:
2017-09-20 12:08:23
阅读次数:
157
析构函数与构造函数 析构函数: ~Student() { Console.WriteLine("我是析构函数"); } 析构函数,当程序结束的时候,析构函数才执行。 帮助我们释放资源。 如果希望马上释放资源,那么就使用析构函数。 GC: garbage collection 垃圾回收器,自动释放资源 ...
分类:
Web程序 时间:
2017-09-18 12:25:49
阅读次数:
185
Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程: Servlet 通过调用 init () 方法进行初始化。 init 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。 Servlet 调用 servic ...
分类:
其他好文 时间:
2017-09-16 15:57:28
阅读次数:
161
jdk6和7服务器端(-server) 默认的新生的垃圾回收器为:PS Scavenge,老年代默认的垃圾回收器为:PS MarkSweep 目前项目使用jdk7,tomcat7,经常出现内存堆使用量200s持续超过堆总内存80%,触发报警。 由于项目最近的更新为jdk和tomcat升级,从6升级到 ...
分类:
编程语言 时间:
2017-09-14 21:53:56
阅读次数:
250
原理 找到不再被使用的变量,然后释放其占用的内存,但这个过程不是时时的,因为其开销比较大, 所以垃圾回收器会按照固定时间间隔周期性的执行 回收方式 a.标记清除 当变量进入环境时,将这个变量标记为“进入环境”;当变量离开环境时,则将其标记为“离开环境”。 标记“离开环境”的就回收内存 b.引入计数( ...
分类:
Web程序 时间:
2017-09-14 10:19:38
阅读次数:
181
1, 串行回收器 1.1, 新生代串行回收器 (1)特点: –它仅仅使用单线程进行垃圾回收 –它是独占式的垃圾回收 –进行垃圾回收时, Java应用程序中的线程都需要暂停(Stop-The-World) –使用复制算法 –适合CPU等硬件不是很好的场合 (2)设置参数: -XX:+UseSerial ...
分类:
其他好文 时间:
2017-09-13 19:25:14
阅读次数:
157