自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

琼华

琼华高阁赏东菊

原创 mybatis进击六:mybatis的对象管理体系

是否还在疑惑mybatis是怎么转成bean的?一文即可了解

2020-05-21 23:20:14 64 0

原创 mac java开发环境搭建

目录 一、homebrew安装 二、iterm2安装配置 三、IDEA安装配置 四、jdk安装配置 五、maven安装配置 六、git安装配置 七、mysql安装配置 八、chrom插件 九、Charles 十、postman 十一、sublime text 十二、beyo...

2020-05-12 10:17:13 887 0

原创 mybatis进击五:结果集如何转换成自己的类对象
原力计划

mybatis是怎么处理结果集的? 一文理解mybatis对结果集封装处理

2020-05-11 09:45:22 95 0

原创 mybatis进击四:原始SQL查询

一、原始SQL查询 public static void main(String[] args) throws ClassNotFoundException, SQLException { // 四大参数 // MySQL 8.0 以上版本 - JDBC 驱动名...

2020-05-10 22:15:22 52 0

原创 mybatis进击三:核心数据管理
原力计划

mybatis是怎么处理mapper接口与xml文件的映射?一文即可获悉

2020-04-29 23:25:12 185 0

原创 mybatis进击二:jdbcType和JavaType类型转换

大家都知道jdbc type和java type是完全不一样的类型系统,那么他们是怎么转换的?控制是在哪里?假如我们要写这样的功能应该怎么设计呢? 1、考虑写一个map,里面存储所有映射关系,显然这是非常简单的事情 2、如果想增加扩展,应该怎么去实现呢? 一、Types 这是java.s...

2020-04-28 23:20:29 120 0

原创 mybatis进击一:动态代理实战

一、动态代理用来干什么 1、动态代理可以实现对接口的装饰,可以在一个方法执行之前和之后选择不同的操作(对于特别多方法的接口而言,会很方便) 2、各种框架里都使用动态代理,那么我们也没有理由不去学习和应用它 二、原理 java中的动态代理主要是两个类:Proxy和InvocationHand...

2020-04-28 22:11:57 53 0

原创 面试之ConcurrentHashMap

https://www.cnblogs.com/yangming1996/p/8031199.html 一、变量 //map transient volatile Node<K,V>[] table; //扩容时的临时map,正常情况下null private transien...

2019-08-03 20:12:33 93 0

原创 面试之limit优化

一、背景 面试:设计一个类似朋友圈列表查询的接口 其中,对于分页刷新问题,回答的是limit 面试官又问:如果数据量很大怎么办? 二、limit https://segmentfault.com/a/1190000008859706 limit M, N: 查询M之后的N的条数据,如果...

2019-08-02 15:27:20 93 0

原创 面试之zookeeper

一、分布式锁 二、zookeepr使用场景 分布式协调 配置信息管理 HA高可用 分布式锁

2019-07-31 09:21:00 63 0

原创 面试之Dubbo

来自《石衫码农》 一、分布式锁 二、分布式事务 https://blog.csdn.net/havedream_one/article/details/88561767 三、为什么使用dubbo dubbo,一种rpc框架,解决了远程机器通信、负载均衡、上下线机器感知、超时重试等 四、...

2019-07-31 08:21:22 70 0

原创 面试之消息队列

目录 一、消息队列作用 二、选型 三、rabbitmq高可用性的保证 四、kafka的高可用解决方案 五、消息重复消费 六、rabbitmq怎么避免消息丢失 七、kafka丢失数据 八、怎么保证消息的顺序性 来自于《石杉码农》视频 一、消息队列作用 为什么使用消息队列 1、...

2019-07-29 22:37:47 84 0

原创 面试之java知识

目录 一、基础 二、NIO 三、jvm 四、多线程 五、容器 六、并发容器 一、基础 1、与kotlin的区别 语法简洁、非空安全性调用、支持协程、原型扩展函数等 http://157.7.135.42/kotlin/docs/reference/server-overview...

2019-07-28 01:31:31 49 0

原创 面试准备之redis

目录 一、redis与memcache的区别 二、redis的数据结构 三、单机数据库 四、集群 五、应用 一、redis与memcache的区别 redis是一种key-value内存数据库,同类的数据库如memcache,其与memcache的不同点: 1、支持的数据结构不同,...

2019-07-26 19:50:03 50 0

原创 由于自定义TypeHandler导致的诡异事件:数据库有值,但是mybatis读出来的值消失了

目录 一、引子 二、TypeHandler 三、具体的转换处理过程 四、重点方法 五、本次case 六、思考 一、引子 在数据库中,我们可以清晰的看到这个字段是否值的,但是读出来的结果却是 接着无意中又发现,如果name有值,则mobile可以读出来值,如果没有值,则mo...

2019-07-11 16:29:18 75 0

原创 根据frm和ibd文件恢复数据库表数据

现在手头只有两个文件:frm和ibd; frm:记录着表结构 ibd:记录着数据和索引,如果是独立表空间的话 一、恢复表结构 工具:解析frm工具,如果是mac,可能会提示缺少connector,下载https://downloads.mysql.com/archives/c-python...

2019-04-21 16:48:29 611 1

转载 mybatis是如何防止SQL注入的

mysql防注入

2019-03-28 21:09:55 91 0

转载 译《The Part-Time Parliament》——终于读懂了Paxos协议!

转:https://maimai.cn/article/detail?fid=1036286420&efid=fdNfuuHumBEs-9byTR_cAg&from=singlemessage 原文发布在MessageQueue公众号,欢迎关注! 最近的考古发现表明,在Paxo...

2019-03-28 13:26:44 198 0

原创 Redis 复制流程

2019-03-27 01:30:14 73 0

原创 Redis 集群

目录 五种消息 故障检测和转移 集群结构 五种消息 MEET消息:cluster meet命令,会请求接收者着加入自己所在的集群,所谓的加入,就是两个节点各自创建对方的node实例,并要求通知其余节点新节点的加入 PING消息:心跳检测,1、从所有的列表中随机选出5个,然后向这个5个节...

2019-03-27 01:25:45 97 0

原创 动态规划算法

1、最长公共子序列 定义网格: 以s[i]和s[j]作为结尾的子字符串的最长子序列长度 定义公式: s[i][j] = s[i - 1][j - 1] + 1 s[i] == s[j] 需要加入公共子序列,长度+1 s[i][j] = ma(s[i - 1][j], s[i][j...

2019-03-24 14:29:01 84 0

原创 树的递归遍历和非递归遍历

数据结构树的遍历

2019-03-23 16:28:51 649 0

原创 LeetCode 最长连续序列

给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为O(n)。 示例: 输入:[100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。 维护一个hash,key为数组元素,value为以key为端...

2019-03-17 16:42:30 91 0

原创 LeetCode 搜索旋转排序数组

假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组[0,1,2,4,5,6,7]可能变为[4,5,6,7,0,1,2])。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回-1。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是O(l...

2019-03-16 20:54:31 58 0

原创 java集合框架概论

一、架构图 二、类概论

2019-03-16 14:09:06 68 0

原创 分布式事务协议

目录 一、ACID 二、CAP 三、BASE 四、分布式事务协议 1、2PC 2、3PC 3、TCC 4、本地消息表 5、MQ事务 6、saga 一、ACID 传统的事务属性 (1)原子性 (2)一致性 (3)隔离性 (4)持久性 Mysql的事务保证 二、C...

2019-03-15 00:43:47 192 0

原创 Spring初始化Mybatis的过程

目录 一、序言 二、动态代理机制 三、Spring管理mapper bean 四、Mybatis对Mapper的管理 ​ 一、序言 spring + mybatis整合 springboot + mybatis 处理枚举值 从之前的文章我们知道,spring 引入mybatis...

2019-03-12 01:04:43 362 0

原创 Java 内存垃圾回收

基本概念 JVM垃圾回收:不同于C++,java可以自动进行垃圾回收(也可以调用System.gc(),但是不保证一定处罚垃圾回收)。 内存溢出:内存对象的生命周期超过了程序所期望的存活时间。 垃圾回收的基本步骤: 发现无用对象 回收无用对象所占用的内存空间 GC...

2019-03-10 18:09:23 100 0

原创 java8 stream流 API

功能 方法 方法名 类型 返回类型 使用的类型/函数式接口 函数描述符 释义 筛选、切片 filter...

2019-03-10 10:08:55 47 0

原创 java 队列方法详解

一、队列支持的方法(Queue) throw exception return special value insert add 1、增加元素不能为null 2、其他异常,比如有界队列...

2019-03-09 20:55:59 1009 0

原创 LeetCode 环形链表 II 以及 链表是否有环 详解原理

给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。 为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果pos是-1,则在该链表中没有环。 说明:不允许修改给定的链表。 设:起点为A,第一个入环的点为B; 设有两个...

2019-03-09 14:54:05 121 0

原创 MySql InnoDB索引分析与优化

目录 1、引言 2、数据结构的选择 3、InnoDB索引存储原理 3.1 InnoDB的存储结构 3.2 存储格式:compact 3.3存储格式:redundant 3.4数据页结构 4、索引优化 5、参考 附: 1、查看页号 2、树的定义 1、引言 在学习了解数据索...

2019-02-28 00:18:20 295 0

原创 java线程池详解

一、线程池状态 五个状态: RUNNING、SHUTDOWN、STOP、TIDYING、TERMINATED 线程池的管理使用的AtomicInteger实现原子管理,而使用位操作实现线程池状态的管理和线程池中线程个数的管理,巧妙的采用了高3位管理状态,低29位管理个数 // runSta...

2019-02-20 21:46:55 55 0

原创 布隆过滤器

目录 一、基本的hash计算:霍尔法则 二、Murmur Hash 三、布隆过滤器 四、guava 实现 BloomFilter 4.1 源码 4.2  应用  一、基本的hash计算:霍尔法则 假设有n+2个实数a0,a1,…,an,和x的序列,要对多项式 Pn(x)= an...

2019-02-19 23:52:34 65 0

原创 springboot + mybatis 处理枚举值

目录 一、TypeHandler 二、自定义枚举值处理器 三、配置 四、原理 一、TypeHandler 针对各种类型的处理器 已经内置很多的处理器(TypeHandlerRegistry 初始化时就已经加载了) 注意:对于枚举值,有默认的处理器,EnumTypeHandler,...

2019-02-17 19:25:01 841 0

原创 全局异常处理

  目录 一、RestControllerAdvice 二、实例 三、spring处理 3.1  bean初始化流程 3.2 全局处理流程 一、RestControllerAdvice @RestControllerAdvice、@ControllerAdvice 注解 可以用...

2019-02-16 19:25:20 108 0

原创 spring boot response重写

一、引子 有时候,我们相对返回数据做进一步处理,而 httpServletResponse 不允许我们读取其内容,所以我们需要对其自定义包装 二、自定义response wrapper public class ResponseWrapper extends HttpServletResp...

2019-02-16 15:52:10 2496 1

原创 spring boot 拦截器配置

一、自定义拦截器 只需要 extends HandlerInterceptorAdapter 就可以自定义拦截器了 二、拦截器配置 @Configuration public class GlobalInterceptorConfiguration implements W...

2019-02-16 15:42:53 77 0

原创 spring + mybatis整合

一、按装generator插件 &lt;mybatis.generator.core.version&gt;1.3.5&lt;/mybatis.generator.core.version&gt; &lt;mybatis.ge...

2019-02-16 15:06:14 70 0

原创 spring容器的初始化

容器的启动

2017-08-30 23:52:31 309 0

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