JVM_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> JVM >>列表
· 配置tomcat jvm 及cpu查看发布时间:2014-04-28
使用tomcat做为java容器,cpu占用偏高的原因,目前公司服务器上面跑的ubuntu环境nginx+tomcat+mysql运行一段时间之后java进程cpu偏高,会出现网站打不开的情况。所以进行了如下分析。一,首先查看tomcat日志,如果有出现OOM错误(内存溢出)可以对应的加大jvm的内存大小。1,修改tomcat目录下bin目录下的catalina.sh文件,在#JAVA_OPTS="$JAVA_OPTS-Dorg.apache.catalina.security... 查看全文
原因1:给定目录下jvm.dll不存在。对策:(1)重新安装jre或者jdk并配置好环境变量。(2)copy一个jvm.dll放在该目录下。原因2:eclipse的版本与jre或者jdk版本不一致对策:要么两者都安装64位的,要么都安装32位的,不能一个是32位一个是64位。原因2的概率更大一些,原因1不太可能发生... 查看全文
· 深入理解jvm(一)发布时间:2014-04-12
java内存区域和内存溢出异常运行时数据区域程序计数器(ProgramCounterRegister)Java虚拟机栈(JavaVirtualMachineStacks)本地方法栈(NativeMethodStacks)Java堆(JavaHeap)方法区(MethodArea)运行时常量池(RuntimeConstantPool)另:直接内存程序计数器程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器... 查看全文
Java中class是如何加载到JVM中的:1.class加载到JVM中有三个步骤装载:(loading)找到class对应的字节码文件。连接:(linking)将对应的字节码文件读入到JVM中。初始化:(initializing)对class做相应的初始化动作。2.Java中两种加载class到JVM中的方式2.1:Class.forName("className");其实这种方法调运的是:Class.forName(className,true,ClassLoader... 查看全文
· JVM 类加载过程发布时间:2013-12-19
这里简单记录一下JVM的一些知识,参考来源于《深入理解JVM》的书,具体的例子部分做了实验,但是不保证所有理论正确,仅仅做一个参考。以下所有说明,均来自于JDK1.6版本,特殊情况会特殊说明。先说明一下类的生命周期:加载->验证->准备->解析(可以再次验证)->初始化->使用-回收一、加载1.类加载第一步是先加载,在加载阶段有3件事情。a.通过全先限定名获取此类的二进制字节流b.将字节流锁代表的静态存储结构转化为方法区的运行时数据c... 查看全文
· JVM 32位和64位区别发布时间:2013-12-18
在WebSphere的社区有一篇有趣的博文,andrew解释了为什么从32位java环境切换到64位时速度会下降15个百分比,并且内存消耗会提高50%.后者使用复杂的64位大地址,并且大量使用64位的数据结构,即使他们仅仅需要的是32位的值。尽管带宽更大了,但这就是性能下降的原因,总的来说,处理内存缓存时并不能获得更多有效的字节数(因为好多32bit是废的,按照前面的说法).因此,你肯定会经常遇到数据被移除L1,L2缓存。因此,缓存的丢失率提高,速度就有所下降啦。既然如此... 查看全文
· [jvm]常见的oom异常发布时间:2013-12-17
Java常见内存溢出(OOM)解决方案极力推荐先看这个部分,本来我看完深入jvm想整理的,发现有同学整理了,那就直接引用。Java常见内存泄漏及其解决方案Java常见的内存溢出异常及解决方法出现内存问题的时候如果你记不住jvm相关的原理参数,可以参考上面的资源,对号入座!... 查看全文
· [Java]jvm参数选项中文文档发布时间:2013-12-17
本文是基于最新的SUN官方文档JavaSE6HotspotVMOptions编写的译文。主要介绍JVM中的非稳态选项及其使用说明。为了让读者明白每个选项的含义,作者在原文基础上补充了大量的资料。希望这份文档,对正在研究JVM参数的朋友有帮助!另外,考虑到本文档是初稿,如有描述错误,敬请指正。非稳态选项使用说明-XX:+<option>启用选项-XX:-<option>不启用选项-XX:<option>=<number>给选项设置一个数字类型值... 查看全文
· JVM 内部运行线程介绍发布时间:2013-12-10
最近在找关于JVM内部线程管理的资料,发现网上相关帖子很少,有一些还是胡说的,下面这个文章看起来还是不错的,虽然有一点儿乱,但是也得为作者致敬了。以下内容转自:http://ifeve.com/jvm-thread/最近抽时间把JVM运行过程中产生的一些线程进行了整理,主要是围绕着我们系统jstack生成的文件为参照依据。前段时间因为系统代码问题,造成性能瓶颈,于是就dump了一份stack出来进行分析。stack里面线程非常多,排查起来需要一定的经验,所以,对它们有一定了解... 查看全文
· jvm内存分析命令发布时间:2013-11-27
jps查看java进程号jmap查看heap中存活的对象情况:jmap-histo:livepiddump内存jmap-dump:format=b,file=test.bin4939zipziptest.bin.ziptest.binjconsole-Dcom.sun.management.jmxremotejconsolepid... 查看全文
问题:严重:StandardServer.await:create[8005]:java.net.BindException:Addressalreadyinuse:JVM_Bindatjava.net.PlainSocketImpl.socketBind(NativeMethod)atjava.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)atjava.net.ServerSocket.bind(ServerSocket.java:319... 查看全文
· 你真的知道JVM内存划分吗?发布时间:2013-11-06
前言:大家都知道虚拟机,都知道JVM,其实这些都是基于sun公司【oracle公司】的HotSpot虚拟机,当然本篇博文也是以sun公司为基础。还有其他的虚拟机,常见的就有JRockit虚拟机、以及IMB的j9虚拟机,大致市场上就这三个,三个各有好处,如果想详细了解可以问问google大神。一、传统划分【程序猿认为】很多程序猿都认为jvm在划分内存的时候分为栈内存和堆内存,这个分法其实比较粗糙的,java内存区域的划分实际上远比这个复杂。这个划分方式的流行只能说明,大多数程序员最关注的... 查看全文
· JVM调优总结(一)-- 一些概念发布时间:2013-11-05
数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte,short,int,long,char,float,double,Boolean,returnAddress引用类型包括:类类型,接口类型和数组。堆与栈堆和栈是程序运行的关键,很有必要把他们的关系说清楚。栈是运行时的单位... 查看全文
转自:http://blog.csdn.net/zhangren07/article/details/62708951.JVM内存空间JVM堆(Heap)=新生代(Young)+旧生代(Tenured)?分区作用:新创建的对象通常先将其分配在新生代中,在新生代中经过若干次GC之后仍未释放的对象,再将它移动到旧生代。为了让内存回收更高效(GC会暂停JVM中的应用),SunJDK在1.2开始对堆采用了分代管理的方式。在分配对象遇到内存不足时,先对新生代进行GC(YoungGC)... 查看全文
· 使用JConsole远程监控JVM发布时间:2013-10-10
JConsole是从Java5中开始引入的一个用于对JVM性能和资源消耗进行监控的图形化工具。JConsole可以连接本地的Java程序,也可以连接远程的Java程序。由于是GUI的方式使用,所以就不细说那些基本的使用方法了,这里只是记录一下试用过程中遇到的几个小问题及其解决方案。这里使用的是SPECjbb2005这个benchmark中的Java来做了一下试验,因为它也是一个JavaApplication的benchmark,可以在run... 查看全文
· JVM,JDK,JRE区别发布时间:2013-10-10
(1)JVM--javavirtualmachineJVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。(2)JRE--javaruntimeenvironmentJRE是指java运行环境。光有JVM还不能成class的执行... 查看全文
致命错误出现的时候,JVM生成了hs_err_pid<pid>.log这样的文件,其中往往包含了虚拟机崩溃原因的重要信息。因为经常遇到,在这篇文章里,我挑选了一个,并且逐段分析它包含的内容(文件可以在文章最后下载)。默认情况下文件是创建在工作目录下的(如果没权限创建的话JVM会尝试把文件写到/tmp这样的临时目录下面去),当然,文件格式和路径也可以通过参数指定,比如:java-XX:ErrorFile=/var/log/java/java_error%p.log这个文件将包括... 查看全文
· 你必须知道的5个JVM命令行标志发布时间:2013-09-26
不熟悉JVM将不仅会影响应用程序性能,而且当JVM出问题时,尝试修复也会很困难。本文将介绍一些命令行标志,您可以使用它们来诊断和调优您的Java虚拟机性能。1.DisableExplicitGC我已记不清有多少次用户要求我就应用程序性能问题提供咨询了,其实只要跨代码快速运行grep,就会发现清单1所示的问题—原始Java性能反模式:清单1.System.gc();//Wejustreleasedabunchofobjects... 查看全文
Java虚拟机在运行Java程序时会将内存划分以下区域进行管理.有些区域随着Java虚拟机的启动而创建,有的会随着用户线程的启动和结束而创建和销毁.他们主要是:程序计数器(ProgramCounterRegister),虚拟机栈(VMStack),本地方法栈(NativeMethodStack),Java堆(Heap),方法区域(MethodArea),如下图所示:如上图所示,程序计数器(ProgramCounterRegister),虚拟机栈(VMStack)和本地方法栈... 查看全文
Tomcat的server.xml中Context元素的以下参数应该怎么配合适<Connectorport="8080"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"acceptCount="100"/>maxThreads="150"表示最多同时处理150个连接minSpareThreads="25"表示即使没有人使用也开这么多空线程等待maxSpareThreads="75"表示如果最多可以空75个线程... 查看全文