自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis插件

基于MyBatis插件机制可以实现分页、分表,监控等功能。Mybatis插件支持对四大核心对象(Executor、 StatementHandler、 ParameterHandler、 ResultSetHandler)进行拦截,增强核心对象的功能。

2022-03-01 21:16:53 149

原创 JVM面试题总结

1.JVM类加载机制?双亲委派模型?为什么需要自定义类加载器?类加载机制类加载子系统负责查找并加载二进制class文件,保证导入类的正确性以及帮助解析符号引用,并提取其中类信息以某种数据结构存储在方法区中,在堆内存中创建一个Class对象的过程。细节上又可分加载、连接(验证、准备、解析)、初始化:1) 加载 -- 查找并装载类型的二进制数据2) 连接 -- 执行验证,准备,以及解析(可选),如下三个步骤验证 -- 确保被导入类型的正确性准备...

2021-10-07 13:40:12 131

原创 面试题解答

1.Java的内存区域?内存模型?二者的关系?​运行时数据区《Java虚拟机规范》:Java虚拟机所管理的内存包括:堆、方法区、虚拟机栈、本地方法栈、程序计数器。Java堆被所有线程共享的一块内存区域,在虚拟机启动时创建。用于存放对象实例和数组。也是垃圾收集器管理的区域(也叫GC堆)。为了更好的回收、分配内存,Java堆可能划分出多个线程私有的分配缓冲区(TLAB)。堆大小可以通过参数-Xmx(最大堆大小)和-Xms(初始大小)扩展。如果堆中没有内存完成实例分配,并且堆已无法再扩展,则.

2021-10-03 15:31:38 196

原创 面试题整理

设计模式用过吗?用过哪些设计模式?怎么用的?单例模式:实现方式:饿汉式:懒汉式:双重检测:volatile:反射破坏单例:工厂模式:策略模式:

2021-09-27 02:41:05 108

原创 MySQL-索引原理

1. 索引类型2. 索引结构Hash结构底层由hash表实现,B-树结构B+树结构

2021-09-22 02:16:05 159

原创 安装MySQL缺失libssl.so.10(libssl.so.10)(64bit)

执行MySQL安装命令rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm时,报错信息:warning: mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEYerror: Failed dependencies: libcrypto.so.10()(64bi

2021-09-18 02:22:59 10859

原创 Redis—底层数据结构

字符串类型 SDSstruct sdshdr{//记录buf数组中已使用字节的数量int len;//记录 buf 数组中未使用字节的数量int free;//字符数组,用于保存字符串char buf[];}

2021-09-04 20:03:11 159

原创 Redis—高性能

Redis为什么这么快?1.Redis是基于内存存储,内存读写速度快。Redis所有数据基本存储在内存中,读写不需要磁盘I/O,因此读写速度非常快。官方数据,读速度110000次/s,写速度81000次/s。支持动态调整最大内存maxmemory和淘汰策略来管理数据。2.Redis对请求的处理是单线程的,避免线程切换的资源消耗和资源竞争问题。Redis4.0之前,是以单线程模式运行的,避免性能损耗,方便开发和维护;4.0以后引入了惰性删除,由额外的线程执行,这样不会使主线程卡顿;

2021-09-04 03:50:23 786

原创 Redis—线程模型

文件事件:Redis服务器通过套接器和客户端进行连接,文件事件就是服务器对接套接字操作的抽象。服务器和客户端的通信会产生相应的文件事件,服务器通过监听并处理这些事件来完成通信。Redis基于Reactor模式开发的事件处理机制,被称为文件事件处理器。由套接字、I/O多路复用程序、文件事件分派器(dispatcher),事件处理器组成。IO多路复用程序同时监听多个socket,当被监听的socket准备好执行accep、read、write、close等操作时,与这些操作对应的文件事件就会产生。

2021-09-04 02:51:57 134

原创 MySQL—架构原理

1.1 应用架构演变架构V1.0 - 单机单库 —>架构V2.0 - 主从架构—>架构V3.0 - 分库分表—>架构V4.0 - 云数据库1.2 体系架构网络连接层服务层(MySQL Server)存储引擎层(Pluggable Storage Engines)系统文件层(File System)1.3 运行机制①建立连接(Connectors&Connection Pool)通过客户端/服务器通信协议与MySQL建立连接。MySQL 客..

2021-08-18 00:05:43 451

原创 Spring学习总结—IOC和AOP

1. 概述1.1 简介Spring 是分层的 full-stack(全栈) 轻量级开源框架,以 IoC 和 AOP 为内核,提供了展现层Spring MVC和业务层事务管理等众多的企业级应⽤技术,还能整合开源世界众多著名的第三⽅框架和类库,已经成为使⽤最多的 Java EE 企业应⽤开源框架。1.2 核心结构Spring框架是一个轻量级的解决方案,可以一站式地构建企业级应用。Spring是模块化的,所以可以只使用其中需要的部分。主要包括几大模块:数据处理模块、Web模块、AOP/Aspect

2021-08-10 22:17:50 286

原创 并发编程—锁总结

乐观锁/悲观锁悲观锁认为数据发生并发冲突的概率很大,读操作之前就上锁。synchronized关键字,ReentrantLock都是悲观锁的典型。乐观锁认为数据发生并发冲突的概率比较小,读操作之前不上锁。等到写操作的时候再判断数据在此期间是否被其他线程修改。如果被修改了就把数据重新读出,重复该过程。Java中java.util.concurrent.atomic包下面的原子变量类就是典型的乐观锁,使用了乐观锁的一种实现方式CAS(Compare and Swap 比较并交...

2021-08-07 16:54:34 148

原创 周中答疑整理

什么是回表?1) InnoDB索引: 聚集索引(clustered index) 普通索引(secondary index) 2)聚集索引和普通索引区别?InnoDB聚集索引的叶子节点存储行记录,因此, InnoDB必须要有,且只有一个聚集索引:如果表定义了PK,则PK就是聚集索引;如果表没有定义PK,则第一个not NULL unique列是聚集索引;否则,InnoDB会创建一个隐藏的row-id作为聚集索引;InnoDB普通索引的叶子节点存储主键值。注意,不是存.

2021-08-01 18:35:30 199

原创 并发编程笔记—ThreadLocal

1、是什么?线程类中声明了一个ThreadLocal.ThreadLocalMap类型的成员变量,是为了维护线程本地变量而设计的。public class Thread implements Runnable { ThreadLocal.ThreadLocalMap threadLocals = null; ...}ThreadLocal,即线程局部变量,提供了线程本地实例。同一个ThreadLocal 所包含的对象,在不同的Thread中有不同的副本,即不同线程之间是隔..

2021-07-30 22:35:59 78

原创 并发编程笔记-线程池

线程池线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以就引入了线程池技术,避免频繁的线程创建和销毁。合理地使用线程池能够带来的好处:1) 通过重复利用已创建的线程降低资源消耗;2) 提高任务的响应速度;3) 使用线程池可以对线程进行统一分配、调优和监控。实现原理线程池是一组线程的集合,当提交一个新任务到线程池时,处理流程大致如下:1) 线程池判断核心线程池里的线程是否都在执行任务,如果不是,则创建一个新的工作线程来执行任务。2)如果核心线程池里的线程都在执.

2021-07-28 02:04:48 227

原创 SpringCloud学习笔记--Eureka注册中心

1、互联网应用架构发展1)、单体应用架构 业务简单,数据量小,所有的模块部署在一个应用,一个服务容器。 优点:成本低,开发节奏快,架构简单,易于调试部署。 缺点:功能不断迭代,耦合严重;代码杂乱;沟通成功高。 2)、垂直应用架构 为了解决单体架构的问题,开始做模块的垂直划分,划分依据业务特性,互相不影响。 优点:系统拆分流量分担,方便水平扩展,系统互不影响,可以独立优化。 缺点:系统之间调用硬编码,方式不统一,监控不到位;数据库资源浪...

2021-07-27 22:31:35 390

空空如也

空空如也

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

TA关注的人

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