自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 问答 (1)
  • 收藏
  • 关注

原创 说说用户数据分库分表方案

说说大量用户数据分库分表方案1 背景2 技术选型3 分库分表方案3.1 分几个库、几张表?3.2 支持多维度查询3.3 数据迁移3.4 该方案存在问题4 写在最后1 背景当时公司"背后的靠山"决定将亿级用户数据交给我们自己维护, 这样很多跟用户身份校验相关联的API就不用再调"靠山"啦!但随之而来的问题就是这亿级数据该怎么处理呢? 数据库线上使用的MySQL, 直接单表存吗?据了解MySQL单表查询最优在五百万数据左右, 超过五百万后单表查询性能会严重下降。当时头赶紧组织了个小会, 商讨数据处理方案,

2020-06-27 20:30:43 1105

原创 说说CMS与G1垃圾收集器

说说CMS与G1垃圾收集器1 CMS收集器1.1 CMS收集器的过程1.2 CMS优点1.3 CMS缺点2 G1收集器2.1 G1的优势2.2 G1垃圾收集过程1 CMS收集器CMS收集器是以获取最短回收停顿时间为目标的老年代收集器, 所以非常适合希望停顿最短时间及要求响应速度的程序,能给用户带来更好的体验。1.1 CMS收集器的过程初始标记(STW): 只标记与GC ROOT关联的对象, 速度快。并发标记: 对初始标记标记出来的对象进行继续搜索, 标记出与之关联的对象重新标记(STW):

2020-06-26 20:05:11 273

原创 JVM中判断对象存活与死亡

JVM中判断对象存活与死亡1 引用计数法1.1 优点1.2 缺点2 可达性分析算法2.1 可以作为GC ROOT的对象3 Java中的引用类型3.1 强引用 (Strong Reference)3.2 软引用 (Soft Reference)3.3 弱引用 (Weak Reference)3.4 虚引用 (Phantom Reference)4 可达性分析算法中不可达的对象一定会被回收吗?1 引用计数法每个对象会分配一个引用计数器, 当对象被引用时, 计数器加1, 当引用失效时, 计数器减1, 当计数

2020-06-26 15:01:21 214

原创 Java内存模型与内存结构

Java内存模型与内存结构1 Java内存模型2 Java内存结构(运行时数据区域)2.1 程序计数器(线程私有)2.2 Java虚拟机栈 (线程私有)2.3 本地方法栈(线程私有)2.4 Java堆(线程共享)2.5 方法区 (线程共享)2.6 运行时常量池2.7 直接内存1 Java内存模型Java内存模型是为了屏蔽掉各种硬件和操作系统的各种访问差异,以实现让Java程序在各个平台下一致的访问内存效果。通过定义程序中各个竞争变量的访问规则, 以实现访问变量的原子性、可见性、有序性。2

2020-06-26 00:25:20 215

原创 Spring如何解决循环依赖笔记

Spring如何解决循环依赖参考资料:https://www.jianshu.com/p/230c0a87f015?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-friends&from=groupmessage&isappinstalled=0...

2019-11-05 19:44:08 366

原创 Java锁之ReentrantLock源码学习笔记

Java锁ReentrantLock之源码学习笔记1. ReentrantLock原理2. ReentrantLock类图3. ReentrantLock源码1. ReentrantLock原理2. ReentrantLock类图3. ReentrantLock源码

2019-11-04 16:38:48 183

原创 Java排序之TimSort源码学习笔记

Java排序之TimSort源码分析1. TimSort核心原理2. TimSort源码解析2.1 sort2.2 countRunAndMakeAscending2.3 binarySort2.4 mergeCollapse2.5 mergeForceCollapse2.6 mergeAt3. 总结1. TimSort核心原理TimSort是结合了插入排序和归并排序稳定的排序算法,并做了...

2019-10-30 19:50:01 2875

原创 算法时间、空间复杂度分析

算法时间、空间复杂度分析1. 为什么需要复杂度分析2. 大O复杂度表示法2.1 大O时间复杂度2.2 大O空间复杂度3. 如何进行复杂分析3.1 时间复杂度3.2 空间复杂度1. 为什么需要复杂度分析复杂度分析不依赖于代码执行环境,通过复杂度分析就可以粗略的估计代码的执行效率及空间占用,指导我们写出最优的代码、优化执行效率低的代码。2. 大O复杂度表示法大O表示法是将代码中所有的步骤转换...

2019-10-14 23:24:26 325

原创 Oracle误删、误更新数据后还原数据

Oracle误删、误更新后如何还原数据查看undo参数使用Flashback Query修复数据缘由: 同事更新表数据时误将表中所有数据全部更新,其实就想更新一行。解决办法: 使用Oracle的flashback特性之Flashback Query闪回查询技术, 前提是必须启动Undo表空间管理,版本Oracle 9i及以上。查看undo参数命令: show parameter und...

2019-09-26 19:12:29 239

原创 springboot项目中使用filter无法注入bean采坑

springboot项目中使用filter采坑1. 问题:使用@WebFilter无法注入bean2. springboot中创建filter方式1.1 @WebFilter注解1.2 使用FilterRegistrationBean方式1.3 使用DelegatingFilterProxyRegistrationBean方式1.4 将自定义Filter声明为bean,Spring初始化时自动...

2019-09-24 19:57:06 9143

空空如也

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

TA关注的人

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