自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 InnoDB结构与表空间文件页的详解

1.InnoDB的概览表空间文件在哪里为什么要设计成内存结构和磁盘结构?表空间与表空间文件用户数据如何在表空间文件存储?2.页如何设置页的大小?页的结构及在表空间的位置?页头包含的信息:数据行数据行的组成信息?数据行如何组织在一起?如何标识新页中第一行和最后一行?遍历页中数据从哪里开始哪

2025-05-10 20:51:16 614

原创 Redis数据结构ZipList,QuickList,SkipList

1.压缩列表可以看作连续内存空间的“双向链表“2.列表的节点之间不是通过指针链接,而是上一节点和本节点长度来寻址,大大节省内存3.如果数据过多,链表过长,可能影响查询性能4.增加删除都可能发生连续更新问题。

2025-05-05 21:58:16 1328

原创 MySQL架构简介

4.服务层:提供NoSQL API,SQL API,SQL语句解析,SQL语句优化,SQL语句缓存等组件,将优化后的SQL语句发送到存储引擎。2.MySQL Shell :客户端代码编辑器,以组件的形式提供,需要单独下载。除类似MySQL客户端功能,还提供JavaScript和python调用的API。,如果发生崩溃,什么都不用做,InnoDB会自动完成崩溃前的提交,并撤销正在执行但未提交的更改。1.为表中最频繁的查询的列指定主键,没有明显的主键则创建主键。,在连接列上定义外键,这个样可以提升查询效率。

2025-05-02 09:50:23 443

原创 Redis数据结构SDS,IntSet,Dict

1.字符串:SDS1.1.为什么叫做动态字符串2.IntSet2.1.inset如何保存大于当前编码的最大数字?3.1Dict的扩容3.2Dict的收缩3.3.rehash

2025-04-26 19:35:28 805

原创 服务注册/服务发现-Eureka

注册中心就像这个查号台,当一个服务调用另一个服务时,直接通过查号台(注册中心)去调用,避免频繁更改url。当服务变更时向注册中心报道,注册中心记录应用和ip的关系。调用方调用时,先去注册中心获取ip,再去调用。注册中心:维护一个服务列表,哪些服务上线,哪些服务下线,哪些服务更改ip,这些信息会更新到这个注册中心上。客户端拿到这个服务列表直接进行调用就好啦。注册中心三个重要角色服务提供者:在业务中,被其他服务调用的服务,也就是提供接口给其他服务调用。

2025-03-21 12:03:35 1198

原创 微服务架构概述及创建父子项目

在java初学阶段,当自己独立做完一个项目,这个项目的业务功能 控制层 配置层 中间件等等所有的功能集中在一个jar包中,那么这个项目就是单体架构的。1.当一个单体架构的项目的流量和需求逐渐增多时,这个时候单体架构就容易崩溃,为解决这个问题。就可以将个别涉及流量大的功能部署在多个服务器上,多个服务器共同完成这个功能。每个服务器的负载按照负载均衡来调度完成任务。这共同完成一个功能的多个服务器共称为集群。2.将一个系统拆分为多个小子系统,并且部署在多个服务,不同的服务器承担的任务不同。这个就是分布式。

2025-02-23 17:30:37 791

原创 动态规划解决股票问题

本题要求我们只能交易一只股票,根据经验 我们可以这样表示:dp[i] = d[i - 1] + prices[ i ] 但是这样不行的,我们可以有两种状态 :买入 or 卖出。我们可以画出这两种状态的转化图。dp[i] 等于前一天的利润加上当天的利润,但是当天的利润怎么求?但是发现定义的这个状态表示不能记录买入的价格。所以应该换一种思路,这样的状态表示是不合适的。上来就定义:dp[i] : 表示第i天获得的最大利润。根据状态图,我们可以得到多状态表示。本题为多状态转移方程,定义状态表示。

2025-02-14 12:18:53 523

原创 JVM内存回收机制

与标记-清楚类似,但是不一样的是后续并不是直接回收对象,而是让所有的存活对象都向前移动,最后直接清理掉边界标记的就可以了。1.伊甸区比较大,让新创建的对象存放,大多数新创建的对象都活不过第一轮GC,留下来的对象拷贝到幸存区。根据读取到的内容大小,确定出类对象需要的内存空间,申请这样大小的空间,并把这个空间全部初始化为0.元数据区:类对象涉及到的类加载,一个程序里面吗要加载得类都是有上限的,不会出现无限增长的情况。JVM中专门搞了一波周期性的线程,扫面代码中的所有对象,判定某个对象是否“可达”。

2024-10-04 14:46:17 1364 1

原创 了解HTTP

1.HTTP认识2.HTTP请求3.HTTP响应4.URL5.HTTP方法面试题:POST 和 GET区别?网上关于 GET 与 POST的差别 有待商议关于请求报头 和 响应报头6..Host :7..USer-Agent(简称UA)8.状态码9.HTTPS 是在 HTTP 基础上引入的 加密机制1.尝试加密:2.传输对称密钥给服务器:3.非对称加密4.引入证书10.常见抓包工具是如何抓包的?

2024-09-27 17:07:05 1475 1

原创 网络层IP协议

IP协议报头结构:解决IP不够用的问题IP地址组成结构子码掩网方案:左边都是1,右边都是0以太网mac地址 与 IP地址的区别DNS应用层协议

2024-09-22 14:39:11 849 1

原创 网络原理TCP/UDP详解

json也是“键值对”格式,键和值:分割键值对之间使用,分割所有键值对用 { } 包含起来。可读性很好,但是没有明确要求数据的格式,就会有些极端的情况。比如:{ “userid":2001,"position" : "S60E45" },这样也是不好看的。

2024-08-20 11:43:32 1693 1

原创 网络编程概念详解模拟回显客户端服务器

1)IP地址:2)端口号:3)协议协议分层OSI七层模型(教科书)TCP/IP五层模型封装和分用网络套接字面试题:TCP/UDP的区别?UDP数据报套接字编程模拟一个回显客户端-服务器

2024-08-09 17:25:39 1119 1

原创 文件操作及面试题

修饰符及返回值类型⽅法签名说明String返回 File 对象的⽗⽬录⽂件路径StringgetName()返回 FIle 对象的纯⽂件名称StringgetPath()返回 File 对象的⽂件路径String返回 File 对象的绝对路径String返回 File 对象的修饰过的绝对路径booleanexists()判断 File 对象描述的⽂件是否真实存在boolean判断 File 对象代表的⽂件是否是⼀个⽬录booleanisFile()

2024-08-05 11:21:49 946 1

原创 常见锁策略

读写锁就是把读操作 和 写操作 分别进行加锁。读锁 与 读锁之间不互斥;读锁 与 写锁之间互斥;写锁 与 写锁之间互斥;

2024-07-31 22:35:27 1177 2

原创 计数器与阻塞队列

1.要有一个类,描述要执行的任务(任务的时间,内容逻辑)2.管理多个任务,通过一定数据结构,把多个任务存起来3.有专门的线程,执行任务。

2024-07-28 18:31:55 871 2

原创 多线程死锁与单例模式

1.两个线程两把锁的死锁场景2.构成死锁的四个必要条件:3.内存可见性问题4.volatile的作用5.wait与sleep的区别6.单例模式

2024-07-24 17:23:46 904 1

原创 多线程.下

总结:synchronized的几种使用方式:注意:在多线程中并非就是写了synchronized就是安全的,还要看具体代码怎么写,是否要加synchronized是要看具体场景。1.线程等待2.join()介绍4.线程的状态3.获取当前对象引用5.线程安全6.synchronized()关键字

2024-07-20 22:29:37 928 3

原创 多线程详解

线程与进程的关系引入多线程方案就可以大大提高效率进程和线程的概念与区别线程创建的五种常用方式介绍Thread类与属性前台线程与后台线程线程的终止(结束)

2024-07-12 16:39:39 1136 4

原创 进程的调度

计算机CPU工作原理进程的调度详细剖解PCB的详解

2024-07-07 15:33:05 1057 3

原创 浅谈MySQL事务

但是这里的“要么一个都不执行”不是真的没有执行,而是执行到一半发现错误自动“还原操作”,把之前执行过SQL语句进行“撤销”,最终的效果看起来像没有执行的一样。这样的机制叫“回滚”(rollback)解决方法:只要有事务在进行读取时,我们就不对这个数据做任何操作。就算多个客户端同时向服务器提交了多个事务,但是服务器也要一条一条执行事务。这样的操作叫”串行化“事务的基本特性

2024-05-29 19:40:33 958

原创 MySQl索引

索引是一种特殊的文件,包含对数据表里所有记录的引用指针,可以对表里的列创建索引,并且指定索引类型,索引有自己的特殊的数据结构。如果把表比作图书,数据就是书记的内容,索引就是书本的目录可以让我们很快速的查找到自己想要的内容。

2024-05-26 17:02:22 662

原创 MySQL增删查改进阶

使用group by 指定某一个列,就会把列值相同的行回到一个组中,分完组后还可以针对每个组进行聚合查询。子表中的class引用自父表class中的class列class表中的数据制约啦stu表中的class。创建stu表,指定name这一列被UNIQUE修饰,表中插入两个‘张三’,所以报错,插入失败。SQL中进行条件查询,是针对列于列之间比较的,不能把比较行,如果把一个表自己与自己链接。插入:在子表中插入数据会触发对父表的查询,若没有对应的数据会报错。一个查询可以包括分组前的条件和分组后的过滤条件。

2024-05-26 14:47:54 1167

原创 MySQL增删查改初阶

本篇涉及库的操作:库的创建,库的显示,库的删除;表操作:表的创建,表的删除表的操作,在选中数据库的基础之上select操作生成的表只是一个临时的表,并没有改变原有的数据

2024-05-25 19:32:40 865

原创 二叉搜索树 Java

搜索二叉树的代码详解

2024-05-21 19:17:41 443

原创 排序算法 下

对快速排序,归并排序,计数排序代码详细解读

2024-05-12 19:18:21 418

原创 排序算法及实现(上)

对插入,希尔,选择,堆,冒泡排序的详细解读

2024-05-12 10:08:40 533

原创 java栈和队列

关于栈,队列,循环队列,双端队列,其实相关面试题

2024-04-14 10:23:00 942

原创 java实现顺序表洗牌算法

1.首先要生成一副有顺序的新牌,通过实现方法来有序的生成。3.通过实现方法去将牌的顺序打乱,4.定义三个牌栏表示每个人抽取的牌。2.每张牌都是有数字和花色组成。

2024-03-31 10:13:21 490

原创 java实现图书馆信息管理系统

为了更好的实现该系统,可以将不同的功能模块放在不同的包中。7.归还图书ReturnBookOperation。比如:书的名字,价格,作者,类型,是否被借出等等。3.BorrowedOperation借阅书籍。4.DalabookOperation删除书籍。5.查找书籍FindBookOperation。6.展示书架ShowBookOperation。8.ExitOperation推出图书系统。5.1Normaluser正常普通用户。5.User使用者身份。

2024-03-28 12:04:05 1261 1

原创 掌握java中的多态

类的调用者在编写这个方法时,参数类型为Anmal父类,此时该方法内部并不知道,也不关注当前的a引用 指向哪个子类的实例,此时a这个引用调用eat方法会有多少种不同的表现,这就是多态。,重写的好处就是在于子类可以根据需要重写父类的方法,定义特定的功能。缺点:不能再调用子类特有的方法,只能调用子类重写的父类的方法和自己的成员变量。5.重写的方法用@Override注解,可以帮助我们注解,校验。在向上转型之后,不能再调用子类自己的独有方法,如果非常需要,我们。1.在构造D的对象同时,会调用B的重写的方法,

2024-03-25 15:56:27 901

原创 掌握java中继承

那么为什么会有继承呢?假如我们要定义好多的类,都是描述动物的类,这些类有共同的特点,成员变量都含有动物的名字,年龄;如果每写一个类都要这样定义的话未免有点过于麻烦了;我们可以定义一个父类,包含年龄,名字;以后定义的子类只要它就好了;。父类和子类中可能出相同的成员变量或方法,如果想在子类中访问父类成员变量是很难的,java中提供了static关键字;输出结果 10 20;那么如何访问父类中的成员变量呢?可以在子类中再定义一个方法,用关键字super,

2024-03-08 18:08:58 883 1

原创 类初步认识与对象

类是对一个对象的描述,主要用来描述对象有哪些属性,哪些功能;比如:洗衣机属性:品牌,颜色,尺寸等功能:;洗衣,烘干,定时如何用java语言来对类进行定义?//创建类field //成员变量method //成员方法//class为关键字//ClassName为类的名字//{}为类的主题类中的内容为类的成员,用来描述类·的称为成员变量 或 成员属性,// 品牌// 型号// 重量// 长// 宽// 高// 颜色。

2024-03-06 19:44:47 938

原创 顺序表和链表对应的经典算法

有关算法思想的经典链表题目

2024-02-03 21:03:41 893 1

原创 编译和链接

翻译环境可以将源代码转化为可执行的机械指令,翻译环境包括两大部分。分析:1.多个.c文件单独经过编译器编译生成后缀为.obj的目标文件,这个过程为编译(在Windows环境下的目标文件后缀为.obj ,Linux环境下的为.o)2.多个目标文件和链接库一起通过链接器链接最终生成可执行程序。3.链接库:支持程序运行的的基本函数集合。以gcc为列把编译详细拆解:如图所示。

2024-01-19 18:44:30 391 2

原创 sizeof和strlen有关指针计算

1.sizeof:计算变量所占空间大小,单位字节。如果操作数是变量类型则计算这个类型的大小。如果是字符串计算结果包含‘\0'2.strlen是求字符串长度的库函数函数计算结果不包含'\0'

2023-12-23 10:20:09 732 2

原创 递归经典三题

此时n-1个盘子在B柱,在19行,再调用fun函数,将n-1个盘子从B柱通过A柱移动到C柱,任务完成。再分析前三步时,我们好像以为规律是步数就是台阶数等于跳法数,但分析到n=5时,却不一样了。=1,进入fun(n-1,pose1,pose2,pose3)在 fun(n-1,pose1,pose2,pose3)中,(n-1)!n为盘子的个数,pose1表示A柱,pose2表示B柱,pose3表示C柱;再进入fun(n-2,pose1,pose2,pose3)注意终止条件有两个n=1,n=2项,

2023-12-20 15:31:47 1277 1

原创 C语言文件操作(函数使用详解)

fgetc:字符输入函数Get character from stream:从流中得到字符,用于文件的读入。将文件的字符读取到内存里FILE * stream:指文件指针函数返回值为整型先在vs中建立一个文件“data.txt”,在文件中输入abcdefghfputc:字符输出函数Write character to stream:将字符写入流int character, FILE * stream :放置字符,放置流(文件名)

2023-12-17 13:08:23 1849 3

原创 动态内存管理及相关经典笔试好题

1.动态内存管理的原因2.相关函数:free和mallocrealloc和calloc3.经典笔试题分析:1,2,3,44.柔性数组。

2023-12-14 10:17:50 1016 1

原创 自定义类型:联合体和枚举

在给枚举变量赋值时应使用枚举常量。那能不能用常量给枚举变量赋值呢,

2023-12-09 14:28:21 607

原创 拿捏结构体?别错过,重点在后面

为了能够完全掌握再来两题:分析图:

2023-12-05 12:41:15 886 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除