自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

韩也的博客

有兴趣的伙伴可以加我QQ:1025276839 一起学习一起进步

原创 java多线程---线程池ThreadPoolExecutor分析

线程池 java中的线程池有很多种,首先来看下其中最基础的一种线程池ThreadPoolExecutor。线程池的作用为,减少创建线程和销毁线程的开销,对线程进行复用。所以看源码之前,提出以下问题: 在线程池中,空闲期,线程怎么维持? 在使用时,线程池怎么创建线程? 怎么控制多个线程的并发 保存...

2019-03-04 11:17:35

阅读数 136

评论数 0

原创 ConcurrentHashMap 原理分析

hashMap 在 1.7 和 1.8 中的区别 1、 引入了红黑树 2、解决了并发环境下,死链的情况(在1.7的rehash中,会进行链表的反转插入,会引发死链问题,java8 中不会,8中是采用修改头部节点的位置来实现) 3、1.7 扩容发送在,插入数据之前,会先检查,扩容后插入。 1.8是...

2019-07-16 16:35:18

阅读数 13

评论数 0

原创 dubbo--源码spi扩展

SPI java中的spi META-INF/services/接口全路径 写入实现类全路径 dubbo中的spi规范 /META-INF/dubbo ;/META-INF/internal;/META-INF/services 文件名(全路径) 内容 key=value Extensio...

2019-03-20 17:48:44

阅读数 83

评论数 0

原创 zk实现一个分布式锁

最近在工作做中,使用到了redis的分布式锁,主要采用了其中一个原子操作getAndSet,并且利用了redis单线程的特性操作。这里来写另一种分布式的锁,zk实现的分布式锁。 zk的特性 1、数据结构 zk的数据结构,存储的方式为key-value,存储的结构为文件夹的结构。 所以由于是这样的...

2019-03-14 14:41:41

阅读数 401

评论数 0

原创 java多线程---TheadLocal分析

ThreadLocal 分析 ThreadLocal 作用 ThreadLocal 可以看做是一个线程的副本,每个线程中的ThreadLocal都是不一样的。访问ThreadLocal就是在访问只属于线程自己的变量。那么,这个是怎么做到,每个线程都有自己的ThreadLocal?看下面2个方法 s...

2019-03-05 19:37:34

阅读数 138

评论数 0

原创 java多线程---synchronizedsynchronized分析

synchronized分析 使用方法 1、修饰方法 public synchronized void test(){ } 2、修饰对象(锁定的为什么一定高要是对象?) public void test2(){ //Todo synchronized (this){ ...

2019-03-03 15:46:34

阅读数 80

评论数 0

原创 java多线程---ReentrantLock源码分析

ReentrantLock源码分析 基础知识复习 synchronized和lock的区别 synchronized是非公平锁,无法保证线程按照申请锁的顺序获得锁,而Lock锁提供了可选参数,可以配置成公平锁,也可以配置成非公平锁。通常来说,非公平锁的效率比公平锁要高。 一个线程使用syn获取锁...

2019-02-21 17:41:32

阅读数 69

评论数 1

原创 java多线程---CopyOnWriteArrayList解析

CopyOnWriteArrayList List是java三大集合中的一个,最最常见的就是ArrayList和LinkedList。简单来讲,ArrayList是数组的数据格式,当它不发生扩容的情况下,add的速度是比较快的。而LinkedList是一个双向链表的数据格式,不存在对容器的限定等等...

2019-02-12 12:05:53

阅读数 42

评论数 0

原创 java多线程---原子类分析

多线程原子类解析 什么是原子类 原子性操作:指一系列的操作为一个单位,不可分割,要么全部成功,要不全部不成功。 提到原子类可能会联想到volatile关键字,但是这2者之间是完全不同的。volatile保持了内存的可见性,但是不适用于以下两种情况: 写入变量值依赖当前值时。比如 ++a; 读...

2019-02-06 20:51:31

阅读数 59

评论数 0

原创 Mybatis中TypeHandler的使用

背景 在实际项目中,有一个物品表,其中有一个规格的字段,存入了JSON数组的字符串,但是后续在使用实体类的过程中,发现些不方便,到处要转 String 和 String[]很不方便。因此希望可以直接映射。 解决 发现网上有一个TypeHandler可以做到枚举和数据字段的相互对应,那么用来做数组和...

2018-12-26 22:33:53

阅读数 1018

评论数 0

原创 基于Spring的Schema扩展

基于Spring的Schema扩展 阅读Spring源码中,发现Spring提供了可扩展Schema的支持,让我想到了其他的框架中的自定义标签是否也是使用了这个。比如,dubbo中的一些可扩展Schema的支持。在翻阅源码后,发现dubbo也是使用了Spring提供的Schema的支持。根据Spr...

2018-09-18 23:31:45

阅读数 130

评论数 1

原创 Spring源码(二)--xml配置文件

Spring的配置文件 在分析源码中,首先需要了解它的使用,再读源码时就可以了解到,功能对应的源码是怎么运行的,怎么编写的。 首先来看DefaultBeanDefinitionDocumentReader中的parseDefaultElement方法用来对配置文件中的4大默认标签做解析处理,该...

2018-08-16 22:31:38

阅读数 51

评论数 0

原创 Spring源码分析(一)

在工作之余,开始了啃Spring源码的艰苦之旅。 Spring 加载资源 首先,我认为Spring框架在启动时,第一步需要加载对应的配置文件.xml 文件。联系之前的java知识,java中的I/O操作可以读取文件。并且在日常的开发工作中,资源文件的加载也是经常用到的。Spring中提供了...

2018-08-14 23:25:19

阅读数 95

评论数 1

原创 java-初识多线程(1)

Thread And Runnable Thread和Runnable是在java中比较简单的多线程实现方式,也是早期的多线程相关的API。例如: public static void main(String[] args) { Thread thread = new Th...

2018-08-05 15:50:02

阅读数 108

评论数 2

原创 Spring源码构建缺少jar

Spring源码构建时缺少jar 学习spring源码的第一步就是需要构建Spring的源码。Github的地址如下 https://github.com/spring-projects/spring-framework 在下载完成后build,并把源码导入idea,发现有报错。缺少这2个o...

2018-07-30 00:08:01

阅读数 554

评论数 0

原创 聊聊Mysql索引那些事

什么是索引? 索引就是能够快速查找的数据结构 索引是一个文件 索引的数据结构类型 Hash索引 二叉树 红黑树 等等 索引的必要 从计算机系统的方面来分析索引存在的必要,在ssd出来之前都是机械硬盘,用进行一次io就需要指针在硬盘上面旋转找到合适的地址,然后读取。如下图:...

2018-06-19 00:58:24

阅读数 254

评论数 0

原创 这就是HashMap

这就是HashMap java中有3大集合,Map,Set,List 是我们开发必须要掌握的点。你可以花3-5分钟的时间看完这篇文章,我会从源码的角度分析Map中最常用的HashMap(java1.8)。无论您是开发了很多年经验的前辈,还是和我一样刚出来工作的小白,这篇都是不可不看的文章。 ...

2018-04-29 00:52:37

阅读数 149

评论数 1

原创 springboot+druid sql监控没有显示sql语句

springboot + druid 整合的过程中发现,在 druid/sql.html 中没有显示sql,开始以为是配置的问题,后来发现是包的引用错误了。。。。 网上很多的教程都是如下的包:(连接池可以起到作用,但是不会在监控中显示sql) <dependency&...

2018-02-13 15:25:49

阅读数 6859

评论数 6

原创 spring security 中异常 org.springframework.expression.spel.SpelEvaluationException

异常:org.springframework.expression.spel.SpelEvaluationException: EL1057E: No bean resolver registered in the context to resolve access to bean ‘myrbac...

2018-02-11 11:06:23

阅读数 3018

评论数 0

原创 springcloud注册中心配置集群

部署springcloud高可用注册中心 使用eureka实现分布式服务治理,在搭建eureka的注册中心时,一般有如下配置 eureka.client.registerWithEureka =false //本身不注册为服务 eureka.client.fetchRegistry = fa...

2018-02-07 18:01:53

阅读数 384

评论数 0

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