jvm
EricJeff_
这个作者很懒,什么都没留下…
展开
-
java虚拟机参数
介绍常用的参数,可能介绍的顺序有点乱1.栈上分配有一个逃逸分析,只有在server模式下才可以启动逃逸分析,参数: -server -Xmx10m -Xms10m -XX:+DoEscapeAnalysis -XX:+PrintGCDetails -XX:+EliminateAllocations -server:在server模式下-Xmx:配置堆的最大内存-Xms:配置堆的最小内存-XX:+D原创 2017-12-08 14:46:44 · 1482 阅读 · 0 评论 -
jclasslib的使用
作用:JClassLib不但是一个字节码阅读器而且还包含一个类库允许开发者读取,修改,写入Java Class文件与字节码jclasslib下载:https://bintray.com/ingokegel/generic/jclasslib/view我们在这里使用jclasslib查看局部变量表(保存java中方法的参数和局部变量):代码:public class Test{ public原创 2017-12-07 21:35:29 · 11369 阅读 · 2 评论 -
虚拟机的基本结构
基本组成:jvm的由堆,java栈,本地栈,pc程序计数器,方法区(java8叫元数据区),直接内存,类加载子系统,垃圾回收系统,执行引擎,如图作用:类加载子系统:从文件系统或网络中加Class的信息方法区:存储从类加载子系统加载Class的信息,还会存放运行时常量的信息,包括字符串和数据常量java堆:在虚拟机创建时建立,它是java程序主要的内存工作区域,几乎所有对象都存放到这里,堆空间是所有原创 2017-12-07 20:12:01 · 4766 阅读 · 0 评论 -
cglib动态代理使用
java实现动态代理有两种一种是jdk,cglib,jdk是基于接口的,cglib基于类的,为一个类创建子类,并在子类中采取拦截技术拦截所有父类的方法调用,实现案例有spring aop案例:父类:public class Father{ public void test(){ System.out.println("I am Father....."); }}代理类原创 2017-12-11 11:25:16 · 217 阅读 · 0 评论 -
进入老年区条件和TLAB
进入年老区情况: 1.老对象进入老年区(一般是在新生代经历15次GC,也可以使用MaxTenuringThreshold) 2.大对象进入老年区(一次请求的对象,新生区没有这么大的空间,会将对象直接分配到老年区(前提是年老区有这么大的空间,如果没有报内存溢出错误)TLABThread local allocation buffer:线程本地分配缓存,一个线程专用的内存区域(占用eden区) 目原创 2017-12-09 12:12:48 · 566 阅读 · 0 评论 -
java垃圾回收器介绍
STW:stop-the-world —java垃圾回收器在执行时,会停止所有的应用程序的执行,使系统不会产生新的垃圾,这个现象叫做STW垃圾回收器分为串行回收器和并行回收器串行回收器串行回收器分为新生代串行和老年代串行特点:1.使用单线程进行回收2.独占式(STW)垃圾回收新生代使用的是复制算法老年代使用的是标记压缩算法client默认为串行设置参数:-XX:+UseSerialGC原创 2017-12-09 11:55:41 · 405 阅读 · 0 评论 -
java中finalize()方法的缺点
1.可能是是对象复活 2.finalize()执行的时间是不固定的,有GC决定,极端情况下,没有GC,就不会执行finalize() 3.一个糟糕的finalize()会影响GC的性能对象复活public class FinalizeActive{ public static FinalizeActive obj; @Override protected void final原创 2017-12-08 21:37:44 · 4125 阅读 · 0 评论 -
java四种引用
四种引用: 强引用,软引用,弱引用,虚引用,除强引用外,其他都可以在java.lang.ref包中找到,其中FinalReference实现finalize()方法强引用 强引用:简单来说就是用new 生成的对象,只要它有有一个引用,就不会被回收如: String str = new String("强引用");软引用软引用:一个对象持有一个软引用时,当堆空间不足时,会被回收,用j原创 2017-12-08 18:01:01 · 156 阅读 · 0 评论 -
java虚拟机垃圾回收算法
1.引用计数法 2.标记清除法 3.标记压缩法 4.复制法 5.分代法 6.分区法什么是垃圾回收:垃圾回收:Garbage collection 简称GC 简单的说垃圾回收就是将不用的对象所占用的内存回收在java虚拟机中垃圾回收是自动的1.引用计数法 引用计数:对于一个A对象,只要有一个对象引用引用它,A对象引用计数就加1 缺点: 1.会产生循环引用(如A,B对象都原创 2017-12-08 16:23:17 · 273 阅读 · 0 评论 -
使用cxf生成client端出项错误 chema_reference
具体错误为:chema_reference: 由于 accessExternalSchema 属性设置的限制而不允许 ‘file’ 访问,因此无法读取方案文档 ‘xjc.xsd’主要我使用的jdk版本为1.8的,使用的cxf版本是apache-cxf-2.7.17查了一下好像是jdk1.8的一个bug只需要在D:\JDK\java\jdk1.8.0_101\jre\lib 目录中添加一个 jaxp原创 2017-12-27 16:14:39 · 395 阅读 · 0 评论