JAVA虚拟机
文章平均质量分 85
CoderRobin
这个作者很懒,什么都没留下…
展开
-
Java虚拟机_JVM_参数配置
Java虚拟机_JVM_参数配置 在Java、J2EE大型应用中,JVM非标准参数的配置直接关系到整个系统的性能。 JVM非标准参数指的是JVM底层的一些配置参数,这些参数在一般开发中默认即可,不需要任何配置。但是在生产环境中,为了提高性能,往往需要调整这些参数,以求系统达到最佳新能。 另外这些参数的配置也是影响系统稳定性的一个重要因素,相信大多数Java开发人员都见过“OutOfMe...原创 2011-10-08 14:52:56 · 151 阅读 · 0 评论 -
【转】Java高级进阶学习-Java的内存回收(4)
对于c++程序来说,对象占用的内存空间都必须由程序显式回收,如果程序员忘记了回收它们,那它们所占用的内存空间就会产生内存泄漏;对于java程序来说,所有不可达的对象都由垃圾回收机制负责回收,因此程序员不需要考虑这部分的内存泄漏。但如果程序中有一些java对象,它们处于可达状态,但程序以后永远都不会再访问它们,那它们所占用的空间也不会被回收,它们所占用的空间也会产生内存泄漏.例如,如下图中有Arra...原创 2011-10-14 12:58:03 · 106 阅读 · 0 评论 -
【转】Java高级进阶学习-Java的内存回收(3)
(3)弱引用 弱引用与软引用有点相似,区别在于弱引用所引用对象的生存期更短。弱引用通过WeakReference类实现,弱引用和软引用很像,但弱引用的引用级别更低。对于只有弱引用的对象而言,当系统垃圾回收机制运行时,不管系统内存是否足够,总会回收该对象所占用的内存。当然,并不是说当一个对象只有弱引用时,它就会立即被回收,正如那些失去引用的对象一样,必须等到系统垃圾回收机制运行时才会...原创 2011-10-14 12:53:36 · 97 阅读 · 0 评论 -
【转】Java高级进阶学习-Java的内存回收(2)
内存泄露:程序运行过程中,会不断分配内存空间,那些不再使用的内存空间应该即时回收它们,从而保证系统可以再次使用这些内存,如果存在无用的内存没有被回收回来,这就是内存泄漏.(1)强引用 这是java程序中最常见的引用方式,程序创建一个对象,并把这个对象赋给一个引用变量(变量指向对象所占空间地址的首地址--转者注),这个引用变量就是强引用.java程序可通过强引用来访问实际的对象。当一个对象被一...原创 2011-10-14 12:46:48 · 105 阅读 · 0 评论 -
【转】Java高级进阶学习-Java的内存回收(1)
下面几遍文章中,阿堂想和朋友们一起来探讨一个java中内存管理方面的一些细节和常见内存管理的小技巧。由于java中本身已经提供了垃圾回收机制,并且这个是由JVM来自动执行的,也就是说,当一个java对象失去引用时,JVM的垃圾回收机制会自动清理它们,并回收它们所占用的内存空间。正因为此,所以一般的java程序员,就完全相信了java承诺的垃圾回收的说法了,这样就导致了java的内存泄露更隐蔽。。...原创 2011-10-14 12:32:15 · 127 阅读 · 0 评论 -
内存泄露检测工具比较
1. ccmalloc-Linux和Solaris下对C和C++程序的简单的使用内存泄漏和malloc调试库。 2. Dmalloc-Debug Malloc Library. 3. Electric Fence-Linux分发版中由Bruce Perens编写的malloc()调试库。 4. Leaky-Linux下检测内存泄漏的程序。 5. ...原创 2011-10-10 10:46:19 · 95 阅读 · 0 评论 -
Java虚拟机参数设置详解
Java虚拟机参数设置详解 下面的讨论以Windows平台的Sun MicroSystem实现的java5虚拟机为蓝本,其他操作系统或其他公司实现的虚拟机参数会有部分不同,但大部分含义都和Windows上的类似。 Java5与以前版本相比,虚拟机参数大部分保持了向前兼容,同时也增加了一些新的参数,本文将对这些参数的作用作详细描述,使虚拟机能更符合运行环境的需要,获得更好的性能和稳定性。 Jav...原创 2011-10-08 17:24:53 · 219 阅读 · 0 评论 -
java虚拟机jvm关于内存的设置与调优
1. Heap设定与垃圾回收 Java Heap分为3个区,Young,Old和Permanent。Young保存刚实例化的对象。当该区被填满时,GC会将对象移到Old区。Permanent区则负责保存反射对象,本文不讨论该区。 JVM的Heap分配可以使用-X参数设定, -Xms 初始Heap大小 -Xmx java heap最大值 ...原创 2011-10-08 16:51:30 · 90 阅读 · 0 评论 -
Java的内存泄漏
Java的一个重要优点就是通过垃圾收集器GC (Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java 不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄漏,但它的表现与C++不同。如果正在开发的Java 代码要全天24 小时在服...原创 2011-10-08 16:41:41 · 127 阅读 · 0 评论 -
JVM内存分析及导致内存溢出的不健壮代码及解决办法
一、JVM内存区域组成 java把内存分四种: 1、栈区(stack segment)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等,具体方法执行结束之后,系统自动释放内存资源 2、堆区(heap segment) — 一般由程序员分配释放,存放由new创建的对象和数组,jvm不定时查看这个对象,如果没有引用指向这个对象就回收 3、静态区(data segment)— 存放全局变量,静...原创 2011-10-08 16:00:20 · 99 阅读 · 0 评论 -
【转】Java高级进阶学习-Java的内存回收(5)
内存管理的小技巧 尽可能多的掌握Java的内存回收,垃圾回收机制是为了更好地管理JVM的内存,这样才能提高java程序的运行性能。根据前面介绍的内存机制,下面给出java内存管理的几个小技巧。(1)尽量使用直接量 当需要使用字符串,还有Byte,Short,Integer,Long,Float,Double,Boolean,Charater包装类的实例时,程序不应该采用new的方式来创建对象...原创 2011-10-14 12:59:06 · 409 阅读 · 0 评论