在Java中我们无须关心内存的释放,JVM提供了内存管理机制,有垃圾回收器帮助回收不需要的对象。但实际中一些不当的使用仍然会导致一系列的内存问题,常见的就是内存泄漏和内存溢出
内存溢出(out of memory ):通俗的说就是内存不够用了,比如在一个无限循环中不断创建一个大的对象,很快就会引发内存溢出。
内存泄漏(leak of memory):是指为一个对象分配内存之后,在对象已经不在使...
分类:
编程语言 时间:
2014-09-09 16:09:59
阅读次数:
222
jvm虚拟机栈:一个是线程独有的,每次启动一个线程,就创建一个jvm虚拟机栈,线程退出的时候就销毁。这里面主要保存线程本地变量名和局部变量值。本地方法栈:调用本地jni方法的时候而创建的。这里分配的jvm之外的内存空间。方法调用结束之后销毁。pc寄存器:这个保存线程当前..
分类:
其他好文 时间:
2014-09-09 13:48:59
阅读次数:
227
首先,不推荐在ASP.NET后台中,启动Long-Running的任务。因为无论是用的Task还是ThreadPool.QueueUserWorkItem,ASP.NET不会知道它们在后台运行,这会产生一些问题,比如:当修改web.config的时候,会触发Appdomain被回收(尽管此时IISweb服务器进程w3wp.exe仍然活着),IIS本..
分类:
Web程序 时间:
2014-09-09 13:42:39
阅读次数:
231
第一、开发原因:MOSS网站预热算是一个不大不小的问题,网上的解决方案也不少,但后来才知道原来ASP网站都有这个问题。这涉及到IIS的应用程序池的回收,具体的问题我也没有搞清楚,不过不重要。第二、方案:软件是网上博友写的,并且公布了源码。我在其基础上稍微改了一点。把应用程序设在定时任务里,看一下II...
分类:
Web程序 时间:
2014-09-09 12:27:28
阅读次数:
199
基本回收算法 1. 引用计数(Reference Counting)比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。2. 标记-清除(Mark-Sweep)此算法执行分两阶段。第一阶段...
分类:
其他好文 时间:
2014-09-09 10:36:38
阅读次数:
205
每一种计算机语言都有自己的自动垃圾回收机制,让程序员不必过分关心程序内存分配,php也不例外,但是在面向对象编程(OOP)编程中,有些对象需要显式的销毁,防止程序执行内存溢出。一、PHP 垃圾回收机制(Garbage Collector 简称GC)永盈会娱乐城在PHP中,没有任何变量指向这个对象时,...
分类:
Web程序 时间:
2014-09-08 09:35:26
阅读次数:
277
先看一眼JVM虚拟机运行时的内存模型:
1.方法区 Perm(永久代、非堆)
2.虚拟机栈
3.本地方法栈 (Native方法)
4.堆
5.程序计数器
1 首先的问题是:jvm如何知道那些对象需要回收 ?
目前两种标识算法、三种回收算法、两种清除算法、三种收集器
引用计数法
每个对象上都有一个引用计数,对象每被引用一次,引...
分类:
其他好文 时间:
2014-09-07 21:13:05
阅读次数:
363
1、C#中readonly和const的区别?2、C#中的排序继承自哪个接口?Icompare3、阐述单点登录的实现原理?4、C#中property和Attribute的区别?5、Dataset和DataReader的区别,以及哪个的效率更高?6、谈谈你对垃圾回收机制的理解。7、抽象类和接口的区别,...
分类:
Web程序 时间:
2014-09-06 19:56:53
阅读次数:
248
原文:C#学习系列-.NET体系结构.NET框架概述 .NET 框架为.NET应用程序运行提供虚拟机环境,为.NET应用程序提供编译、运行、内存管理、垃圾回收、安全等服务。 .NET框架组成部分 1.公共语言运行时(Common Language Runtime,CLR) 2.NET框架类库(并非....
分类:
Web程序 时间:
2014-09-06 12:16:03
阅读次数:
194
一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包...
分类:
编程语言 时间:
2014-09-06 09:42:02
阅读次数:
328