
jvm
xiaoshang
这个作者很懒,什么都没留下…
展开
-
java.lang.OutOfMemoryError: Java heap space解决方法
//首先检查程序有没有限入死循环这个问题主要还是由这个问题 java.lang.OutOfMemoryError: Java heap space 引起的。第一次出现这样的的问题以后,引发了其他的问题。在网上一查可能是JAVA的堆栈设置太小的原因。跟据网上的答案大致有这两种解决方法:1、设置环境变量解决方法:手动设置Heap size修改TOMCAT_HOME/bin/转载 2012-11-30 09:22:19 · 1688 阅读 · 0 评论 -
Java内存泄露的理解与解决(转)
Java内存管理机制在C++语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露。Java语言对内存管理做了自己的优化,这就是垃圾回收机制。Java的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由GC(garbage转载 2013-03-26 17:49:10 · 589 阅读 · 0 评论 -
java虚拟机常用命令工具
一、概述 程序运行中经常会遇到各种问题,定位问题时通常需要综合各种信息,如系统日志、堆dump文件、线程dump文件、GC日志等。通过虚拟机监控和诊断工具可以帮忙我们快速获取、分析需要的数据,进而提高问题解决速度。 本文将介绍虚拟机常用监控和问题诊断命令工具的使用方法,主要包含以下工具: jps显示系统中所有Hotspot虚拟机进程jsta转载 2013-03-26 16:59:54 · 753 阅读 · 0 评论 -
转一篇有关JAVA的内存泄露的文章(受益哦)
1 引言 Java的一个重要优点就是通过垃圾收集器GC (Garbage Collection)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java 不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC 或JVM的问题。其实,这种想法是不正确的,因为Java 也存在内存泄漏,但它的表现与C++不同。如果正在开发的Java 代码要全天24转载 2013-03-26 16:38:49 · 521 阅读 · 0 评论 -
java native方法及JNI实例
1.参考文献:http://blog.youkuaiyun.com/youjianbo_han_87/article/details/2586375http://blog.youkuaiyun.com/yangjiali014/article/details/1633017http://blog.chinaunix.net/space.php?uid=7437948&do=blog&id=转载 2013-03-26 13:05:07 · 668 阅读 · 0 评论 -
Java内存溢出详解及解决方案
内存溢出与数据库锁表的问题,可以说是开发人员的噩梦,一般的程序异常,总是可以知道在什么时候或是在什么操作步骤上出现了异常,而且根据堆栈信息也很容易定位到程序中是某处出现了问题。内存溢出与锁表则不然,一般现象是操作一般时间后系统越来越慢,直到死机,但并不能明确是在什么操作上出现的,发生的时间点也没有规律,查看日志或查看数据库也不能定位出问题的代码。更严重的是内存溢出与数据库锁表在系统开发和单转载 2013-03-26 16:32:04 · 872 阅读 · 0 评论 -
jvm的几个运行时数据区域
1.jvm的内部体系结构浅析 2.jvm的几个运行时数据区域 3.jvm的内存溢出异常上一篇文章已经简单介绍了jvm的内部体系结构。并且对各个组成部分做了简要的说明。下面通过一个简单的java程序,讲解运行过程中牵涉到的几个数据区域。代码如下: 1 public class Test { 2 3 public stati转载 2013-03-26 14:58:21 · 561 阅读 · 0 评论 -
jvm的内存溢出异常
1.jvm的内部体系结构浅析 2.jvm的几个运行时数据区域 3.jvm的内存溢出异常 在Java虚拟机规范的描述中,除了PC(程序计数器)寄存器外,虚拟机内存的其他几个运行时区域都有发生OutOfMemoryError异常的可能。当发生OutOfMemoryError异常时,无法用try...catch捕捉。 在开始讲解之前,在这里转载 2013-03-26 11:34:16 · 830 阅读 · 0 评论 -
Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小、程序不严密,产生了过多的垃圾。导致OutOfMemoryError异常的常见原因有以下几种:内存中加载的数据量过于庞大,如一次从数据库取出过多数据;集合类中有对对象的引用,使用完后未清空,使得JVM不能回收;代码中存在死循环或循环产生过多重复转载 2013-03-26 16:33:33 · 2264 阅读 · 0 评论 -
jvm的内部体系结构浅析
1.jvm的内部体系结构浅析 2.jvm的几个运行时数据区域 3.jvm的内存溢出异常 jvm全称是Java Virtual Machine(java虚拟机)。它之所以被称之为是“虚拟”的,就是因为它仅仅是由一个规范来定义的抽象计算机。我们平时经常使用的Sun HotSpot虚拟机只是其中一个具体的实现(另外还有BEA JRockit、IBM J9转载 2013-03-26 13:32:45 · 514 阅读 · 0 评论 -
java内存溢出分析工具
使用visualvm远程监控JVM 前段时间在排查问题过程中我使用了jprofiler远程进行了jvm资源使用情况的监控,从系统的损耗来看,jprofiler对系统资源尤其是内存的消耗是非常庞大的。当时配置的jprofiler内存使用上线是1G,后来发现系统内存在整个测试过程中出现持续上涨的趋势,最后稳定在3G左右(JVM的内存我们配的上限值是2G)。从这个情况来看,如果我们转载 2013-03-26 17:15:14 · 3600 阅读 · 0 评论 -
关于JVM的几道面试题
之前看编程之美,看到了对操作系统精通的定义,比如,写个程序能到任务管理器的CPU曲线划出一段正弦曲线,这种实际的动手能力确实值得我们去关注。刚刚在看书,关于虚拟机规则的,突然想到可以出如下面试题:给出一段会产生堆内存溢出的代码;给出一段虚拟机栈和本地方法栈溢出的代码:分StackOverflowError和OutOfMemoryError给出程序;给出一段能使运行时常量池溢转载 2013-03-25 16:42:40 · 608 阅读 · 0 评论 -
内存溢出 ava.lang.OutOfMemoryError: Java heap space(三)
有三种可能导致OutOfMemoryError。首先是,此JVM有真实的内存泄漏,导致此JVM堆在内部实现时产生了一个Bug。这极不可靠。所有JVM都经过充分的测试,并且,如果有人发现这种bug,它将绝对是最高的优先级。因此你可以非常宽心地排除这种可能性。 第二种可能的OutOfMemoryError原因只不过是,你没有为你的应用程序运行时给予足够多的可用内存。这种情况,有两种可能的方转载 2012-11-30 09:31:49 · 1953 阅读 · 0 评论 -
java.lang.OutOfMemoryError: Java heap space 解决方法(二)
java.lang.OutOfMemoryError: Java heap space 解决方法这个问题的根源是jvm虚拟机的默认Heap大小是64M,可以通过设置其最大和最小值来实现.设置的方法主要是几个.1.可以在windows 更改系统环境变量加上JAVA_OPTS=-Xms64m -Xmx512m2,如果用的tomcat,在windows下,可以在C:\转载 2012-11-30 09:27:04 · 1468 阅读 · 0 评论 -
可能导致Java内存泄漏的几项原因
Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或 JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与C++不同。在Java中,内存泄漏就是存在一些被分配的对象,这些对象有转载 2013-03-26 18:10:38 · 1197 阅读 · 0 评论