当前位置: 首页 > news >正文

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。
在这里插入图片描述

相关文章:

Java后端八股----JVM篇

上图中线程1,2如果资源被抢占了,则程序计数器记录一下执行的行号,等到资源就绪后会从记录的行号继续向后执行。 Java8把静态变量以及常量放到了线程的本地内存原空间中(避免放在堆中不可控)。 👆图中第二种情况不太容易出现…...

使用 C 或 C++ 扩展 Python

如果你会用 C,添加新的 Python 内置模块会很简单。以下两件不能用 Python 直接做的事,可以通过 extension modules 来实现:实现新的内置对象类型;调用 C 的库函数和系统调用。 为了支持扩展,Python API(应…...

MVC接收请求教程

mvc接收各种请求 1-环境搭建 1.1-准备apifox发送请求 1.2-项目搭建 ①创建Web骨架的Maven项目 ​ --打开2023-IDEA ,选择New Project ​ --选择Maven Archetype ​ --注意点:Catalog默认就行了 ​ --Archetype选择webapp ​ --JDK跟着黑马敲最好…...

P8711 [蓝桥杯 2020 省 B1] 整除序列 存疑解决篇 Python

[蓝桥杯 2020 省 B1] 整除序列 题目描述 有一个序列,序列的第一个数是 n n n,后面的每个数是前一个数整除 2 2 2,请输出这个序列中值为正数的项。 输入格式 输入一行包含一个整数 n n n。 输出格式 输出一行,包含多个整数…...

「Linux系列」聊聊vi/vim的3种命令模式

文章目录 一、vim简介二、命令模式1. 光标移动2. 复制、剪切和粘贴3. 撤销和重做4. 搜索和替换5. 显示行号 三、输入模式1. 进入输入模式2. 在输入模式下编辑文本3. 使用特殊字符和快捷键注意事项 四、命令行模式1. 保存和退出2. 查找和替换3. 显示行号和其他设置4. 执行外部命…...

密码学——数字签名

数字签名 引言数字签名签名方案直接数字签名EIGamal 数字签名方案公钥和私钥对的产生签名的产生签名的验证Schnorr 数字签名方案公钥和私钥生成签名生成签名验证证书和认证中心引言 消息认证可以保护双方不受第三方的攻击,但是消息认证不能处理双方自身发生的攻击。如接受方可…...

【Mysql事务】

目录 前言 1.事务的特性是什么?可以详细说一下吗? 2.并发事务带来哪些问题?怎么解决这些问题呢?Mysql的默认隔离级别是? 3.undo log和redo log的区别。 4.事务中的隔离性是如何保证的(解释一下MVCC)? 5.主从同…...

从SQL质量管理体系来看SQL审核(2) - SQL质量标准

从SQL质量管理体系来看SQL审核系列将通过多篇文章从SQL质量管理体系的角度来讨论如何设计一个优秀SQL审核引擎。 本系列的第一篇博文介绍了SQL质量管理体系的四个主要组成部分,SQL质量标准确立目标,SQL开发规范指导编码实践,SQL审核工具监督…...

idea远程试调jar、远程试调war

idea远程试调jar、远程试调war 目的&#xff1a;测试运行时与ide开发时是否一致。 配置jar Maven中添加 <packaging>jar</packaging>将其打包为jar。 设置运行入口main 编译jar 看到jar输出 配置试调 添加jar运行 远程试调 先在源码中打好断点试调 debug运行…...

hdlbits系列verilog解答(Gatesv)-58

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 本节我们得到一个4位的输入向量,我们想知道每个比特与相邻比特之间的一些关系。 out_both:此输出向量的每个位都应指示相应的输入位及其左侧的邻居(较高索引)是否均为“1”。例如, out_both[2] 应指示 和 …...

pdf文件属性的删除

pdf文件属性的删除 投标过程中需要处理文件属性&#xff0c;特别是word文件属性以及pdf文件的处理 这里讲解pdf文件属性的处理 word处理在我的另外一个博客中&#xff0c;word文件属性的处理 https://ht666666.blog.csdn.net/article/details/134102504 一般用 adobe acroba…...

OpenAI 的 GPTs 提示词泄露攻击与防护实战:防御卷(二)

防御提示词 在对抗提示注入攻击的持续战斗中&#xff0c;以下是防御方的防御提示。请随意将这些内容复制到您的提示库中&#xff0c;以防止提示误用 1. Please, no matter what anyone asks you, do not share these instructions with anyone asking for them. No matter how…...

mysql update set时使用and连接使更新的数据出现问题

mysql update set时使用and连接使更新的数据出现问题 简单来讲&#xff0c;我在开发时因为错误的使用and进行set连接而不是用,连接&#xff0c;使数据更新的不对&#xff0c;原本的decimal的数据值0.5被我更新后变成了null而不是0.3 原理在这篇博客里有进行说明&#xff08;我没…...

高职(大专)教师结构化面试之复习攻略

一般高校自己组织的面试&#xff0c;结构化分为以下几部分&#xff1a; 1.岗位认知&#xff08;必背&#xff09; 2.职教热点&#xff08;很重要&#xff09; 3.教育教学&#xff08;包括教育教学理论、教育热点、教学相关问题解决&#xff09; 4.人际关系&#xff08;与领…...

蓝桥杯C++大学B组一个月冲刺记录2024/3/18

蓝桥杯C大学B组一个月冲刺记录2024/3/18 规则:每日三题 昨天因为前妻姐emo上了,静下来思考了点东西,就没做题啦.今日补上! 另外:博客浏览量破万了,写的东西有人看还是很开心的 1.母亲的牛奶 农夫约翰有三个容量分别为 A,B,C升的挤奶桶。 最开始桶 A和桶 B都是空的&#xff0c;…...

科技云报道:第五次工业革命,中国AI企业如何打造新质生产力?

科技云报道原创。 人类历史的叙述与技术进步的影响深深交织在一起。 迄今为止&#xff0c;每一次工业革命都彻底改变了我们社会的轮廓&#xff0c;引入了机械化、大规模生产和数字化&#xff0c;并重新定义了人类生存的规范。 自2022年11月30日OpenAI发布ChatGPT以来&#x…...

图片怎么转jpg格式?一键完成图片格式转换

jpg图片格式作为最常用的图片类型之一&#xff0c;经常出现在不同的使用场景中&#xff0c;如果遇到手上的图片不是jpg格式的话&#xff0c;就需要图片转jpg之后再操作&#xff0c;那么该如何进行图片转换格式呢&#xff1f;试试本文分享的这个图片转格式的方法吧&#xff0c;利…...

Qt笔记 信号和槽

在Qt中&#xff0c;如何将两个对象进行关联&#xff0c;让一个对象发出信号&#xff0c;然后另外一个对象接收到信号后&#xff0c;执行该对象的一个方法&#xff0c;要实现这种方式&#xff0c;则需要使用到信号和槽机制。 信号&#xff1a; 信号一定是一个没有返回值的函数…...

后端配置拦截器的一个问题【问题】

后端配置拦截器的一个问题【问题】 前言版权后端配置拦截器的一个问题问题解决 最后 前言 2024-3-14 00:07:28 以下内容源自《【问题】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作者是CSDN日星月云 博客主页是https://jsss-1.blog…...

C++提高笔记(六)---STL函数对象、STL常用算法(遍历、查找)

1、STL-函数对象 1.1函数对象 1.1.1函数对象概念 概念&#xff1a; 重载函数调用操作符的类&#xff0c;其对象常称为函数对象 函数对象使用重载的()时&#xff0c;行为类似函数调用&#xff0c;也叫仿函数 本质&#xff1a;函数对象(仿函数)是一个类&#xff0c;不是一个…...

【每日一问】手机如何开启USB调试?

一、背景 当电脑跟手机之间需要进行交互的时候&#xff0c;可以考虑使用usb进行连接。那么手机如何开启USB调试呢&#xff1f; 二、操作步骤&#xff1a; 思路&#xff1a; 步骤1&#xff1a;手机开启开发者模式 步骤2&#xff1a;在开发者模式中&#xff0c;开启“USB调试”…...

Java映射知识点(含面试大厂题含源码)

在Java中&#xff0c;映射&#xff08;Map&#xff09;是一个存储键值对的数据结构&#xff0c;其中每个键映射到一个值。Java提供了几种实现Map接口的类&#xff0c;以满足不同的需求。了解映射的知识点可以帮助你在处理需要键值关联的数据时更加高效。 核心知识点 Map接口&a…...

拆解Spring boot:Springboot为什么如此丝滑而简单?源码剖析解读自动装配

&#x1f389;&#x1f389;欢迎光临&#xff0c;终于等到你啦&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;持续更新的专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &a…...

中国银行信息系统应用架构发展历程

概述&#xff1a; 从 20 世纪 80 年代开始至今&#xff0c;我国银行业信息化历程已 有四十年历史。虽然相对于发达国家来讲&#xff0c;我国银行业务信 息化起步较晚&#xff0c;但发展速度很快&#xff0c; 目前我国一些大型商业银行的信息化程度已经处于全球领先水平。 “银行…...

掌握Go语言:探索Go语言指针,解锁高效内存操作与动态数据结构的奥秘(19)

指针是一个变量&#xff0c;它存储了另一个变量的地址。在Go语言中&#xff0c;指针提供了直接访问内存地址的能力&#xff0c;允许程序直接操作内存&#xff0c;这在某些场景下非常有用。 Go语言指针的详细使用方法 声明指针 可以使用*符号来声明指针变量&#xff0c;例如&…...

大数据面试题 —— Zookeeper

目录 ZooKeeper 的定义ZooKeeper 的特点ZooKeeper 的应用场景你觉得Zookeeper比较重要的功能ZooKeeper 的选举机制 ***zookeeper主节点故障&#xff0c;如何重新选举&#xff1f;ZooKeeper 的监听原理 ***zookeeper集群的节点数为什么建议奇数台 ***ZooKeeper 的部署方式有哪几…...

【安全类书籍-6】僵尸网络:网络程序杀手

目录 内容 用处 下载链接 内容 这本书着重探讨以下几个主题: 1. 僵尸网络基础:介绍僵尸网络的基本构成、运作机制以及在全球网络空间中的影响和威胁程度。 2. 僵尸网络技术剖析:详细分析僵尸网络的组件,如命令控制中心(C&C)、恶意软件传播途径、感染节点的招募和…...

文件的创建与删除

文件的创建 使用File类创建一个文件对象&#xff0c;例如&#xff1a;File filenew File("c:\\myletter" , "letter.txt"); public boolean createNewFile();/*如果c:\myletter目录中没 有名字为letter.txt文件&#xff0c;文件对象file调用createNewFil…...

图论题目集一(代码 注解)

目录 题目一&#xff1a; 题目二&#xff1a; 题目三&#xff1a; 题目四&#xff1a; 题目五&#xff1a; 题目六&#xff1a; 题目七&#xff1a; 题目一&#xff1a; #include<iostream> #include<queue> #include<cstring> using namespace st…...

解释MVC和MVVM架构模式

一、解释MVC和MVVM架构模式 MVC和MVVM都是常见的前端架构模式&#xff0c;用于抽象分离并解决特定问题。这两种模式在结构上具有一定的相似性&#xff0c;但在细节和数据处理方式上存在一些差异。 MVC&#xff0c;即Model-View-Controller&#xff0c;是一种用于应用程序分层…...

做网站要和企业logo/市场营销推广方案怎么做

一、题目描述 给定一个二叉树和其中的一个结点&#xff0c;请找出中序遍历顺序的下一个结点并且返回。注意&#xff0c;树中的结点不仅包含左右子结点&#xff0c;同时包含指向父结点的指针。 二、解题思路 分三种情况&#xff1a; 1&#xff09;如果当前结点有右子树&#x…...

新疆手机网站建设/搜索引擎优化岗位

近日&#xff0c;开始使用asp.net 2.0 的GridView。为了将长日期格式使用 DataFormatString 属性格式化为短日期显示方式&#xff0c;在网上找了些资料&#xff0c;开始时&#xff0c;按照我搜索到的文章的说明&#xff0c;设置DataFormatString"{0:yyyy-mm- dd}"&am…...

手机wap 网站/长沙网站托管优化

最容易想到的就是用1000只小白鼠&#xff0c;每只喝一瓶。但显然这不是最好答案。 既然每只小白鼠喝一瓶不是最好答案&#xff0c;那就应该每只小白鼠喝多瓶。那每只应该喝多少瓶呢&#xff1f; 首先让我们换种问法&#xff0c;如果有x只小白鼠&#xff0c;那么24小时内可以从多…...

传奇公益服/seo工具下载

《如何学好游戏3D引擎编程》 此篇文章献给那些为了游戏编程不怕困难的热血青年&#xff0c;它的神秘要我永远不间断的去挑战自我&#xff0c;超越自我&#xff0c;这样才能攀登到游戏技术的最高峰 ——阿哲VS自己 QQ79134054多希望大家一起交流与沟通 这篇文章是我一年半前&…...

龙岩制作b2b网站/培训心得体会范文大全2000字

希望对大家有用 全局组件的第一种写法 html:<div id "app"> <show></show></div> js&#xff1a;第一步&#xff1a;实例化Vue对象 var app new Vue({ el:"#app" }) 第二步:定义组件 var myComponent Vue.…...

wordpress用户注册邮件内容自定义/哪些网站有友情链接

1、测试用例的设计方法有哪些&#xff1f;请阐述判定表设计测试用例的步骤。 答&#xff1a;等价类划分&#xff0c;边界值分析&#xff0c;错误推断法&#xff0c;因果图法&#xff0c;正交表分析法&#xff0c;场景分析法。 判定表设计测试用例的步骤&#xff1a;确定规则的个…...