JVM
文章平均质量分 65
元It
张定元
展开
-
JVM之GC垃圾回收器
JVM之GC垃圾回收器垃圾回收器分类1.按线程数分类 1.串行垃圾回收器 串行垃圾回收是在同一时间段内只允许单个cpu执行垃圾回收,其他工作线程stop 2.并行垃圾回收器 多个cpu同时执行垃圾回收,其他工作线程stop,提高了吞吐量2.按照工作模式分 1.并发誓垃圾回收器 运行后,与应用线程交替执行,让用户感觉不到工作线程停止 2.独占式垃圾回收器 运行后,停止所有工作线程,直到垃圾回收截至3.按工作内存区间分 1.年轻代垃圾回收器 2.老年代垃圾原创 2021-09-08 16:12:57 · 197 阅读 · 0 评论 -
JVM对象引用之强软弱虚
JVM对象引用之强软弱虚java中引用的强度分为4种分别为强软弱虚1.强引用 最传统的引用定义,时最普遍的引用赋值,如Object obj=new Object();只要强引用存在垃圾回收器就不会回收引用的对象,宁可OOM溢出,也不会回收强引用.Object object=new Object();2.软引用 在系统将要OOM之前将会把弱引用的对象列入第二次回收种。如果内存还是溢出,则会报OOM异常Object object=new Object();//表明是个软引用SoftRe原创 2021-09-08 11:28:25 · 169 阅读 · 0 评论 -
JVM之垃圾回收
JVM之垃圾回收1.什么是垃圾垃圾是指没有被任何其他对象引用的对象。不及时回收会导致内存溢出。2.java垃圾回收特点1.自动内存管理 降低内存泄漏和内存溢出的风险2.哪些区域重点关心垃圾回收 1.堆和方法区 堆: 频繁回收年轻代 少回收老年代 方法区:基本不回收方法区3.垃圾回收机制1.垃圾标注阶段标注垃圾:垃圾标注阶段主要是为了判断对象是否存活标注方式 1.引用计数法 2.可达性分析算法1.引用计数法 引用计数法对每一个对象保存一个原创 2021-09-08 10:13:39 · 167 阅读 · 0 评论 -
JVM之执行引擎
JVM之执行引擎 1.是什么,怎么用 执行引擎是JVM的核心组成部分之一,JVM负责装载字节码到其内部,java字节码不等同于机器指令,需要再次编译转换为机器指令(这也是同一套代码可以直接运行到不同的操作系统上的原因)。执行引擎就是解释和编译java字节码为本地机器指令。简单来说就是机器语言的翻译官。 区分 1.前端编译:程序员——字节码过程 2.执行引擎两种行为:一种解释执行,一种编译执行**(后端编译)**2.什么是解释器?什么是JIT编译器? 解释器:java虚拟机根原创 2021-09-07 11:33:39 · 89 阅读 · 0 评论 -
JVM之本地方法接口
JVM之本地方法接口 1.何为本地方法 本地方法:java调用非java代码的接口,它是这样的一个java方法**,底层非java方法实现**。 2.为什么使用native方法 java使用方便,但有些层次任务java实现起来显得尤为不容易。 1.与java环境外交互 如需要与某些硬件交互 2.与操作系统交互...原创 2021-09-07 11:05:17 · 86 阅读 · 0 评论 -
JVM之运行时数据区
JVM之运行时数据区1.运行时数据区概述 JVM的运行时数据区包括5个部分,程序计数器、java虚拟机栈、本地方法栈、java堆、方法区(元数据区)2程序计数器 程序计数器是一块特别小的内存空间,主要职能就是记录程序运行到第几行。 原理:由于操作系统每个线程轮流执行,当轮换时程序计数器就是用来记录当前线程执行到哪一行 特点: 1.运行速度快,存储很小、几乎忽略不计 2.线程私有,生命周期和线程生命周期的存在 3.程序计数器记录线程java方法的JVM指令地址,如果为na原创 2021-09-07 10:54:44 · 292 阅读 · 0 评论 -
JVM结构之类加载
JVM结构之类加载1.java代码编译到字节码过程首先分析此法和语法的正确性,再对代码进行编译,编译为字节码(.class结尾的文件)2.类加载子系统作用 类加载子系统负责从文件或者网络中加载class文件,class有特定的标识(字节码文件都以CA FE BA BE 标识开头) 1.由classLoader负责class文件的加载 2.由ExecutionEngine负责看他是否可运行 3.加载类的信息存放在方法区(元数据区) 4.方法区存放运行时常量池,存常量静态变量原创 2021-09-05 17:07:18 · 44 阅读 · 0 评论 -
JVM之概述
JVM之概述## 1.JVM是什么 JVM(java Virtual Machine)也就是java虚拟机。2.虚拟机是什么 虚拟机顾名思义就是一台虚拟的计算机,是一款软件,用来执行一系列的虚拟计算机指令,虚拟机又分为系统虚拟机和程序虚拟机。 VMware就属于系统虚拟机,是对于物理计算机的仿真。,提供了可运行完整操作系统的软件平台。 而JVM是程序虚拟机,它专门为执行某个单位计算机程序而设计,java虚拟机中的指令我们称之为java字节码指令,JVM把java字节码指令转换原创 2021-09-04 15:15:11 · 79 阅读 · 0 评论