Java本身是一种设计的很easy,很静止的语言,所以Java背后的原理也很easy,归结起来就是两点:1、JVM的内存管理理解了这一点,全部和对象相关的问题统统都能解决2、JVM Class Loader理解了这一点,全部和Java相关的配置问题,包含各种App Server的配置,应用的公布问题...
分类:
其他好文 时间:
2014-07-07 15:57:38
阅读次数:
184
相同点:1. 内存管理,两者都采用GC来对内存进行回收。因此Java与javascript的内存泄露情况十分相似。2. 代码编译为机器码后由中间件执行:Java使用前会编译为字节码后由JVM执行,V8引擎采用JIT将js编译为机器码后由引擎执行。3. 内存申请,对象(Object)与数组(Array...
分类:
编程语言 时间:
2014-07-07 14:42:05
阅读次数:
229
前几天服务器出现了一些问题,然后组内同学就这些问题写过一篇文章,下面是顺着那篇文章,接着写一些内容。一:GC算法的类型 GC也就是垃圾回收,和我们日常中的垃圾回收一样,语言中的垃圾回收也是表示对已经不再使用的对象进行清理,获得更多的内存空间;日常生活中也是一样的,比如去餐厅吃饭,每个人都要用到碗.....
分类:
编程语言 时间:
2014-07-07 14:39:30
阅读次数:
290
原因1:eclipse的版本与jre或者jdk版本不一致对策:要么两者都安装64位的,要么都安两个是32位一个是64位。原因2:给定目录下jvm.dll不存在对策:(1)重新安装jre或者jdk并配置好环境变量。(2)copy一个jvm.dll放在该目录下。原因1的概率更大一些,原因2不太可能发生。
分类:
系统相关 时间:
2014-07-01 22:50:51
阅读次数:
365
加载超大效果图导致内存不足(GC/ANR)
浅谈ANR如何分析解决ANR...
分类:
其他好文 时间:
2014-06-30 18:27:48
阅读次数:
208
GC检测用于查看堆中是否有对象不再被程序使用。如果这样的对象存在,这些对象占用的内存就可以被回收利用。(如果堆中没有可用内存空间时,new操作符将会抛出OutOfMemoryException异常)GC是怎样知道一个对象是否还被程序使用呢?你可以想象一下,这不是一个容易回答的问题。
每一个程序都有一组根节点(roots),它们用于识别定位托管堆中的对象或空(null)对象指向的存储空间。比如,程序中所有全局对象指针或静态对象指针都被看作是程序根节点(roots)的一部分。另外,线程栈中任何局部变量或参数对象...
分类:
Web程序 时间:
2014-06-30 07:33:05
阅读次数:
327
-Xms512m
-Xmx1024m
-XX:MaxPermSize=1204m
-XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled
sh
set JAVA_OPTS="-Xms256m -Xmx512m -XX:+CMSClassUnloadingEnabled -X...
分类:
其他好文 时间:
2014-06-30 00:02:25
阅读次数:
209
1. 在IDE中查看Log信息
当程序运行垃圾回收的时候,会打印一条Log信息,其格式如下:
D/dalvikvm: , , ,
GC_Reason表示导致垃圾回收的原因以及当前的回收类型,包括以下几类:
GC_CONCURRENT:当堆中对象数量达到一定是触发的垃圾收集
GC_FOR_MALLOC:在内存已满的情况下分配内存,此时系统会暂停程序并回收内存
...
分类:
移动开发 时间:
2014-06-29 23:28:34
阅读次数:
374
Java体系: JDK(Java development Kit)包括:java程序设计语言,java虚拟机,java API类库。如图: Java技术体系:Java Card(Applets),Java ME(Micro Edition),Java SE(Standard Edition),Ja....
分类:
其他好文 时间:
2014-06-29 19:19:15
阅读次数:
228
本文已经迁移到: http://cpp.winxgui.com/cn:garbage-collection-in-cplusplus使用智能指针(smart pointers) http://www.codeproject.com/cpp/garbage_collect.asp 原理:基...
分类:
编程语言 时间:
2014-06-29 19:12:03
阅读次数:
232