首页 > 其他分享 >JVM超详细知识点整理(只读这一篇就够了哦)

JVM超详细知识点整理(只读这一篇就够了哦)

时间:2024-08-05 14:55:04浏览次数:14  
标签:总结 知识点 收集器 就够 内存 JVM 回收 垃圾

(一)JVM开篇

为什么要学习他

JVM是什么

JVM由哪些部分组成,运行流程是什么

学习什么

(二)什么是程序计数器

程序计数器:线程私有的,内部保存的字节码的行号.用于记录正在执行的字节码指令的地址

程序计数器总结

(三)Java堆

Java堆总结

(四)什么是虚拟机栈

什么是虚拟机栈

垃圾回收是否涉及栈内存

垃圾回收主要指的就是堆内存,当栈帧弹栈以后,内存就会释放

栈内存分配越大越好吗

未必,默认的栈内存通常为1024k

栈帧过大会导致线程数变少,例如,及其总内存为512m,目前能活动的线程数则为512个,如果把栈内存改为2048k,那么能活动的栈帧就会减半

方法内的局部变量是否线程安全

栈内存溢出情况

虚拟机栈常见面试题总结

堆栈的区别是什么

(五)方法区

什么是方法区

方法区(Method Area)是各个线程共享的内存区域

主要存储类的信息,运行时常量池

虚拟机启动的时候创建,关闭虚拟机是释放

如果方法区域中的内存无法满足分配请求,则会抛出OutOfMemoryError:Metaspace

什么是常量池

可以看做是一张表,虚拟机指令根据这张常量表找到要执行的类名,方法名,参数类型,字面量等信息

运行时常量池

方法区总结

(六)直接内存

什么是直接内存

常规IO的数据拷贝流程

NIO数据拷贝流程

直接内存常见面试题总结

什么是类加载器,类加载器有那些
类加载器总结
什么是双亲委派模型
JVM为什么采用双亲委派机制
双亲委派机制总结

(八)类装载的执行过程

加载
验证
准备
解析
初始化
使用
卸载

当用户程序代码执行完后,jvm就开始销毁创建的class对象就叫做卸载

类装载执行过程常见面试题总结

(九)垃圾回收机制

对象什么时候可以被拉机器回收
引用计数法

可达性分析算法
哪些对象可以作为GC Root
垃圾回收机制常见面试题总结

(十)JVM垃圾回收算法有哪些

1.标记清除算法

2.复制算法

3.标记整理算法

标记清除算法
标记整理算法
复制算法
垃圾回收算法总结

(十一)JVM中的分代回收

分代收集算法
分代收集算法--工作机制
MinorGC,Mixed GC,FullGC的区别
分代回收总结

(十二)JVM中的垃圾回收器

JVM中的垃圾回收期

1.串行垃圾收集器

2.并行垃圾收集器

3.CMS(并发)垃圾收集器

4.G1垃圾收集器

串行垃圾收集器
并行垃圾收集器
CMS(并发)垃圾收集器
垃圾回收器总结

(十三)G1垃圾收集器

什么是G1垃圾收集器
Young Collection(年轻代垃圾回收)
Young Collection + Concurrent Mark(年轻代垃圾回收+并发标记)
Mixed Collection(混合垃圾回收)
G1垃圾收集器总结

(十四)强引用,软引用,弱引用,虚引用的区别

总结

(十五)JVM调优的参数可以在哪里设置参数值

war包部署在tomcat中设置
jar包部署在启动参数设置
总结

(十六)JVM调优参数都有哪些

jvm调优参数
设置堆空间大小
虚拟机栈的设置
年轻代中Eden区和两个Survivor区的大小比例
年轻代晋升老年代阈值
设置垃圾回收收集器
JVM调优参数总结

(十七)JVM调优工具有哪些

命令工具

可视化工具
总结

(十八)java内存泄漏的排查思路

java内存泄漏的排查思路
总结

(十九)CPU飙高排查方案与思路

总结

标签:总结,知识点,收集器,就够,内存,JVM,回收,垃圾
From: https://blog.csdn.net/weixin_70367240/article/details/140914109

相关文章

  • 详解国内医疗大模型,非常详细收藏我这一篇就够了
    医疗大模型是近年来随着人工智能技术的发展而兴起的一种新型工具,它们利用大数据和先进的机器学习算法来改善医疗服务和医疗决策。下面将介绍几种代表性的医疗大模型,并探讨其未来的发展趋势。医疗大模型概述医疗大模型通常指的是那些基于大规模数据训练的人工智能模型,它们......
  • 致高考生——信息安全|专业详解(非常详细)零基础入门到精通,收藏这一篇就够了
    01专业介绍信息安全专业本科阶段学制一般为4年,授予学位:工学学士、理学学士或管理学学士。本专业是计算机、通信、数学、法律、管理等学科的交叉学科,主要研究确保信息安全的科学与技术,培养能够从事计算机、通信、电子商务、电子政务、电子金融等领域的信息安全高级专门人......
  • 异常处理及其相关知识点
    写代码的时候,对于那些不确定会报什么错误或者说感觉可能会报错的地方,才会用到异常处理。但是切记,一般情况下不要用,毕竟这玩意影响代码的可读性,毕竟是你写代码的时候附加的逻辑。正本清源很多人以为只有try..except这种代码逻辑才是异常处理,我只能说大傻逼,懂个锤子。难道if........
  • 架构知识点(二)
    轮询调度(RoundRobinScheduling)是一种时间片轮转调度算法,主要用于多任务系统中。其基本思想是将所有任务排成一个队列,每次调度时,系统会从队列中取出下一个任务执行,直到任务完成或达到其时间片限制。当任务的时间片用完后,该任务会被放回队列的末尾,等待下一次调度。轮询调度的特点......
  • 计算机网络知识点汇总第一章:概述
    目录一.网络二.终端三.广域网四.局域网五.互联网的发展六.www和浏览器七.互联网的应用八.互联网的组成九.互联网的核心部分分组交换报文交换十.计算机网络的定义十一.计算机网络的分类十二.性能指标 十三.五层结构的职能十五.协议的封装和解封装十六.实体......
  • JVM内存结构划分
    JVM内存结构的划分1.堆就相当于当你new一个对象的时候,就会分配一个堆内存给你,当对象销毁时就会有垃圾回收机制来回收这个对象的堆空间。2.栈就好比一串珠子,你只能从一头加或者取,要取后面的就要把前面的取出来才可以。3.堆内存作用就是用来存放java中的对象和数组,当new一个......
  • JVM:双亲委派,内存溢出,垃圾回收,JVM调优
    1,双亲委派1.1,类加载过程【加载】:加载是指将类的字节码文件读入内存,并在内存中创建一个Class对象,用来描述该类的结构信息。类的字节码可以来自本地磁盘、网络等各种来源。【连接】:连接是指对类的字节码进行验证、准备和解析的过程。验证:验证字节码文件的正确性和安全性。例......
  • 2024年暑假关于线段树和树状数组的小知识点
    1.线段树的树形结构使得存储其的数组应开4N,其中N为元素个数2.多用宏定义使代码更简单3.树状数组求逆序对一般会写成add(a[i],1);quiry(a[i]-1);这会导致当元素值域包含0时传入-1导致死循环,可以在quiry函数判断合法性;一种比较好的写法是干脆add时add(a[i]+1,1),然后直接查......
  • OSPF知识点大全,网络工程师快速收藏!
    OSPF概述与基本原理OSPF(OpenShortestPathFirst)是一个内部网关协议(IGP),用于在单一自治系统(AS)内交换路由信息。它是一个基于链路状态的协议,由IETF开发和维护,首次定义在RFC1131中,后来在RFC2328中得到扩展。OSPF采用Dijkstra的SPF算法来计算最短路径,以保证数据包能够通过最......
  • Python知识点
    目录1、数据类型2、变量3、列表4、集合5、字典6、注释7、基本功能8、条件语句9、循环语句10、函数11、异常处理12、字符串操作13、正则表达式1、数据类型数据类型是可以存储在变量中的数据规范。解释器根据变量的类型为变量分配内存。下面是Python中的各种......