自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Redisson分布式锁深入解析(二)

上一篇文章主要侧重如何获取锁以及所获取成功的场景,本文将着重对失败以及解锁的情况进行分析,探寻Redisson分布式锁最具艺术的地方。 @Override public boolean tryLock(long waitTime, long leaseTime, TimeUnit ...

2018-08-09 17:52:00 222

转载 Redission分布式锁源码解析

Redission锁继承Implements Reentrant Lock,所以具备 Reentrant Lock 锁中的一些特性:超时,重试,可中断等。加上Redission中Redis具备分布式的特性,所以非常适合用来做Java中的分布式锁。 下面我们对其加锁、解锁过程中的源码细节进行一一...

2018-07-30 17:38:00 707

转载 设计模式的原则

设计模式的六大原则: 总原则-开闭原则 对扩展开放,对修改封闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。 想要达到这样的效果,我们需要使用接口和抽象类等,后面的具体设计中我们会提到这点。...

2018-03-14 10:38:00 161

转载 JVM垃圾收集器

简介: Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商、不同的版本的虚拟机所提供的垃圾收集器都可能会有很大的差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。Sun HotSpot虚拟机1.6板虚拟机所包含的收集器如下...

2018-02-10 11:08:00 89

转载 Java如何判断对象已死?

Java堆中几乎存放着Java世界中所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象有哪些还是存活着,哪些已经死去。 1:引用计数法:最主要因为该算法无法解决对象之间的相互循环引用的问题,Java语言没有选用引用计数算,这里不多做介绍 2:根搜索算法(GC Root...

2018-02-09 15:15:00 87

转载 Redis Cluster集群功能的限制

Redis集群相对单机在功能上存在一些限制,需要我们提前了解,在使用时做好规避。限制如下: key批量操作支持有限。如mset、mget,目前只支持具有相同slot值的key执行批量操作。对弈映射为不同slot值的key由于执行mget。mset等操作可能存在多个节点上,因此不被支持。...

2018-01-17 10:53:00 1189

转载 Redis Cluster数据分布原理

Redis Cluster是Redis的分布式解决方案,在3.0版本正式推出,有效地解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构方案到达负载均衡的目的。之前,Redis分布式方案一般有两种: 客户端分区方案,有点事分区逻辑可控,确定是...

2018-01-17 10:35:00 195

转载 Redis的内存回收机制

Redis的内存回收机制主要体现在一下两个方面: 删除过期时间的键对象 删除过期键对象 :多行删除用于当客户端读取带有超市属性的键时,如果已经超过键设置的过期时间,会执行删除操作并返回空。 2.定时任务删除 :R...

2018-01-16 16:31:00 242

转载 Redis开发与运维阅读笔记(一)

Redis特性 (一)速度快 1:存取速度快 2:执行速度快 3:Redis使用了单线程架构,预防了多线程产生的竞争问题 (二)基于键值对的数据结构服务器 (三)丰富的功能 1:提供键过期功能 2:提供了发布订阅功能 3:支持Lua脚本 4:提供了简单的事务功能,...

2018-01-16 14:30:00 82

转载 Cookies 和 Session的区别

1.cookie是一种发送到客户端浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个web站点绘画期间持久的保持数据 2.session其实指的就是访问者从到达某一个特定主页到离开为止的那段时间。session其实是利用cookie技术进行处理的,当用户首次进行请求后,服务端就会创建一...

2018-01-11 11:18:00 83

转载 Java Callable Future Example

Java Callable and Future are used a lot in multithreaded programming. In last few posts, we learned a lot aboutjava threadsbut sometimes we wish ...

2018-01-10 14:53:00 92

转载 Java Thread wait, notify and notifyAll Example

The Object class in java contains three final methods that allows threads to communicate about the lock status of a resource. These methods arewai...

2018-01-10 10:53:00 110

转载 Java Thread join

public final void join(): This java thread join method puts the current thread on wait until the thread on which it’s called is dead. If the thread...

2018-01-10 10:13:00 73

转载 Thread Life Cycle in Java

New When we create a new Thread object usingnewoperator, thread state is New Thread. At this point, thread is not alive and it’s a state intern...

2018-01-09 17:53:00 128

转载 TCP连接的握手

(一)三次握手 建立一条新的TCP连接时,是指是在发送任意数据之前,TCP连接之间交换一些的IP分组,对连接的有关参数进行沟通(如下图),如果连接只用来传送少量数据,这些交换就会严重降低HTTP的性能。 TCP连接握手需要经过以下几个步骤。 (1) 请求新的TCP连接时,客户端要向服...

2018-01-09 15:23:00 206

转载 基于Redis的分布式限流系统的设计

https://www.cnblogs.com/AndyAo/p/8144049.html 转载于:https://my.oschina.net/u/2313177/blog/160406...

2018-01-08 16:40:00 151

转载 HTTP1.0 、 HTTP1.1与HTTP2.0的主要区别

HTTP1.0 VS HTTP1.1 长连接: HTTP1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理,在一个TCP连接上可以传送多个HTT...

2017-12-20 17:18:00 181

转载 Redis分布式锁实现

Redis锁主要用到了Redis中的以下几个API,这里引用官方的API文档介绍说明一下: SETNX Set key to hold string value if key does not exist. In that case, it is equal to SET. When ke...

2017-12-15 14:34:00 99

转载 Mysql索引失效之隐式转换

SkuId` varchar(32) NOT NULL COMMENT 'SkuId', `SkuId` bigint(32) NOT NULL COMMENT 'SkuId', 根据以上现象我们可以看出当数据库字段为int类型的时候,入参类型无论是字符串还是int,都...

2017-12-13 12:37:00 374

转载 认识非阻塞的同步机制CAS

锁有什么劣势 在多线程并发的场景当中,可以通过加锁来保证线程安全性,但多个线程同时请求锁,很多情况下避免不了要借助操作系统,线程挂起和恢复会存在很大的开销,并存在很长时间的中断。一些细粒度的操作,例如同步容器,操作往往只有很少代码量,如果存在锁并且线程激烈地竞争,调度的代价很大。 总结来...

2017-12-12 21:10:00 103

转载 布隆过滤器(BloomFilter)简介

布隆过滤器在Google Guava 18版本以上的jar包有现成的集成,可以用于缓解缓存穿透 因为存在0.03%的误判率,所以适用于能够容忍一定的缓存穿透的场景~~ 其原理是基于:多个哈希函数和二进制向量数据结构 如图若果数据经过两个哈希函数同时命中(二进制数组中为1的为命中,如...

2017-12-07 21:13:00 485

转载 Mybatis 源码解析

http://blog.csdn.net/luanlouis/article/details/40422941 转载于:https://my.oschina.net/u/2313177/b...

2017-11-03 16:23:00 47

转载 如何保证接口幂等性

1:接口处理前置处理 ->防止重复提交:token 2:接口业务逻辑前处理 ->参数中新增序列ID作为数据库唯一索引,处理前查询是否已经处理过 ->分布式锁防止分布式系统中重复请求的问题 3:接口后置处理 ->乐观锁:数据库记录中增加version字段;只对接口第...

2017-10-30 14:08:00 159

转载 Java 8 中的 Streams API 详解

Streams 的背景,以及 Java 8 中的使用详解 Java 8 是迄今为止在语义上改动上最大的一个平台。除了最显著的 Lambda 表达式之外,还有很多初次见面的特性,例如本文主题的 Streams API。这里介绍了它出现的背景和具体用法。 为什么需要 Stream Stre...

2017-04-27 22:07:00 59

转载 Retrofit2.0使用总结

概述 随着Google对HttpClient 摒弃,和Volley的逐渐没落,OkHttp开始异军突起,而Retrofit则对okHttp进行了强制依赖。 Retrofit是由Square公司出品的针对于Android和Java的类型安全的Http客户端, 如果看源码会发现其实质上就是...

2017-03-31 20:41:00 99

转载 springboot + retrofit

retrofit:一套RESTful架构的Android(Java)客户端实现。 好处: 基于注解 提供JSON to POJO,POJO to JSON,网络请求(POST,GET,PUT,DELETE等)封装 可以看做是对HttpClient的再次封装 1、为了做测...

2017-03-31 20:24:00 236

转载 Spring Boot启动流程详解

http://zhaox.github.io/java/2016/03/22/spring-boot-start-flow 转载于:https://my.oschina.net/u/231...

2017-03-29 23:51:00 54

转载 多线程思维导图

转载于:https://my.oschina.net/u/2313177/blog/857348

2017-03-13 10:05:00 369

转载 IntelliJ IDEA 注册码

http://idea.lanyus.com/ 转载于:https://my.oschina.net/u/2313177/blog/847059

2017-02-27 14:42:00 60

转载 java jdbc深入理解(connection与threadlocal与数据库连接池和事务实)

1.jdbc连接数据库,就这样子 Class.forName("com.mysql.jdbc.Driver"); java.sql.Connection conn = DriverManager.getConnection(jdbcUrl); 2.通过传入jdbc url用Driv...

2017-02-22 21:07:00 84

转载 Spring源码学习之:@async 方法上添加该注解实现异步调用的原理

Spring源码学习之:@async 方法上添加该注解实现异步调用的原理 在我们使用spring框架的过程中,在很多时候我们会使用@async注解来异步执行某一些方法,提高系统的执行效率。今天我们来探讨下 spring 是如何完成这个功能的。 spring 在扫描bean的时...

2017-02-16 19:21:00 153

转载 高效缓存系统示例

package com.fenxiang.jiyajie; import java.util.HashMap;import java.util.Map;import java.util.Random;import java.util.concurrent.*;import java.util...

2016-04-18 23:02:00 86

空空如也

空空如也

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

TA关注的人

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