java和408相关知识

一、java

1.JVM的GC机制:

(1)哪些内存需要回收?

堆和方法区,程序计数器、虚拟机栈、本地方法栈3个区域是随线程而生,随线程而灭的

(2)什么时候回收?

判断对象是否可以回收,有两种比较经典的判断策略。

  • 引用计数算法,count+1-1,=0时失效
  • 可达性分析算法,为起点开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots 没有任何引用链相连时。

(3)如何回收?

  • 标记-清除(Mark-Sweep)算法,大量不连续的内存碎片
  • 复制(Copying)算法,(新生代)当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。
  • 标记-整理(Mark-Compact)算法,(老生代)让所有存活的对象都向一端移动,然后直接清理掉端边界以外的内存。

二、操作系统

1.死锁

(1)四个必要条件

互斥条件:资源是独占的且排他使用

不可剥夺条件:不被其他进程强行剥夺

请求和保持条件:在申请新的资源的同时,继续占用已分配到的资源

循环等待条件:进程等待队列形成一个进程等待环路

死锁预防:

(不可剥夺条件)不能获得所需要的全部资源时便处于等待状态,等待期间可以被剥夺

(请求与保持条件)每个进程在开始执行时就申请他所需要的全部资源

(循环等待)将紧缺的,稀少的采用较大的编号,在申请资源时必须按照编号的顺序进行

死锁避免:系统对进程发出的每一个系统能够满足的资源申请进行动态检查,并根据检查结果决定是否分配资源,如果分配后系统可能发生死锁,则不予分配,否则予以分配,这是一种保证系统不进入死锁状态的动态策略。

2.进程间通信

(1)管道pipe:管道是一种半双工的通信方式

(2)消息队列:消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。

(3)共享内存:映射一段能被其他进程所访问的内存

(4)套接字Socket:套解口也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信。

三、计网

1.输入网址到显示

1、输入网址
2、DNS解析获取域名对应的IP地址
3、建立TCP连接
4、web浏览器向web服务器发送HTTP请求
5、服务器的永久重定向响应
6、浏览器跟踪重定向地址
7、web服务器做出应答
8、浏览器显示 HTML
9、浏览器发送请求获取其他嵌入在 HTML 中的资源
10、web服务器关闭TCP连接

2.三次握手、四次挥手

(1)握手

A:在吗?上号吗?   B:在的,上号    A:上号

如果是两次:

A:在吗?上号吗?
B:在的,上号

此时A把B鸽了,B白白等了半天

(2)挥手

Client端等待2MSL的时间后依然没有收到回复,则证明Server端已正常关闭,那好,Client端也可以关闭连接了。

多了一次:当Server端收到FIN报文并返回ACK报文段,表示它已经知道Client端没有数据发送了,但是Server端还是可以发送数据到Client端的,所以Server很可能并不会立即关闭SOCKET,直到Server端把数据也发送完毕。

(3)为什么要等待2MSL?

第一点:保证TCP协议的全双工连接能够可靠关闭:

第二点:保证这次连接的重复数据段从网络中消失

四、数据库

1.事务隔离级别

脏读:指的是读到了其他事务未提交的数据,未提交意味着这些数据可能会回滚

不可重复读(Update):指的是在同一事务内,不同的时刻读到的同一批数据可能是不一样的

幻读(Insert):假设事务A对某些行的内容作了更改,但是还未提交,此时事务B插入了与事务A更改前的记录相同的记录行,并且在事务A提交之前先提交了,而这时,在事务A中查询,会发现好像刚刚的更改对于某些数据未起作用。

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

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

相关文章

HarmonyOS 应用开发之自定义组件冻结功能

自定义组件处于非激活状态时,状态变量将不响应更新,即Watch不会调用,状态变量关联的节点不会刷新。通过freezeWhenInactive属性来决定是否使用冻结功能,不传参数时默认不使用。支持的场景有:页面路由,TabCo…

LC 107.二叉树的层序遍历II

107. 二叉树的层序遍历 II 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 示例 1: 输入: root [3,9,20,null,null,15,7] 输出…

OpenHarmony实战开发-如何通过ArkTS卡片实现一个简单的音乐卡片

​介绍 本示例展示了如何通过ArkTS卡片实现一个简单的音乐卡片 效果预览 使用说明 1.安装应用,并在桌面上长按本应用的桌面图标,长按后弹出选项列表。 2.点击弹出列表中的服务卡片选项进入卡片添加界面。 3.点击正下方的添加到桌面按钮,…

uniapp项目-懂你找图

文章目录 项目介绍项目搭建1.项目创建 2.新增tabbar3引入字体图标 uni-ui介绍使用 uni-api介绍 首页模块功能分析搭建子页面分段器介绍 封装自己的异步请求为什么要封装封装的思路 编写首页-推荐页面分页功能 专辑列表获取专辑详情数据 项目介绍 微信小程序,提供图…

SQLBolt,一个练习SQL的宝藏网站

知乎上有人问学SQL有什么好的网站,这可太多了。 我之前学习SQL买了本SQL学习指南,把语法从头到尾看了个遍,但仅仅是心里有数的程度,后来进公司大量的写代码跑数,才算真真摸透了SQL,知道怎么调优才能最大化…

AWS迁移教程,Redis迁移到Elasticache

当企业不断出海拓展业务,面临的挑战之一就是如何高效迁移应用程序及数据库至云端。为解决这一问题,AWS云专门提供多种简单且高效的迁移方式,进行帮助企业实现应用程序的平稳迁移,从而降低迁移过程中的风险和成本。下面九河云将为大…

SSM学习——Spring AOP与AspectJ

Spring AOP与AspectJ 概念 AOP的全称为Aspect-Oriented Programming,即面向切面编程。 想象你是汉堡店的厨师,每一份汉堡都有好几层,这每一层都可以视作一个切面。现在有一位顾客想要品尝到不同风味肉馅的汉堡,如果按照传统的方…

数据结构:非比较排序

非比较排序都具有很大的局限性,包括技术排序,基数排序,桶排序等 计数排序 时间复杂度:O(N) 空间复杂度:O(range) 适用范围 数据的范围集中的数组进行排序,不适合数据分散的数组 方法 统计每个数据出现的次数为n 建立一个相同大小的数组,将每个数据都初始化为0 然后遍历…

链表优化与拓展的细节:深度探索与精致打磨

前言 链表,作为C语言中的基础数据结构,其灵活性和动态性使其在编程领域具有广泛的应用。然而,仅仅掌握链表的基本操作是远远不够的,为了更好地发挥链表的性能并满足复杂场景的需求,我们需要对链表进行深入的优化和拓展…

泛域名站群,泛域名程序

泛域名站群是一种利用大量类似的泛域名来建立多个网站,并通过这些网站链接到主网站,以提升主网站的排名和流量的策略。泛域名站群通常包含大量的子域名,这些子域名指向不同的页面,但它们的内容大部分是重复或相似的,目…

【蓝桥杯第十二届省赛B】(部分详解)

空间 8位1b 1kb1024b(2^10) 1mb1024kb(2^20) 时间显示 #include <iostream> using LLlong long; using namespace std; int main() {LL t;cin>>t;int HH,MM,SS;t/1000;SSt%60;//like370000ms370s,最后360转成分余下10st/60;MMt%60;t/60;HHt%24;printf("%02d:…

【Servlet】服务器内部转发以及客户端重定向

文章目录 一、服务器内部转发&#xff1a;request.getRequestDispatcher("...").forward(request, response);二、客户端重定向&#xff1a;response.sendRedirect("");三、服务器内部转发代码示例四、客户端重定向代码示例 一、服务器内部转发&#xff1a…

升级一下电脑,CPU换I5-14600K,主板换华硕B760M

刚给自己电脑升级了一下&#xff0c;CPU从 AMD R5 5600X 换成 Intel I5-14600K&#xff0c;主板换成了华硕的 TUF GAMING B760M-PLUS WIFI D4。 因为我现有的两根内存是DDR4的&#xff0c;所有我选了个支持DDR4内存的主板。 我发现用AMD处理器时将系统从Win10升级到Win11后变…

汤明磊对话许远东:“产业互联网的2024”: 赚钱治愈一切矫情,学习治愈一切焦虑!

3月22-23日&#xff0c;托比网南京公司开业活动举行&#xff0c;在“产业互联网的2024”主题沙龙上&#xff1a;二十二科技集团总裁许远东针对行业2024在人工智能与数据资产领域的发展了精彩观点。 以下为对话实录&#xff1a; 桐创资本合伙人汤明磊 二十二科技集团总裁许远东…

机器学习实验------线性回归方法

第1关&#xff1a;数据载入与分析 任务描述 本关任务&#xff1a;编写一个能够载入线性回归相关数据的小程序。 编程要求 该实战内容中数据为一元数据&#xff0c;利用 pandas 读入数据文件&#xff0c;并为相应的数据附上名字标签&#xff0c;分别为Population 和 Profit。…

⾃定义类型:联合和枚举

乐观学习&#xff0c;乐观生活&#xff0c;才能不断前进啊&#xff01;&#xff01;&#xff01; 我的主页&#xff1a;optimistic_chen 我的专栏&#xff1a;c语言 点击主页&#xff1a;optimistic_chen和专栏&#xff1a;c语言&#xff0c; 创作不易&#xff0c;大佬们点赞鼓…

记忆力考验游戏-第15届蓝桥第5次STEMA测评Scratch真题精选

[导读]&#xff1a;超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成&#xff0c;后续会不定期解读蓝桥杯真题&#xff0c;这是Scratch蓝桥杯真题解析第178讲。 如果想持续关注Scratch蓝桥真题解读&#xff0c;可以点击《Scratch蓝桥杯历年真题》并订阅合集&#xff0c;…

monocular depth estimation 网络的 regression loss 选择

直接上图&#xff1a; 上述这么多loss&#xff0c;测评结果如下&#xff1a; 结论: L g a n L_{gan} Lgan​ 是效果最好的。 其具体实现见&#xff1a;https://github.com/marcelampc/d3net_depth_estimation/blob/master/pytorch/util/loss_bank.py github&#xff1a;htt…

【THM】Burp Suite:Other Modules(其他模块)-初级渗透测试

介绍 除了广泛认可的Repeater和Intruder房间之外,Burp Suite 还包含几个鲜为人知的模块。这些将成为这个房间探索的重点。 重点将放在解码器、比较器、排序器和组织器工具上。它们促进了编码文本的操作,支持数据集的比较,允许分析捕获的令牌内的随机性,并帮助您存储和注释…

【区块链 链外交易】SoK Off The Chain Transactions

SoK Off The Chain Transactions 摘要 本文对区块链进行了简单介绍,分析目前区块链的缺点——交易吞吐量和速度慢的原因,在此基础上引出解决此问题的方法,也是本轮将要论述的主题——链外交易。之后介绍了链外交易的基本概念和结构,并对两种类型的链外交易:通道和信任链…