JVM
文章平均质量分 65
想去大厂的JAVAer
这个作者很懒,什么都没留下…
展开
-
JVM基础_9_各种垃圾回收器
主要是通过吞吐量,暂停时间和内存占用三大指标。Serial收集器Serial是一种串行运行的,执行新生代收集的收集器。采用的是复制算法。Serail Old收集器是串行运行的,运行老年代收集的收集器。采用的是标记-整理算法。当Serial/Serial Old收集器运行时,其他用户线程必须要暂停,用户线程和GC线程无法并发运行。ParNew是Serial收集器的多线程版本,采用并行回收的方式执行新生代的内存回收。Parallel Old是基于并行回收的处理老年代垃圾的垃圾回收器,采用的是标记整理原创 2022-09-13 16:30:53 · 254 阅读 · 1 评论 -
JVM基础_8_强软弱虚引用
Java中有四类引用:强引用,软引用,弱引用,虚引用,强度依次减弱。原创 2022-09-04 22:01:13 · 100 阅读 · 0 评论 -
JVM基础_7_垃圾回收
垃圾是指在运行程序中没有任何指针指向的对象,该对象不会再被程序利用,但是又占据着内存空间直至程序结束。原创 2022-08-29 22:28:00 · 59 阅读 · 0 评论 -
JVM基础_6_StringTable
此外,当通过字面量的方式给一个字符串赋值,此时的字符串声明在字符串常量池中。原创 2022-08-28 22:35:26 · 134 阅读 · 0 评论 -
JVM基础_5_执行引擎
将字节码指令解释/编译成对应平台上的本地机器指令。原创 2022-08-26 14:43:31 · 188 阅读 · 0 评论 -
JVM基础_4_对象
栈中的引用变量指向java堆中句柄池中对应的句柄,每个句柄存储指向对象实例数据的指针(指向堆)和指向对象类型数据的指针(指向方法区)它是对象真正存储的有效信息,包括程序代码中定义的各种类型的字段(包括从父类继承下来的和本身所拥有的字段)栈中的引用变量指向java堆,堆中存放的是对象类型的指针(指向方法区)和对象实例的数据。主要是分为两种:句柄访问和直接指针(hotspot采用)包括运行时元数据以及类型指针两部分。原创 2022-08-24 22:36:15 · 96 阅读 · 0 评论 -
JVM基础_3_运行时数据区
其中堆和元数据区(方法区)是多线程共享的,程序计数器、本地方法栈以及虚拟机栈是线程私有的。原创 2022-08-13 22:43:21 · 238 阅读 · 0 评论 -
JVM基础_2_类加载
自定义String类,但是在加载自定义String类的时候会优先用启动类加载器进行加载,启动类加载器会优先加载jdk自带文件中的String类,而不是用户自定义的String类。JVM对class文件采用的是按需加载的方式,也就是说等到需要使用该类的时候才会对它的class文件加载到内存生成class对象。用户可以通过继承java.lang.ClassLoader类的方式,实现自己的类加载器,以满足自己的需求。Java程序对类的使用方式分为:主动使用和被动使用。将常量池内的符号引用转换为直接引用的过程。..原创 2022-08-13 10:49:56 · 315 阅读 · 0 评论 -
JVM基础_1
虚拟机分为系统虚拟机和程序虚拟机。无论是哪一种虚拟机,在其上面运行的软件都限制于虚拟机提供的资源。原创 2022-08-12 22:39:07 · 279 阅读 · 0 评论