自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

你今天真好看

不积跬步无以至千里

  • 博客(9)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Shiro:自定义Realm实现权限管理

文章目录Shiro权限管理1、基于JavaSe的Shiro的基本使用2、SpringBoot整合shiro1. 导入依赖2. 配置shiro过滤器3. 进行认证测试3、JdbcRealm实现权限管理1. JdbcRealm表结构2. 整合JdbcRealm4、实现前端的权限菜单展示1. 在Thymeleaf中使用标签2. 常用标签2.1 guest2.2 user2.3 principal2.4 hasRole2.5 hasPermission3. 认证流程回顾5、自定义Realm实现权限管理1. 表结构的

2020-06-27 11:16:01 390

原创 线程池

文章目录1、线程池的好处?2、自定义线程池1、定义拒绝策略接口2、定义阻塞队列2、定义线程池4、测试类3、线程池的创建与七个重要参数1、corePoolSize 核心线程数目 (最多保留的线程数)2、maximumPoolSize 最大线程数目3、keepAliveTime 生存时间 - 针对救急线程4、TimeUnit 线程活动保持时间的单位5、workQueue 阻塞队列6、ThreadFactory 线程工厂7、拒绝策略4、线程池处理任务的流程(工作原理)5、3种线程池,优劣?1、newFixedTh

2020-06-25 15:34:13 113

原创 Redis基础应用Demo

文章目录一、Redis常用命令操作1、String类型2、Hash类型3、列表类型list4、无序集合set5、有序集合sorted sort二、分布式共享session三、异地登录提醒下线四、注册短信验证码一、Redis常用命令操作1、String类型赋值命令:set key value取值命令:get key数字递增:incr key数字递减:incr key增加指定的整数:incrby key increment减少指定的整数:decrby key decrementE:\Redis

2020-06-25 15:31:21 105

原创 CAS与ABA问题的解决

1、CAS是什么?interface Account { // 获取余额 Integer getBalance(); // 取款 void withdraw(Integer amount); /** * 方法内会启动 1000 个线程,每个线程做 -10 元 的操作 * 如果初始余额为 10000 那么正确的结果应当是 0 */ static void demo(Account account) { List

2020-06-23 14:56:06 168

原创 volatile有序性和可见性底层原理

文章目录1、缓存一致性2、JMM3、volatile可见性原理1、lock前缀指令角度2、内存屏障角度4、volatile有序性原理1、指令重排序2、内存屏障角度5、happens-before规则6、as-if-serial语义1、数据依赖性2、as-if-serial语义7、指令重排序面试题1、缓存一致性1、首先,编译之后Java代码会被编译成字节码.class文件,在运行时会被加载到JVM中,JVM会将.class转换为具体的CPU执行指令,CPU加载这些指令逐条执行。2、由于计算机的主存和C

2020-06-22 11:32:45 421

原创 ReentrantReadWriteLock底层源码

文章目录1、ReentranReadWriteLock示例2、ReentrantReadWriteLock底层原理1、t1 w.lock,t2 r.lock1、写锁上锁流程1、acquire(arg)方法2、tryAcquire(arg)方法3、writerShouldBlock()方法2、读锁上锁流程1、acquireShared(arg)方法2、tryAcquireShared(arg)方法3、readerShouldBlock()方法4、doAcquireShared(arg)方法2、t3 r.lo

2020-06-19 21:25:59 155

原创 AQS与ReentrantLock底层源码分析

文章目录1、AQS底层原理2、手写AQS与ReentrantLock3、ReentrantLock原理概述4、ReentrantLock源码分析1、非公平锁底层1、acquire(1)2、tryAcquire(1)3、addWaiter(Node mode)4、enq(final Node node)5、acquireQueued()6、shouldParkAfterFailedAcquire()7、parkAndCheckInterrupt()8、release(int arg)9、tryRelease(

2020-06-17 22:00:28 192

原创 Synchronized关键字底层原理

文章目录1、为什么会出现线程安全问题?2、synchronized怎么实现线程安全?3、synchronized使用场景?4、Synchronized 底层?同步代码块和同步方法1、synchronized关键字的实现2、jvm指令分析synchronized同步代码块原理3、jvm指令分析synchronized同步方法原理5、Synchronized 锁优化,无锁、偏向锁 、轻量级锁、重量级锁 ?1、轻量级锁synchronized2、锁膨胀:轻量级-重量级3、自旋优化4、偏向锁5、锁消除6、锁粗化6、

2020-06-07 16:31:44 733 1

原创 LeetCode刷题:30题-60题

32、最长有效括号(栈)**题目:**给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"代码:/**time:O(n)space:O(n)*/public class Solution { public int longestValidParentheses(String

2020-06-07 09:57:15 141

空空如也

茶花女-的留言板

发表于 2020-01-02 最后回复 2020-03-20

空空如也

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

TA关注的人 TA的粉丝

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