- 博客(32)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 2018年博客之星,需要您宝贵的一票!
很荣幸入选了CSDN博客之星候选,既然入选了,那么我还是想全力以赴!虽然比不上其他大佬那么优秀,但还是希望大家多多支持!请投 003 号:刘志熊 一票投票地址https://bss.csdn.net/m/topic/blog_star2018/index...
2018-12-30 23:21:09 2385 98
原创 Java并发编程之CountDownLatch & CyclicBarrier
概述CountDownLatch类位于java.util.concurrent包下,利用它可以实现线程间同步等功能。例如,现在有一个主线程和两个子线程,主线程需要等待两个子线程执行结束之后才能执行,那么就可以通过CountDownLatch来实现。构造器 & 方法构造器CountDownLatch只提供了一个构造器public CountDownLatch(int count)...
2018-12-29 10:41:07 1262 5
原创 浅谈volatile在i++情况下失效
概述如果你对volatile不陌生的话,应该会知道volatile能够保证共享变量对线程的可见性。那为什么volatile无法保证 i++ 操作的线程可见性呢?分析假设i的初始值为0,现有两个线程,分别为线程1和线程2进行 i++ 操作,我们来分析一下为什么会出现错误。首先,i++并不是原子操作,我们可以将这个操作拆分为3个步骤。线程从主内存把遍历加载到缓存。线程执行i++操作。...
2018-12-25 13:35:47 5108 8
原创 Kafka Produce如何保证数据不丢失
概述Kafka的发送模式可以分为同步模式和异步模式,可以通过参数producer.type=sync和producer.type=async指定。同步模式producer.type设置为sync时为同步模式。此时可以通过配置request.required.acks的值来指定确认机制,分别为0 : 不等待broker返回确认消息。-1 : 等待topic中partition lead...
2018-12-25 11:00:22 1929 6
原创 HTTP协议的POST与PUT区别
幂等性对同一URL的多个请求应该返回同样的结果。区别PUT和POS都有更改指定URI的含义。但是POST被定义为非幂等的方法,PUT被定义为幂等的方法。POST : 后一个请求不会把前一个请求覆盖掉,而是新增一个资源。PUT : 后一个请求会把前一个请求覆盖掉。...
2018-12-25 10:12:26 1756 4
原创 Mybatis原理剖析之二级缓存(五)
MyBatis的二级缓存是Application级别的缓存,它可以提高对数据库查询的效率,以提高应用的性能。本文将深入分析MyBatis的二级缓存的设计以及实现原理。
2018-12-20 11:17:04 1593 12
原创 Mybatis原理剖析之一级缓存(四)
一级缓存是SqlSession级别的缓存,缓存的作用是,一是提升查询速度,二是降低数据库的并发请求压力。
2018-12-18 13:42:14 1872 20
原创 LeetCode-二叉搜索树的范围和
给定一个二叉搜索树的根节点,以及两个整数类型的左边界和右边界,计算二叉搜索树中介于左边界和右边界的整数和(包含左边界和右边界)。注:假设二叉搜索树中的节点值唯一。
2018-12-15 15:02:05 1473 3
原创 Mybatis原理剖析之自动映射器(三)
自动映射器算是Mybatis的一种特性吧,如果不能搞懂自动映射器的实现原理,那也没法理解Mybatis的其他特性。
2018-12-14 09:44:43 1436 15
原创 Mybatis原理剖析之Configuration(二)
Mybatis包含两类至关重要的XML配置文件,分别为mybatis-config.xml和mapper.xml。
2018-12-13 14:28:04 1088 4
原创 Mybatis原理剖析之架构分析(一)
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
2018-12-13 11:02:43 1218 4
原创 设计模式之观察者模式
观察者设计模式定义了对象间的一种一对多的组合关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。
2018-12-12 13:48:18 1151 14
原创 设计模式之抽象工厂模式
抽象工厂模式是对工厂方法模式的进一步改进,实际上,只是把对某一类相同特性的产品改由同一个工厂来生产而已,工厂方法模式是一种特殊的抽象工厂模式。
2018-12-10 12:27:29 1008 18
转载 分布式锁简单入门以及三种实现方式
主要介绍了分布式锁的由来,以及三大实现分布式锁的方式,分别为数据库分布式锁,Redis分布式锁,Zookeeper分布式锁。
2018-12-07 10:03:27 1872
原创 Kafka、ActiveMQ、RabbitMQ及RocketMQ性能对比
从单机吞吐量、topic 数量对吞吐量的影响、时效性、可用性、消息可靠性和功能支持等方面分析几大中间件的性能对比。
2018-12-06 11:07:46 4650 4
原创 BeanFactory和FactoryBean
BeanFactory和FactoryBean是两个容易混淆的类,本文对两个类的异同做了详细阐述。
2018-12-05 19:04:19 954
原创 Redis集群-哨兵模式
哨兵模式是Redis官方推荐的集群部署方式,与主从复制方式不同,哨兵模式可以在Master宕机时,自动实现主备切换。详情请阅读本文。
2018-12-04 19:53:12 1954
原创 Redis集群-主从复制模式
为了降低每个redis服务器的负载,可以设置多个Redis服务器一起执行任务,做主从模式集群,一个redis服务器负责写数据,其他的服务器负责读数据,主服务器的数据也会自动的同步给其他的从服务器。
2018-12-03 16:26:58 1458
原创 IO多路复用及select、poll和epoll
select、poll和epoll是Linux的IO多路复用三种实现方式,了解他们的优缺点至关重要。
2018-12-02 13:47:14 4396 6
原创 Redis事物探秘
文章目录说明事物实现MULTI命令命令入队事务队列执行事务WATCH命令WATCH命令监视数据库键监视机制的触发事务安全性判断总结说明Redis中的事务与传统关系型数据库(如mysql)的事务是不同的。Redis中的事务是一组命令的集合,事务与命令都是最小执行单位,原理是先将属于一个事务的命令发送给Redis,然后Redis一次执行这些命令。Redis的事务可以保证一个事务内的命令一次执...
2018-12-01 11:23:02 1191
原创 阻塞IO、非阻塞IO和异步IO
本文将介绍阻塞IO、非阻塞IO和异步IO的原理与区别。了解这些内容是掌握Java中NIO,Redis中的IO多路复用等基础,所以至关重要。
2018-12-01 07:49:23 2817 1
Redis持久化的dump.rdb是如何生成的?
2018-12-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人