JVM
文章平均质量分 80
跳出温水的蛙
这个作者很懒,什么都没留下…
展开
-
Jvm-9—垃圾回收及垃圾回收器
1.System.gc() System.gc会显示地触发Full GC,同时对老年代和新生代进行回收。但是System.gc()无法保证对垃圾收集器的调用。 程序执行时并非任何时刻都能停下来开始GC,只有特定的位置才能停顿下来进行GC.能停止的位置成为安全点。 2.几种引用关系——强、软、弱、虚,引用强度逐渐减弱 强引用:最常见的,只要引用关系没有断开,永远不会被回收。 软引用:内存不足即回收。高速缓...原创 2021-07-20 16:21:20 · 137 阅读 · 0 评论 -
Jvm-8—垃圾回收概述及相关算法
8.1 概述 什么是垃圾? 指运行过程中没有指针指向的对象。 垃圾回收的主要范围是堆和方法区,最主要的是堆,有的Jvm并不涉及方法区的垃圾回收。分为标记(标识哪些是垃圾)和清除阶段。 8.2 垃圾标记阶段的算法——引用计数算法 对每个对象保存一个整型的引用计算器属性,用于记录对象被引用的次数情况。当有对象引用A时,A的引用计数器加1;当引用失效时,引用计数器减1.当引用计数器的值为0时 即表示对象A不可...原创 2021-07-15 21:27:40 · 148 阅读 · 0 评论 -
Jvm-6—执行引擎
虚拟机的执行引擎由软件实现,因此可以不受物理条件的制约 执行哪些不被硬件支持的指令集格式。执行引擎的任务就是将字节码指令解释/编译为对应平台上的本地机器指令。解释器:对字节码采用逐行解释的方式,将字节码指令翻译为本地机器指令的指令。JIT(后端运行编译器): 寻找字节码文件中的热点代码 编译为本地机器指令缓存到CodeCache中。...原创 2021-07-11 16:56:25 · 55 阅读 · 0 评论 -
Jvm-7—String
1.幸存者偏差2.数据预处理part A途径:(1)填写缺失值(2)光滑噪声数据(3)删除离群点(4)解决属性不一致具体:(1)处理缺失值 ignore;数据补齐;不处理 (2)离群点 (outlier):是一个数据对象,它显著不同于其他数据对象。如信用卡欺诈 离群点类型:全局离群点给定数据集中,如果它显著偏离数据集中的其余对象,则成为全局离群点。情景离群点在给定数据集中,如果关于对象的特定情境,它显著...原创 2021-07-10 18:19:14 · 57 阅读 · 0 评论 -
Jvm-4—方法区
Person p = new Person();方法区可以看作是一个独立于堆的内存空间,非堆。方法区和堆一样,是线程共享的,方法区的大小决定了可以存放多少类。如果类加载过多,同样会内存溢出。jdk1.7以前 成为永久代;1.8后,成为元空间。有本质上的区别,永久代使用的虚拟机内存,而元空间(即方法区)使用的是本地内存。4.1 方法区大小设置-XX:MetaspaceSize=100m -XX:MaxMetaspaceSize=100m默认...原创 2021-06-28 13:44:39 · 59 阅读 · 0 评论 -
Jvm-3—堆
所有的对象实例以及数组都是分配在堆上。栈中保存引用,指向对象或数组在堆中的位置。一般研究的堆空间为年轻代和养老代。原创 2021-06-27 15:31:36 · 119 阅读 · 0 评论 -
Jvm-5—对象
5.1 对象的实例化 1.创建对象的方式 (1)new 包括直接调用new方法;单例模式;工厂模式 (2)Class的newInstance() 不建议使用 使用反射 只能调用无参的构造方法 (3)Constructor的newInstance方法 可以调用有参、无参的构造方法 (4)使用clone 实现cloneable接口,重写clone方法 (5)使用反序列化 ...原创 2021-06-27 12:52:58 · 58 阅读 · 0 评论 -
JVM-2——PC寄存器、虚拟机栈
1.PC寄存器PC寄存器用来存储下一条指令的地址,(存储当前线程正在执行的Java方法的JVM指令地址)由执行引擎读取执行。是一块很小的内存空间。作用:因为CPU需要不停的切换各个线程,等切换回来后需要知道从哪开始继续执行。 2.虚拟机栈栈解决的是程序的运行问题,堆解决的是数据存储问题。 2.1栈可能存在的异常 如果采用固定大小的虚拟机栈,当线程请求分配的栈容量超过Java虚拟机栈允许的最大容量时,...原创 2021-06-25 11:05:52 · 108 阅读 · 0 评论 -
JVM-1一类加载子系统
学习素材:尚硅谷宋红康老师视频+周志明老师Jvm书籍 一、Jvm基础 1.简述Jvm是二进制字节码的运行环境,负责装载字节码到其内部,解释、编译为对应的机器指令执行。java虚拟机具有语言无关性,并非与Java"终身绑定",只关心字节码文件是否符合Jvm规范。 2. java代码执行流程 java文件===》前端编译器(词法分析、语法分析、语义分析、字节码生成器)===》生成字节码class文件===》类加载器(加载、链接...原创 2021-06-23 23:02:21 · 62 阅读 · 0 评论