![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 75
shadow___h
这个作者很懒,什么都没留下…
展开
-
JVM之GC的简单理解
文章目录JVM之GC引用的分类如何判断对象可以被GC引用计数法可达性分析法finalize()垃圾回收的几种方式1. 标记复制(新生代)2. 标记清除(老年代)3. 标记整理(老年代)虚拟机hotspot垃圾收集算法之分代收集算法老年代和新生代以及永久代新生代对象如何进入老年代垃圾回收产生的影响用户体验(STW)和吞吐量垃圾收集器1. Serial收集器 (新生代收集器)2.ParNew收集器 (新生代收集器)3.Paraller Scavenge收集器 (新生代收集器)4.Serial Old 收集器原创 2021-03-29 20:11:22 · 173 阅读 · 0 评论 -
JAVA中代码块,静态代码块,构造方法的执行顺序
文章目录父类子类main方法结果结论 父类 package Test; public class Parent { private static String s = "abc"; private String o = "def"; static { System.out.println("Pa static"); } public Parent() { System.out.println("Pa cons"); }原创 2021-03-23 18:32:50 · 64 阅读 · 0 评论 -
JVM简单理解1
文章目录对JVM的简单理解java内存模型(jmm)内存溢出和内存泄露类加载类加载机制类加载器双亲委派模型 对JVM的简单理解 java内存模型(jmm) 程序计数器 (线程私有) JVM的虚拟机是通过多线程轮转流切换并分配处理器执行时间的方式来实现,也就是在同一个时间一个cpu只会处理一个线程,而当一个线程被切换出去的时候,要想下次被切换回来的时候还在执行的那个位置,其实程序计数器中就记录了每一个线程执行到了那个位置。也就是记录了当前线程的上下文,线程具体的当前执行到了那个位置。每条线程都有自己独有原创 2021-03-23 18:05:23 · 85 阅读 · 0 评论 -
关于java线程不安全问题的简述
关于java线程不安全问题的简述 什么是线程不安全及其具体解析 当我们执行一个Java.exe进程的时候,首先会初始化JVM参数,然后创建JVM虚拟机,再启动后台线程,最后执行就是执行我们代码行的main方法。 而在JVM运行的时候会将他管理的内存分为若干个区域,每一个线程都有其独有的程序计数器,java虚拟机栈和本地方法栈,以及线程共享的Java堆和方法区(包含运行时常量池) 当我们定义一个静态变量COUNT,它在被编译的时候创建于方法区。当我们创建多个线程去给COUNT执行++的操作的时候,原创 2020-12-20 20:09:18 · 166 阅读 · 0 评论 -
简述java虚拟机的内存区域的分配
java运行程序的时候会把所管理的内存划分为若干个不同的数据区域,如图所示 1 程序计数器 程序技术器所占的内存空间较少,可以把他看作是当前线程所执行的字节码的行号指示器。 我们知道java虚拟机的多线程是通过线程轮流切换,分配处理器执行时间的方式来执行的。 List item (就是说所谓的多线程其实就是单线程的轮转速度很快,看起来像多个线程共同执行)。其实在任何一个时刻,一个处理器只会执行一个线程中的指令。而为了线程切换之后可以回到自己本来的位置,每一个线程都需有自己的独有的程序计数器,各个线程之原创 2020-10-26 22:13:44 · 111 阅读 · 0 评论