在做Java开发的时候,我们需要在上线之前对程序进行压力测试,对程序的性能进行全面的监控,了解JVM的CPU,内存,GC,classes,线程等等信息,或者在程序上线运行的过程当中以便于诊断问题或者对程序做出优化,市面上做Java profiling的工具也比较多,比如商业的JProfiler,JC...
分类:
编程语言 时间:
2015-11-25 23:39:20
阅读次数:
280
java.lang.OutOfMemoryError: GC overhead limit exceeded解决
分类:
编程语言 时间:
2015-11-25 13:15:24
阅读次数:
430
jvm 1.7 版本:jvm 的内存分为堆和非堆两大部分。堆:堆分为 新生代和老年代。一般对象都会在新生代的内存中创建,新生代中的对象经过几次的GC 回收后依然存活(这个次数可以设置)则移动到老年代。新生代和老年代的内存不足时都会触发GC。新生代的GC 的方法一般为复制清理,而老年代则多为标记清理。...
分类:
其他好文 时间:
2015-11-20 17:07:31
阅读次数:
131
一、Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会...
分类:
编程语言 时间:
2015-11-20 16:51:24
阅读次数:
154
由于C#是一种托管语言,它的垃圾回收机制(GC)是由.net平台负责的,加之C#语言并没有指针,所以我们在使用过程中极少会考虑到内存使用状况以及项目在运行过程中是如何进行内存管理的。但是,C#只是在内存管理方面对程序员隐藏了,并不代表它不涉及这些东西,甚至其内部内存管理或许比自己手动管理更加复杂.....
转:http://blog.chinaunix.net/uid-26930580-id-3844811.html1、内存泄漏:当出现对Activity、View或drawable等类的对象长期持有无用的引用,就会造成被引用的对象无法在GC时回收,而是长期占用堆空间,此时就会发生内存泄漏。简单来说,就...
分类:
移动开发 时间:
2015-11-18 19:23:36
阅读次数:
138
Java的GC一般是在JVM的堆上进行的,Java的堆中存放了大量的对象实例,所以JavaGC也叫GC堆。Java将内存区划分为:新生代(Young Generation/New) Eden Space From Survivor/Survivor 0 To Survivor/Survivor 1老年代(Tenured Generation/Old)永久代(一般指方法区和常量池,...
分类:
编程语言 时间:
2015-11-18 12:45:46
阅读次数:
203
[原]java gc与heap内存简述 2014-7-9阅读72?评论0 java内存结构和gc算法有很多种,二者也是互相决定的;使用不同的gc算法的jvm会有不同的内存结构。这里就简单整理下常见的sun jvm内存结构和回收算法。 一、jav...
分类:
其他好文 时间:
2015-11-17 19:34:11
阅读次数:
171
一、相关命令 使用GC日志命令行选项为: -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:<filename> 二、详解 JVM【-server】 glassfish应用服务器 ?-server 启动 垃圾收集器默认组合方式为 新生代:Paral...
分类:
编程语言 时间:
2015-11-17 17:13:40
阅读次数:
216
在相应的domain目录下进入setDomainEnv.sh JAVA_OPTIONS="后面增加 sun jdk: ${JAVA_OPTIONS} -verbosegc -Xverboselog:/home/weblogic/bea/gc.`date +%Y%m%d_%H%M%S` IBM jdk ${JAVA_OPTIONS} -verbosegc -Xlogg...
分类:
Web程序 时间:
2015-11-16 12:46:03
阅读次数:
409