Java后端八股----JVM篇

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上图中线程1,2如果资源被抢占了,则程序计数器记录一下执行的行号,等到资源就绪后会从记录的行号继续向后执行。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
Java8把静态变量以及常量放到了线程的本地内存原空间中(避免放在堆中不可控)。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
👆图中第二种情况不太容易出现。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
方法区存放在永久代的信息,jdk8之后存在了线程的元空间里。元空间的默认大小是没有上限的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
👆 IO速度远小于NIO
IO是用的IOStream NIO用的是FileChannel。
在这里插入图片描述
Java是没有权限之间读到系统内存的,是需要CPU进行状态切换然后读到Java堆内存再进行数据处理。
在这里插入图片描述
而直接内存就能解决上面的情况,在系统内存和堆内存中创建一块区域给双倍都有权限,这样进行拷贝的时候速度就能快上不少。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一般我们自己写的类都是用第三种应用类加载器加载的。
在这里插入图片描述
加载前都进行上一任的委托,从下往上委托,像Student类最后会从最上面下到AppClassLoader进行加载。当Student类需要使用String类型的时候也会向上委托,发现最高层的BootStrap里lib下有这个类,就可以返回给AppClassLoader直接使用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
加载的时候,使用Person的class对象作为一个访问Person类的接口,Heap堆访问对象方法的时候还是要调用方法区的方法进行使用。
在这里插入图片描述
在这里插入图片描述
图中的Object类会在初始化阶段赋值。
在这里插入图片描述
解析阶段所做的就是把符号引用(图中的数字指向),变换为直接引用,使用指针直接指向执行方法。
在这里插入图片描述
第三条:如果子类调用了父类的静态属性,那么只会初始化父类的静态代码。👇在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
回收垃圾一般是回收堆里的没有引用的数据。在这里插入图片描述
👆进行第二条指令之后 New String(“123”)的引用就成了0。
在这里插入图片描述
即使a,b都为null了之后
在这里插入图片描述
堆中的对象一样引用无法归零,引用计数法就失效了。
在这里插入图片描述
在这里插入图片描述
图中的第二段代码可以理解为 b.instance = new Demo();
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
分代回收算法也是垃圾回收算法的一种。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一般不常用fullGC,只在新生代和老年代内存实在长期不足的时候才调用使用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重新标记好像等于对于标记的再确认。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
复制到s后会释放E,然后再重新分配Eden。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上这时的垃圾回收就包括了新生代垃圾回收和老年代垃圾回收。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当内存不够时会使用一次FullGC。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/273892.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python入门(二)

python的安装很方便,我们这里就不再进行讲解,大家可以自己去搜索视频。下面分享一下Python的入门知识点。 执行命令的方式 在安装好python后,有两种方式可以执行命令: 命令行程序文件,后缀名为.py 对于命令行&…

jQuery+CSS3自动轮播焦点图特效源码

jQueryCSS3自动轮播焦点图特效源码,源码由HTMLCSSJS组成,双击html文件可以本地运行效果,也可以上传到服务器里面 下载地址 jQueryCSS3自动轮播焦点图特效源码

使用 CSS 实现毛玻璃效果

在现代 Web 设计中,毛玻璃效果越来越受欢迎。它能够让界面元素看起来更加柔和、朦胧,同时又不会完全遮挡背景内容,给人一种透明而又不失质感的视觉体验。虽然过去实现这种效果需要借助图像编辑软件,但现在只需要几行 CSS 代码,就可以在网页上呈现出令人惊艳的毛玻璃效果。 使用…

算法笔记p154最大公约数和最小公倍数

目录 最大公约数辗转相除法证明例子代码实现 最小公倍数代码实现 最大公约数 正整数a与b的最大公约数是指a与b的所有公约数中最大的那个公约数,一般用gcd(a, b)表示a和b的最大公约数。 辗转相除法 设a、b均为正整数,则gcd(a, b) gcd(b, a % b)。即被…

面向对象编程练习

题目1 编写类Book,定义方法update_price,实现更改某本书的价格,具体:如果价格大于150,则更改为150,如果价格大于100,则更改为100,否则不变。 分析如下: 类名&#xf…

异步处理 (vue async和await)

出现这种情况可以是加载顺序的问题,加载没有完成就是显示数据了 试试 async和await async beforeOpen(done, type) {if (["edit", "view"].includes(type)) {await getDetail(this.form.id).then((res) > {this.form res.data.data;conso…

文献速递:深度学习乳腺癌诊断---使用深度学习改善乳腺癌组织学分级

Title 题目 Improved breast cancer histological grading using deep learning 使用深度学习改善乳腺癌组织学分级 01 文献速递介绍 乳腺癌组织学分级是乳腺癌中一个确立的临床变量,它包括来自三个方面的信息,即小管形成程度、核多态性和有丝分裂计…

【Flask开发实战】防火墙配置文件解析(二)之shell读取内容

一、前言 上一篇文章中,介绍了防火墙配置文件包含的基本元素和格式样式,并模拟了几组有代表性的规则内容,作为基础测试数据。在拿到基础测试数据后,关于我们最终想解析成的数据是什么样式的,其实不难看出,…

河北沧州应用北斗技术加快智慧农业发展

河北沧州应用北斗技术加快智慧农业发展 在河北沧县兴济镇赵庄子村,当地合作社的107台农机都安装了北斗卫星导航系统,实现播种、收割、平整地块、植保等环节的无人化和自动化。 合作社负责人表示,只要规划好路线,不用人驾驶&…

突破编程_前端_ACE编辑器(概述)

1 ACE 框架简介 ACE 框架是一个强大且灵活的前端文本编辑器框架,它提供了一套全面的 API 和丰富的功能,使得开发者能够轻松地在 Web 应用中集成功能强大的代码编辑器。ACE 编辑器不仅适用于在线代码编辑,还广泛应用于文档编辑、实时协作、富…

Linux内存管理笔记----TLB

1. TLB介绍 TLB是Translation Lookaside Buffer的简称,可翻译为“地址转换后援缓冲器”,也可简称为“快表”。 简单地说,TLB就是页表的Cache,属于MMU的一部分,其中存储了当前最可能被访问到的页表项,其内…

机器学习(1)机器学习的概念与应用领域

文章目录 一、前提二、机器学习的概念与应用领域1.认识①亚瑟•塞缪尔的定义②汤姆米切尔的定义 2.相关术语数据术语训练模型术语获得模型后术语 3.应用领域语音识别计算机视觉自然语言处理①自然语言分析②自然语言生成 大数据分析 一、前提 Python语言具有数量庞大且功能相对…

鸿蒙开发系列教程(二十七)--案例:商品评价

1、商品评价标题 2、商品评价内容 3、整合调用 4、参考完整代码 Entry Component struct main {build() {Column () {EvaluationTitle()EvaluationItem()}} }Component struct EvaluationTitle {build() {Row(){Row() {Image($r("app.media.a6")).width(16).height(…

PowerShell 一键更改远程桌面端口

前言 提高工作效率,安全性和规范化,最终实现一键更改Windows 远程桌面端口 前提条件 开启wmi,配置网卡,参考 一键更改远程桌面端口自动化脚本 默认端口3389变更后的端口3390win+r mstsc YOU_ip常规更改的连接方式win+r mstsc YOU_ip:3390需要恢复到原来的端口3390更改成3…

7-3 逆序的三位数

题目链接&#xff1a;7-3 逆序的三位数 一. 题目 1. 题目 2. 输入输出格式 3. 输入输出样例 4. 限制 二、代码 1. 代码实现 #include <stdio.h>int main(void){int num;int result;if (!scanf("%d", &num)) {return -1;}// 个位逆序为百位result num …

【机器学习-01】机器学习基本概念与建模流程

机器学习的过程本质上是一个不断通过数据训练来提升模型在对应评估指标上表现的过程。在此过程中&#xff0c;为模型提供有效的反馈并基于这些反馈进行持续的调整是至关重要的。只有当这个过程顺利进行时&#xff0c;模型才能得到有效的训练&#xff0c;机器才能真正实现学习。…

实地研究降本增效的杀伤力,LSTM算法实现全国失业率分析预测

前言 ​ 降本增效降本增笑&#xff1f;增不增效暂且不清楚&#xff0c;但是这段时间大厂的产品频繁出现服务器宕机和产品BUG确实是十分增笑。目前来看降本增效这一理念还会不断渗透到各行各业&#xff0c;不单单只是互联网这块了&#xff0c;那么对于目前就业最为严峻的一段时…

AJAX——综合案例

1 Bootstrap弹框 功能&#xff1a;不离开当前页面&#xff0c;显示单独内容&#xff0c;供用户操作 步骤&#xff1a; 引入bootstrap.css和bootstrap.js准备弹框标签&#xff0c;确认结构通过自定义属性&#xff0c;控制弹框的显示和隐藏 <!DOCTYPE html> <html la…

YOLOV5 改进:替换backbone(MobileNet为例)

1、前言 之前介绍了yolov5如何更换C2f模块以及加入注意力机制SE模块的示例,详细请参考本专栏: YOLOV5 实战项目(训练、部署、改进等等)_听风吹等浪起的博客-CSDN博客 本文将详细介绍yolov5更换官方backbone,以轻量级网络mobilenet为例。因为mobilenet是轻量级的小型网络,…

MATLAB教程

目录 前言一、MATLAB基本操作1.1 界面简介1.2 搜索路径1.3 交互式命令操作1.4 帮助系统 二、MATLAB语言基础2.1 数据类型2.2 MATLAB运算2.2.1 算数运算2.2.2 关系运算2.2.3 逻辑运算 2.3 常用内部函数2.4 结构数据与单元数据 三、MATLAB程序设计3.1 M文件3.2 函数文件3.3 程序控…
最新文章