3 希尤

尚未进行身份认证

某北方不知名985袋鼠一枚

等级
TA的排名 2w+

java乐观锁和悲观锁最底层的实现

1. CAS实现的乐观锁CAS(Compare And Swap 比较并且替换)是乐观锁的一种实现方式,是一种轻量级锁,JUC 中很多工具类的实现就是基于 CAS 的,也可以理解为自旋锁JUC是指import java.util.concurrent下面的包,比如:import java.util.concurrent.atomic.AtomicInteger;最终实现是汇编指令:lock...

2020-03-07 22:39:08

ThreadLocal实现单例模式(6)

1. ThreadLocal单例模式1. 1 ThreadLocal单例模式实现/** * @author xiyou * ThreadLocal 实现单例模式 */public class ThreadLocalSingleton { private static final ThreadLocal<ThreadLocalSingleton> threadLoca...

2020-03-05 11:34:49

枚举实现单例模式(4)

1. 枚举创建单例模式import java.lang.reflect.Constructor;/** * @author xiyou * 枚举实现单例模式 * 至于为什么枚举能实现单例模式,有兴趣的伙伴可以深度学习一下 * SpirngIOC是单例 是枚举的升级,是懒汉模式 */public enum EnumSingleton { /** * *...

2020-03-05 11:33:52

SpringIOC如何实现单例模式(5)

import java.util.Map;import java.util.concurrent.ConcurrentHashMap;/** * @author xiyou * springIOC实现单例模式 * 懒汉式实现,容器式单例 */public class ContainerSingleton { private ContainerSingleton() { ...

2020-03-05 11:32:12

Java珠算排序算法

珠算排序算法详情请看zhuSort2相关的代码 /** * @author xiyou * @version 1.2 * @date 2019/12/19 9:34 */public class ThreadSort { /** * 睡眠排序 * * @param array */ public static void s...

2019-12-20 11:19:11

MySQL8.0条件下推、索引下推、

1. 索引下推官网介绍其实就是针对组合索引,比如说(class,name)上建立一个组合索引,但是我们name不满足索引条件,如like,这时MySQL也会把name值当作一个条件看看满不满足,这样做的目的就是减少回表,假设有10个数据,只查class的话过滤了40%了,但是还有6万个满足条件的,不走索引下推,就会回表查询6万次,严重浪费了性能1.1 模糊查询走索引情况?--OKsele...

2019-12-12 14:59:16

redis相关的详细介绍,包括三主三从集群的搭建

redis:1. 数据结构1.1 String1.mest批量操作实现json的功能MEST key value [key value …]2.点赞文章incr article:account:{文章ID}//对文章id是1000的每次加1incr article:readcount:10001.2 hashhset user 1:name 1:classs2.实现购物...

2019-10-10 16:42:52

Java架构师学习路线图(拷贝截图版)

文章目录1. 总路线2.框架源码专题2.1 SpringIOC源码剖析2.2 SpringAop源码剖析2.3 SpringMVC源码分析2.5 Spring注解方式开发2.6 Spring 5新特性2.7.ORM框架MyBatis2.8 源码中优秀的设计模式1. 总路线2.框架源码专题2.1 SpringIOC源码剖析2.2 SpringAop源码剖析2.3 SpringMV...

2019-10-11 17:40:16

链表复制操作图

单链表public class ListNode { int val; ListNode next; ListNode(int x) { val = x; } public String sout(ListNode listNode){ ListNode newNode =listNode; Strin...

2019-10-09 16:18:21

一些文章精选

文章目录1.java相关1.1 Java基础1.2 Java JVM相关1.3 Java多线程、并发2. mysql2.1 mysql crud2.2 mysql 索引2.3 MySQL事务2.4 主从2.5 分库分表3. spring boot3.1 springboot一些小功能3.2 spring boot参数配置3.3 spring boot调优1.java相关1.1 Java基础1...

2019-09-27 09:42:49

JPA使用Specification动态where条件查询

1. 想要的效果SQLselect * from XXXwhere column_1 ='字段1的值' and column_2 ='字段2的值' and (column_3= '字段3的值' or column_3 ='字段3的第二个值') and LOCATE('字段4的值', column_4)>02.Specification 查询 ...

2019-09-18 10:09:19

springboot2.x+mybatisPlus3.x+dubbo几行代码实现读写分离《代码层面》

文章目录1. 环境搭建具备条件1.1 dubbo+springboot2.x+mybatisPlus3.x环境1.2 MySql读写分离的数据库1.3 zookeper,dubbo2. 如何测试读写分离1. 环境搭建具备条件1.1 dubbo+springboot2.x+mybatisPlus3.x环境但是首先你要有一些MybatisPlus3.x的基本概念,有兴趣的童鞋可以去官网参考一下,...

2019-08-24 17:04:27

dubbo+springboot2.x+shiro+jwt+redis实现分布式系统

1. 本系统构建环境技术选择列表依赖信息主要作用官网RPC框架dubbocom.alibaba.bootdubbo-spring-boot-starter0.2.0RPC跨服务传输dubbospring框架springboot2.xspring-boot-starter-parent2.1.5.RELEASE权限框架ShiroJWTshi...

2019-08-24 16:42:53

springboot2.x整合shiro+JWT实现token登录

文章目录1.参考项目和我的项目地址1.1它的不足之处2. 进行系统化改造2.1 针对《shiro不是盐值加密登录》改造2.2 对《login接口需要权限才能访问》进行改造1.参考项目和我的项目地址地址:github我的项目地址:github注意:我的项目是基于springboot2.xshiro1.4.1jwtdubbozookepermybatisPlus3.xmysql8...

2019-08-21 11:33:44

srpingboot2.x +dubbo+shiro带项目地址

1. 搭建排雷1启动报错: java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy最后发现是api和privider的包名称不一致导致的原先的包名:api: cn.net.health.user.apiprovider: cn.net.health.user.providerconsumer: cn.net.heal...

2019-08-15 17:32:42

MyBatisPLus3.x tinyint类型转换中代码生成器自定义数据库表字段类型转换

主要修改,链接添加 tinyInt1isBit=false参考官网:官网自定义类型转换器 // 数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl("jdbc:mysql://localhost:3307/dubbo_shiro?tinyInt1isBit=false&characterEnco...

2019-08-15 15:56:39

windows mysql5.6以上版本 only_full_group_by

修改配置文件D:\Soft\mysql3307\my.ini如果没有该文件则新建my.ini在[mysqld] 下添加sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'然后重启mysql完整的My...

2019-08-15 15:20:54

基于MySQL8.0美团leaf测试分布式ID生成系统

文章目录1.官网2. 大佬剖析源码地址3. 我为什么还要写一个呢?3.1 MySQL8.0支持3.2其它的参考大佬的博客,里面讲的很详细1.官网美团官方介绍地址:地址美团github地址 :地址2. 大佬剖析源码地址号段模式:地址snowflake模式: 地址3. 我为什么还要写一个呢?官网给你github地址里面有很多坑,不建议看大佬的github地址和官网的一样存在一个...

2019-08-13 19:19:40

分布式锁的几种方式探究

1. 基于MySQL双重校验写法还是会有多线程的问题2. 借助Redis的原子操作实现分布式锁最大的问题是对单节点操作事实上这类琐最大的缺点就是它加锁时只作用在一个Redis节点上,即使Redis通过sentinel保证高可用,如果这个master节点由于某些原因发生了主从切换,那么就会出现锁丢失的情况:在Redis的master节点上拿到了锁;但是这个加锁的key还没有同步到sla...

2019-08-13 15:20:52

springboot2.x +redis+token实现接口幂等性的理解

文章目录1. 参考博客2. 但是大佬的博客有以下几个问题2.1 主要实现方面都是过时的代码2.1.1 过时代码:WebMvcConfigurerAdapter2.1.2 推荐写法2.2 JedisUtil不推荐2.3 jemeter图很模糊,对不懂jemeter的人误解很深2.4 其实token机制不能完全做到幂等性1. 参考博客地址:传送门2. 但是大佬的博客有以下几个问题2.1 主要实...

2019-08-12 17:31:36

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。