- 博客(12)
- 收藏
- 关注
原创 Mybatis插件
基于MyBatis插件机制可以实现分页、分表,监控等功能。Mybatis插件支持对四大核心对象(Executor、 StatementHandler、 ParameterHandler、 ResultSetHandler)进行拦截,增强核心对象的功能。
2022-03-01 21:16:53
192
原创 JVM面试题总结
1.JVM类加载机制?双亲委派模型?为什么需要自定义类加载器?类加载机制类加载子系统负责查找并加载二进制class文件,保证导入类的正确性以及帮助解析符号引用,并提取其中类信息以某种数据结构存储在方法区中,在堆内存中创建一个Class对象的过程。细节上又可分加载、连接(验证、准备、解析)、初始化:1) 加载 -- 查找并装载类型的二进制数据2) 连接 -- 执行验证,准备,以及解析(可选),如下三个步骤验证 -- 确保被导入类型的正确性准备...
2021-10-07 13:40:12
184
原创 面试题解答
1.Java的内存区域?内存模型?二者的关系?运行时数据区《Java虚拟机规范》:Java虚拟机所管理的内存包括:堆、方法区、虚拟机栈、本地方法栈、程序计数器。Java堆被所有线程共享的一块内存区域,在虚拟机启动时创建。用于存放对象实例和数组。也是垃圾收集器管理的区域(也叫GC堆)。为了更好的回收、分配内存,Java堆可能划分出多个线程私有的分配缓冲区(TLAB)。堆大小可以通过参数-Xmx(最大堆大小)和-Xms(初始大小)扩展。如果堆中没有内存完成实例分配,并且堆已无法再扩展,则.
2021-10-03 15:31:38
239
原创 面试题整理
设计模式用过吗?用过哪些设计模式?怎么用的?单例模式:实现方式:饿汉式:懒汉式:双重检测:volatile:反射破坏单例:工厂模式:策略模式:
2021-09-27 02:41:05
143
原创 安装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
13066
原创 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
354
原创 并发编程—锁总结
乐观锁/悲观锁悲观锁认为数据发生并发冲突的概率很大,读操作之前就上锁。synchronized关键字,ReentrantLock都是悲观锁的典型。乐观锁认为数据发生并发冲突的概率比较小,读操作之前不上锁。等到写操作的时候再判断数据在此期间是否被其他线程修改。如果被修改了就把数据重新读出,重复该过程。Java中java.util.concurrent.atomic包下面的原子变量类就是典型的乐观锁,使用了乐观锁的一种实现方式CAS(Compare and Swap 比较并交...
2021-08-07 16:54:34
185
原创 周中答疑整理
什么是回表?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
251
原创 并发编程笔记—ThreadLocal
1、是什么?线程类中声明了一个ThreadLocal.ThreadLocalMap类型的成员变量,是为了维护线程本地变量而设计的。public class Thread implements Runnable { ThreadLocal.ThreadLocalMap threadLocals = null; ...}ThreadLocal,即线程局部变量,提供了线程本地实例。同一个ThreadLocal 所包含的对象,在不同的Thread中有不同的副本,即不同线程之间是隔..
2021-07-30 22:35:59
111
原创 并发编程笔记-线程池
线程池线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以就引入了线程池技术,避免频繁的线程创建和销毁。合理地使用线程池能够带来的好处:1) 通过重复利用已创建的线程降低资源消耗;2) 提高任务的响应速度;3) 使用线程池可以对线程进行统一分配、调优和监控。实现原理线程池是一组线程的集合,当提交一个新任务到线程池时,处理流程大致如下:1) 线程池判断核心线程池里的线程是否都在执行任务,如果不是,则创建一个新的工作线程来执行任务。2)如果核心线程池里的线程都在执.
2021-07-28 02:04:48
275
原创 SpringCloud学习笔记--Eureka注册中心
1、互联网应用架构发展1)、单体应用架构 业务简单,数据量小,所有的模块部署在一个应用,一个服务容器。 优点:成本低,开发节奏快,架构简单,易于调试部署。 缺点:功能不断迭代,耦合严重;代码杂乱;沟通成功高。 2)、垂直应用架构 为了解决单体架构的问题,开始做模块的垂直划分,划分依据业务特性,互相不影响。 优点:系统拆分流量分担,方便水平扩展,系统互不影响,可以独立优化。 缺点:系统之间调用硬编码,方式不统一,监控不到位;数据库资源浪...
2021-07-27 22:31:35
492
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人