自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【面试准备】高并发方案

总体来说除了各点的高并发设计外,整体可以采用限流、加机器的方案。下面针对上述说的几个点,逐一分析扩展方案。

2023-07-31 00:26:04 30

原创 【面试准备】框架基础

反射是加载类的时候,使用编程方式解剖出类中的各种成分,包括成员变量、方法、构造器等。一般在框架中使用的较多。

2023-07-23 23:26:03 45

原创 【学习记录】Redis 核心技术与实战

个人学习记录。

2023-07-14 00:26:00 146

原创 【学习记录】MySQL 45讲学习提纲

简要列出知识点,仅供个人学习记录。

2023-07-14 00:07:25 35

原创 【面试准备】设计模式

当产品可以分为多个产品族的时候,可以使用抽象工厂使结构更清晰。当一个产品族中需要被设计在一起工作时,通过抽象工厂模式,能够保证客户端始终只使用同一个产品族中的对象。在产品类型较多时,有可能造成工厂逻辑过于复杂,不利于系统的扩展维护。的设计模式,将对象的创建与使用代码分离,提供一种统一的接口来创建不同类型的对象。抽象工厂中也有四个角色:抽象工厂、具体工厂、抽象产品(族)、具体产品(族)。举例:服装品牌A和品牌B都有T恤和牛仔裤卖,在搭配时需要是同品牌的。,但可能会浪费内存,加载了不需要的类的实例。

2023-07-10 22:49:58 28

原创 【面试准备】消息队列

RocketMQ可以保证局部顺序,同一个订单/用户的消息路由到同一个队列中。消费端记录已消费过的messageId。

2023-07-03 01:04:41 32

原创 【面试准备】安全

为了平衡安全性与速度,双方先使用非对称加密通信,来交换对称加密的密钥,后续使用对称加密来通信。

2023-07-02 01:15:26 32

原创 【面试准备】Java并发编程

synchronized是对象锁,是互斥的,在同一时间最多有一个线程持有这个锁,其他线程想获取时会阻塞住。当一个线程抛出OOM异常后,它所占据的内存资源会全部被释放掉,从而不会影响其他线程的运行。底层是一个Monitor,由JVM提供,C++实现的。Java并发的特性:原子性、内存可见性、有序性。

2023-06-13 00:45:55 40

原创 【面试准备】JVM

程序计时器是每个线程私有的,每个线程一个,保存的是字节码的行号。用来记录当前执行的字节码指令的地址。当这个线程获取到CPU时间片时从这个地址开始。JVM只能执行二进制文件,类加载器是将字节码文件加载进JVM的,从而使Java程序得以执行。加载一个类时,会先委托它上一级的类加载器进行加载,如果上一级的类加载器还有上级,就继续向上委托。如果上级的类加载器无法加载这个类,子加载器就会尝试加载这个类。如果上级的类加载器可以加载这个类,那么会直接返回这个类。

2023-06-11 21:05:31 66

原创 【面试准备】Java集合

HashEntry和HashMap结构类似,是一种数组和链表的结构,一个Segment包含一个HashEntry数组,HashEntry的元素是一个链表。通过对链表或红黑树的头节点进行加锁来保证线程安全,相比分段锁的粒度更小,只要没有哈希冲突就不会有并发问题。JDK 1.7扩容迁移时,使用的是头插法,原本链表为 A -> B,迁移后会变成 B -> A,如果有多个线程同时执行迁移,就有可能出现 B -> A -> B 的情况。未扩容,只声明了容量为10,在第一次添加数据时才会生成数组。

2023-06-10 15:04:36 23

原创 【面试准备】MyBatis

基于PerpetualCache的HashMap本地缓存,存储作用域为Session,当Session进行flush或close后,对应的所有Cache就会被清空。当某一个作用域进行了新增、修改、删除之后,默认该作用域下的所有select中的缓存将被清除。作用域可以是一级缓存Session或二级缓存Namespaces。基于namespace和mapper的作用域起作用的,不依赖于SQL Session,默认采用PerpetualCache的HashMap。MyBatis支持延迟加载,但默认没有开启。

2023-06-09 00:46:30 68

原创 【面试准备】Redis

Redis相关面试题

2023-06-07 21:52:08 88

原创 【面试准备】MySQL

聚簇索引是数据与索引放在一起,B+树的叶子节点中保存了整行的数据,有且只有一个。非聚簇索引(二级索引)是数据与索引分开存储,B+树的叶子节点只保存了对应的主键,可以有多个,一般我们额外加的就是非聚簇索引。聚簇索引一般是主键索引,无主键则是一个唯一索引,两个都没有的话InnoDB会自动生成一个rowid作为聚簇索引。覆盖索引是查询时使用了索引,并且这个索引可以满足所有需要返回的列,是不需要回表的情况。回表是通过非聚簇索引查询到对应的主键值,用主键值在聚簇索引中查询整行数据的过程。

2023-06-04 21:35:42 67

空空如也

空空如也

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

TA关注的人

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