JVM
文章平均质量分 95
lsd&xql
不积跬步,无以至千里。
展开
-
JVM学习八
C++程序员重写finalize的目的是自己释放内存,调用析构函数(new delete【语句】 ),就理所当然认为java也有类似的析构函数,造成频繁GC的原因是因为重写了finalize耗时比较长(200ms),如果一下子要回收很多对象的话则会造成频繁FullGC。G1与PS相比它的吞吐量降低了10%-15%的样子但是G1的响应时间只有差不多200ms,所以看程序不管怎样200ms都有响应用G1,如果你的程序追求吞吐量,那么用PS更好。如下红色的部分是根对象,这个根对象指向了老年代里面的。原创 2022-09-25 22:53:56 · 1101 阅读 · 0 评论 -
JVM学习七
jinfo命令jstat各种区域占用的大小(不直观)jconsole远程连接:在本地的jdk文件目录的bin目录下面有个jconsolejvisual远程连接:如上就可以看到是ScheduledThreadPoolExecutor造成了OOM,但是一般不会用这个图形化界面,因为这个服务一直在影响原来的主进程。jprofiler(要钱)一般公司不用。1、已经上线的系统不用图形界面用什么?2、图形界面到底用在什么地方?测试!测试的时候进行监控(上线前压测观察)原创 2022-09-21 23:09:38 · 345 阅读 · 0 评论 -
JVM学习六
1、根据需求进行JVM规划和预调优2、优化运行JVM运行环境3、解决JVM运行过程中出现的各种问题(OOM【只是一部分】)原创 2022-09-19 20:22:46 · 3023 阅读 · 0 评论 -
JVM学习五
当一个对象没有任何引用指向的时候被称为垃圾,如图下面那个没有线的方框就是垃圾了首先new对象会尝试在栈上面放置,如果栈上面放不下,且这个对象足够大的话则进入Old区,否则调用线程本地分配,如果能分下,放入线程本地内存空间,如果放不下进入eden区,然后回收调用GC清除算法,决定是进入S1或者S2或者进入老年代。原创 2022-09-11 17:48:57 · 187 阅读 · 0 评论 -
JVM学习四
clinit :静态语句块的初始化【没有显示的调用看不出来】init:构造方法初始化InvokeStatic:调用静态方法m();} }InvokeVirtual:自带多态的根据对象来调用方法,看压栈的是哪个对象} }//作为interface来调用的 List < String > list = new ArrayList < String >();//这个是invokevirtual ArrayList < String > list2 = new ArrayList < >();原创 2022-09-11 12:07:05 · 421 阅读 · 0 评论 -
JVM学习三
Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。参考博客:https://blog.csdn.net/qq_26222859/article/details/52235930。其中的小t是怎么找到 new T()的呢,第一种方式就是通过句柄池,通过一个间接指针,lock指令后面有一条指令,当我这个指令执行完成之前,你lock对某个内存是锁定的。原创 2022-09-08 21:45:59 · 229 阅读 · 0 评论 -
JVM学习二
常见的加载类的方法是通过获取AppClassLoader然后再通过给定类路径去加载类的。//利用类加载器加载资源,获取图片等资源 //T005_LoadClassByHand.class.getClassLoader().getResourceAsStream("");}什么时候需要去加载一个类?spring动态代理是将新的class load到内存中的//首先检查这个class是否已经被加载了 Class原创 2022-09-04 22:40:43 · 138 阅读 · 0 评论 -
JVM学习一
如上后面带了两个字节是代表,指向常量池的第几号【如上是常量池第一号】,调用java/lang/object的那个构造方法【因其构造方法是空的,所以调用父类的构造方法】0a代表的是tag=10的methdoref_info,然后后面两个字节的 0003和000d分别代表指向的声明的class类型。this_class:当前类的全类名,cp_info#2,指的是这个名字在常量池里面的2号存了这个名字。_info的索引项,以及NameAndType的索引项目,如上图分别指向了3号的声明类信息的常量池,......原创 2022-08-30 00:02:49 · 247 阅读 · 0 评论