jvm
vbsdfuiabifn
我是你雇来写bug的
展开
-
jvm 各个运行数据区异常
jvm: OutOfMemoryError 异常 在jvm规范中 除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生OOM异常的可能。 一、jvm堆溢出: 只要不断的创建对象,并且保证GC Roots到对象之间有可达的路径来避免回收机制清楚这些对象,那么在对象的数量大到超过堆容量的时候就会发生内存溢出异常。 参数:-Xmx 最大堆内存原创 2017-10-22 19:45:52 · 292 阅读 · 0 评论 -
jvm 运行时内存数据区
jvm 运行时管理的各个数据区域及各个区域的作用: 1.内存结构如下图: 程序计数器:是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。为了线程切换后能恢复到正确的位置,程序计数器是每个线程独立拥有的,互不影响,独立存储,称为线程私有的内存;另外:如果线程正在执行的是一个java的方法,这个程序计数器原创 2017-10-15 20:22:02 · 191 阅读 · 0 评论 -
jvm 对象的创建 布局 访问
心情不是太好,本来想去健身,后来想想还是写博客吧!!谈谈对象(普通对象不包含数组、Class对象)的创建: 虚拟机遇到new指令时,首先检查这个指令的参数是否能在方法区的常量池中定位到一个类的符号引用,并检查这个类的符号引用是否被加载、解析、初始化过,如果没有就先加载(稍后说类加载过程),在类加载检查通过后,jvm为新生对象分配内存。对象所需的内存大小在类加载完成后就能完全确定,。原创 2017-10-15 22:12:55 · 192 阅读 · 0 评论 -
垃圾收集器
client模式与server模式 在介绍本章内容之前,要说一下JVM的两种模式,一种是client模式,一种是server模式。我们平时开发使用的模式默认是client模式,也可以使用命令行参数-server强制开启server模式,两者最大的区别在于在server模式下JVM做了很多优化。 server模式下的JAVA应用程序启动较慢,不过由于se...转载 2019-02-18 14:52:14 · 72 阅读 · 0 评论