痛失offer的八股

news2024/9/21 20:30:39

java面试八股

mysql篇:

事物的性质:

事物的性质有acid四特性。

 a:automic,原子性,要么全部成功,要么全部失败,mysql的undolog,事物在执行的时候,mysql会进行一个快照读,如果失败,那么久进行回滚。

c:一致性,能够保留数据库的完整性约束条件。

i:隔离性:事物在并发执行的时候是互相不干扰的。

d:持久性:mysql能够将数据持久化到磁盘中。

事物的隔离级别

能够读取未提交的数据: (读未提交): 对于同一个数据页, 该事物能够读取到其他事物对数据页未提交的数据。可能会出现脏读,不可重复读、幻读

读已提交(read-committed):对于这个数据页  , 只能够读取到已经提交的数据。但是可能造成不可重复读,幻读。

可重复读(repeattable-read):对同一个字段多次读取的结果是一致的,除非本身的事物修改,但是可能造成幻读。

可串行化: 加锁的方式,可以避免脏读、不可重复读、幻读。

脏读,幻读,不可重复读

脏读:  当一个事物正在访问数据并且对其进行修改,但是还没有提交事物,这个时候另一个事物访问了这个数据,然后使用了这个数据, 但是此时数据库中还没有这个数据,被访问出来的数据就是脏数据。

修改丢失:一个事物读取数据,另一个数据也访问了该数据,那么第一个事物修改了这个数据之后,另一个事物也修改了这个数据  。那么第一个事物修改的数据就没了,这就是数据的修改丢失。

不可重复读: 事物内多次读取同一个数据,在这个事物还没有结束的时候,另一个事物也访问了这个数据并对这个数据进行了修改,那么第一个事物在之后的读取这个数据的时候就出现了不一致,这种就是不可重复读。

幻读:与他类似,反复读同一个数据页,在反复读的时候,另一个事物对这个数据页进行了插入数据,导致第一个事物读取到的数据就会比上一次读到的数据多。

不可重复读和幻读最大的区别就是,在一个事物进行重复读某个数据页的时候出现了,另一个事物进行修改或者是增加。

mysql的锁的优缺点,平常使用什么锁:

锁的详解:常见的锁大致可以分为三种:全局锁,表锁,行锁

全局锁,就是给整个数据库加个锁。全局读锁: Flush tables with read lock。除了read外,其他的都会被阻塞。 

使用的场景:一般使用来做全库的逻辑备份,对所有的表进行锁定。

表锁: 锁顶的粒度大,容易发生冲突。

     共享读锁: 其他的事物能够进行读取。但是不能够进行修改。

     lock table  read/write 。 unlock table /客户端断开连接

     表独占写锁 :加上这个锁之后,其他的客户端的请求全部堵死。

行锁

     共享锁:s锁  多个事物对于同一组数据能够共享一把锁,能够read  ,不能修改。同时能够阻止之后想对这个数据组进行加上排他锁

     排他锁:x锁: 就是只能够一个事物获取到对与当前的数据组的read,  修改。如果之后还有其他事物对她进行加锁,那么全部阻止。

      

        间隙锁:锁住当前数据之间的间隙, 确保当前的索引,防止其他的事物进行jinsert, 防止幻读。。

        临键锁: 锁住了数据,同时锁住了数据之间的间隙,防止插入数据和修改数据

spring和springboot的缺点和区别:ioc和aop具体的什么原理

springcloud的nacos:如何进行路由的转发,默认心跳的时间 ,gateway等

jvm的具体对象的具体流程

jvm双亲委派机制

jvm的gc垃圾回收流程

jvm的gc垃圾回收的算法有哪些?

jvm的类加载器?

下次要将自己会使用平常的sdk,人脸识别等等。

jvm垃圾回收

jvm将字节码文件 转到操作系统。

jvm里面的垃圾 

像是c和c++必须进行手工的回收。java中youjvm进行自动回收。golang

自动化回收,在分配内存之后,会自动回收内存。  1个对象有

没用的东西回收。垃圾回收器有10种。

parallel 和po  Gone   

gc root: root searching(根可达)

如果说线每段的有断了。

怎么找垃圾:root searching(跟可达方法找垃圾)

垃圾回收的算法:标记清除,标记压缩,拷贝。

标记删除:标记之后将他清除,内存会变成碎片化。

拷贝:一个内存只能够使用一半,不能够全部使用,将有用的复制到另外一个地方。然后将原本的一般全部清掉。

标记拷贝就是:在标记删除之后,整理内存留下的数据,达到一个内存不再碎片化。

gc演化:1.8分代管理内存逻辑

新生代                 老年代

1:2 比例。

8:1:1.这个比列就是jvm调优

新生的 对象一般在新生代,新生代装满之后gc。gc发现有些对象一值有用,进行标记次数,多了就放到老年代。老年代满了之后就删除。

伊甸ygc:新生的对象满了之后 ygc。把活着的对象,放到survivor中,然后进行整块清空

和两个幸存者的 处置清除两个 ,然后幸存的复制到其中的一个空的survivor中。

最后survivor装不下了,到老年代。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#多态性

文章目录 C#多态性静态多态性函数重载函数重载 动态多态性运行结果 C#多态性 静态多态性 在编译时,函数和对象的连接机制被称为早期绑定,也被称为静态绑定。C# 提供了两种技术来实现静态多态性。分别为: 函数重载 运算符重载 运算符重载将…

MINT: Detecting Fraudulent Behaviors from Time-series Relational Data论文阅读笔记

2. 问题定义 时间序列关系数据(Time Series Relation Data) 这个数据是存放在关系型数据库中,每一条记录都是泰永时间搓的行为。 更具体地,每条记录表示为 x ( v , t , x 1 , x 2 , … , x m − 2 ) x (v,t,x_1,x_2,\dots,x…

是德科技keysight N9917A微波分析仪

181/2461/8938产品概述: N9917A 是一款使用电池供电的便携式分析仪;基本功能是电缆和天线分析;配置还包括频谱和网络分析仪、可选的内置功率计和矢量电压表。 N9917A FieldFox 手持式微波分析仪 主要特性和功能 18 GHz 最大频率&#xfef…

docker 容器挂掉,无法exec 进入bash 怎么修改容器里的文件

在使用tdengine 数据库时出现了 TDengine.Driver.TDengineError:“code:[0x334],error:Out of dnodes” 查找文档发现需要修改一个配置文件 。 /etc/taos/taos.cfg 中的 supportVnodes 参数 于是修改 保存。然后,运行出错。 03/21 06:56:27.986498 00000064 …

UE5 C++增强输入

一.创建charactor,并且包含增强输入相关的头文件 1.项目名.build.cs。添加模块“EnhancedInput”,方便找到头文件和映射的一些文件。 PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine&q…

服务器总是宕机问题记录

博主介绍: 22届计科专业毕业,来自湖南,主要是在CSDN记录一些自己在Java开发过程中遇到的一些问题,欢迎大家一起讨论学习,也欢迎大家的批评指正。 文章目录 背景调整总结 背景 2核2G的服务器,服务器安装了t…

Spark Rebalance hint的倾斜的处理(OptimizeSkewInRebalancePartitions)

背景 本文基于Spark 3.5.0 目前公司在做小文件合并的时候用到了 Spark Rebalance 这个算子,这个算子的主要作用是在AQE阶段的最后写文件的阶段进行小文件的合并,使得最后落盘的文件不会太大也不会太小,从而达到小文件合并的作用,…

CSS弹性盒模型(学习笔记)

一、厂商前缀 1.1 作用 解决浏览器对C3新特性的兼容,不同的浏览器厂商,定义了自己的厂商前缀 1.2 语法 浏览器 厂商前缀内核(渲染引擎):解析htmlcssjs谷歌 -webkit-blink苹果-webkit-webkit欧朋-o-blink火狐 -moz-geckoIE-ms- trid…

sentinel流控规则详解(图形化界面)

1、QPS 每秒的请求数&#xff0c;超过这个请求数&#xff0c;直接流控。 2、BlockException统一异常处理 2.1、创建异常返回类 Result.class public class Result<T> {private Integer code;private String msg;private T data;public Result(Integer code, String ms…

算法设计与分析-贪心算法的应用动态规划算法的应用——沐雨先生

1&#xff0e; 理解贪心算法的概念&#xff1b; 2&#xff0e;掌握贪心算法的基本思想。 &#xff08;1&#xff09;删数问题 问题描述&#xff1a;给定 n 位正整数 a &#xff0c;去掉其中任意 k ≤ n 个数字后&#xff0c;剩下的数字按原次序排列组成一个新的正整数。对于…

Eclipse For ABAP:安装依赖报错

1.安装好Eclipse后需要添加依赖,这里的地址: https://tools.hana.ondemand.com/latest 全部勾选等待安装结束; 重启后报错:ABAP communication layer is not configured properly. This might be caused by missing Microsoft Visual C++ 2013 (x64) Runtime DLLs. Consu…

【面试经典150 | 数组】分发糖果

文章目录 写在前面Tag题目来源解题思路方法一&#xff1a;贪心两次遍历 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对于本题涉及到的数据结构等内容…

STM32最小核心板使用HAL库实现CAN接口通讯(轮询方式)

这里使用了CAN1的接口&#xff0c;具体使用MX创建项目就不放了 需要注意的是&#xff0c;由于是最小核心没有CAN的收发模块需要外接一个 STM32核心板接CAN收发模块不需要交叉 /**CAN GPIO ConfigurationPA11 ------> CAN_RXPA12 ------> CAN_TX */ CAN收发模块…

数据结构知识总结

二叉树 满二叉树 特性 所有叶子结点都集中在二叉树的最下面一层上&#xff0c;而且结点总数为&#xff1a;2^n-1 (n为层数 / 高度&#xff09; 完全二叉树 特性 若设二叉树的高度为h&#xff0c;除第h层外&#xff0c;其他各层的节点数都达到最大个数&#xff0c;第h层有…

Windows 设置多显示器显示

Windows 设置多显示器显示 1. Windows 7 设置 HDMI 输出2. Windows 11 设置多显示器显示References 1. Windows 7 设置 HDMI 输出 2. Windows 11 设置多显示器显示 ​​​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

MAC本安装telnet

Linux运维工具-ywtool 目录 1.打开终端1.先安装brew命令2.写入环境变量4.安装telnet 1.打开终端 访达 - 应用程序(左侧) - 实用工具(右侧) - 终端 #注意:登入终端用普通用户,不要用MAC的root用户1.先安装brew命令 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/H…

Android Studio实现内容丰富的安卓校园助手班级成绩天气管理

获取源码请点击文章末尾QQ名片联系&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动 1.开发环境 android stuido3.6 jak1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.校园公告 3.课程列表 4.成绩列表&#xff0c;天气列表 5.个人中心…

python + tensorflow 开局托儿所自动点击脚本

python开局托儿所自动点击脚本 屏幕截图图片数字识别消除算法自动点击 屏幕截图 python 屏幕截图可以使用pyautogui或者PIL。我使用的是PIL中的ImageGrab(要授权)。 image ImageGrab.grab(bbox(0, 0, tool.static_window_width, tool.static_window_height)) image np.arra…

人脸表情识别系统项目完整实现详解——(三)训练MobileNet深度神经网络识别表情

摘要&#xff1a;之前的表情识别系统升级到v3.0版本&#xff0c;本篇博客详细介绍使用PyTorch框架来构建并训练MobileNet V3模型以进行实现表情识别&#xff0c;给出了完整实现代码和数据集可供下载。从构建数据集、搭建深度学习模型、数据增强、早停等多种技术&#xff0c;到模…

Django日志(一)

一、概念与配置 1.1、概述 日志是程序员经常在代码中使用快速和方便的调试工具。它在调试方面比print更加的优雅和灵活 而且日志记录对于调试很有用,可以提供更多,更好的结构化,有关应用程序的状态和运行状况的信息 Django框架的日志通过python内置的logging模块实现的,可…