,chaser
,chaser
全部文章
JVM
Java基础(4)
Java多线程(11)
Java容器(2)
MySQL(9)
Spring(9)
常见面试算法(29)
操作系统(3)
系统设计(1)
缓存(3)
网络(7)
设计模式(1)
归档
标签
去牛客网
登录
/
注册
,chaser的博客
全部文章
/ JVM
(共11篇)
【JVM】Java程序执行流程
转载自 https://blog.csdn.net/sinat_33087001/article/details/76977437 编辑 过程描述 编辑源代码,就是我们在任何一个工具上编写源代码,可以是记事本,最后命名为Student.java。 这部分相当于我们在myeclipse这样的ide上新...
2019-08-19
0
641
【JVM】final关键字
1. final关键字的语义 final关键字主要用在三个地方:变量、方法、类。 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。 ...
2019-08-16
0
644
【JVM】内部类的加载时机
我们需要有一个前提的认知:在Java中,类都是主动使用的时候才会加载的! 我们定义下面的两个测试类: public class testInnerStaticClass { static class Inner { static int i = 1; ...
2019-08-16
0
2996
【JVM】JVM调参的常用参数以及Java中的4中引用类型
1. 参数类型 标配参数:-version-help\java -showversion X参数: XX参数:Boolean类型 以打印垃圾回收细节为例。使用jps -l锁定需要查看的进程号,使用jinfo –Flag PrintGCDetails + 进程号来查看是否开启打印GCDeta...
2019-08-13
0
1178
【JVM】FullGC频繁,怎么排查问题
参考 https://segmentfault.com/a/1190000015605327#articleHeader26 如果有perm gen的话(jdk1.8就没了),要给perm gen分配空间,但没有足够的空间时,会触发full gc。 所以看看是不是perm gen区的值设置得太小了...
2019-08-13
0
745
【JVM】垃圾回收机制
1. 如何判断对象是否应该回收 引用计数法 Java中,引用和对象是有关联的,如果要操作对象则必须用引用进行。因此,很显然有一个很简单的方法是通过引用计数来判断一个对象是否可以回收。简单来说就是给对象添加一个引用计数器,每当有一个地方引用他,计数器加一,每当一个引用失效,计数器减一。任何时刻计数器值...
2019-08-13
0
850
【JVM】对象的创建过程及内存布局、访问定位
本文参考JavaGuide 对象的创建步骤 Step1:类加载检查 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 Step2:分配内存 在...
2019-08-12
0
456
【JVM】JVM内存结构
根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 JDK1.7以前的PermGen(永久代)在1.8中被替换成Metaspace(元空间)。原本永久代存储的数据:符号引用(Symbols)转移到了native heap;字面量(interned stri...
2019-08-12
0
660
【JVM】常量池、运行时常量池和字符串常量池
常量池 即Class文件常量池,是Class文件的一部分,用于保存编译时确定的数据。Java代码在进行javac编译的时候,不会像C和C++那样有“连接”这一步骤,而是在虚拟机加载Class文件的时候进行动态连接。也就是说,class文件不会保存各个方法、字段的最终内存布局信息,因此这些字段、方法的...
2019-08-12
0
3154
【JVM】Java类加载机制
本文参考《深入理解Java虚拟机》 主动使用和被动使用 Java语言处处存在懒加载思想,如HashMap和ArrayList的初始化,同样,所有的Java虚拟机实现必须在每个类或接口被Java程序首次主动使用时才初始化他们,当然现代JVM有可能根据程序的上下文语义推断出接下来可能初始化谁。 主动使用...
2019-08-12
0
633
首页
上一页
1
2
下一页
末页