- 博客(51)
- 资源 (3)
- 收藏
- 关注
原创 hashmap
hashmap 为什么内置数组长度一定是2的指数次幂?计算hashcode后转为数组index时,用的位与运算(为了提高速度)hashcode & (arr.length-1)0000000000011111111111111111length时2的n次方,才能保证&计算后,一定不越界。...
2020-02-27 20:39:17
311
原创 springboot ehcache + redis 二级缓存
springboot ehcache + redis 二级缓存自建 RedisEhcacheCacheManager类实现 CacheManager ,自定义里面的逻辑本地ehcache,分布式redis缓存
2020-02-08 17:35:01
324
原创 jpa乐观锁 @org.springframework.data.annotation.Version @javax.persistence.Version
jpa实现乐观锁应该用@org.springframework.data.annotation.Version @javax.persistence.Version这两个中的哪个呢?有人说@org.springframework.data.annotation.Version不起作用有人说jpa乐观锁只支持jpa自带的方法,自动生成的sql...
2019-10-10 22:53:12
927
原创 idea一个窗口打开多个项目,或者说打开多个工程
方法一: 打开一个工程,通过project structure 添加module,方法二:把多个工程放到一个父文件夹中,用maven插件的添加功能
2019-09-22 00:06:31
2447
原创 springboot 项目 shiro注解不生效
@Bean public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() { DefaultAdvisorAutoProxyCreator proxyCreator = new DefaultAdvisorAutoProxyCreator(); proxyCreato...
2019-08-13 16:28:14
1772
原创 ArrayList扩容
看一下核心的grow方法源码 private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementData.length; int newCapacity = oldCapacity + (oldCapacity >&g...
2019-08-05 16:14:56
228
原创 分库分表,主从备份,集群
分库分表,主从备份,集群格局依次增大分表是同一个库里面分多个表,分库是同一个mysql服务里多个数据库主从备份是不同MySQL主机之间集群是多套主从备份...
2019-08-04 23:21:13
306
转载 【Spring源码分析】非懒加载的单例Bean初始化过程
https://www.cnblogs.com/xrq730/p/6361578.htmlhttps://www.cnblogs.com/xrq730/p/6363055.html
2019-07-30 17:07:36
203
原创 BeanFactory和ApplicationContext
Spring默认的对象都是单例的,单例对象都会存在singletonObjects这个ConcurrentHashMap中
2019-07-30 14:06:37
123
原创 Spring Aware
private void invokeAwareMethods(final String beanName, final Object bean) { if (bean instanceof Aware) { if (bean instanceof BeanNameAware) { ((BeanNameAware) bean).setBeanName(beanName)...
2019-07-30 13:57:08
143
原创 装饰者模式decorator包装器模式wrapper
装饰者模式类可以像俄罗斯套娃一样,套着使用,相当于可以随意组合使用每套一层,可以新增功能方法IO流里面有经典的装饰器模式java前端框架UI组件...
2019-07-25 23:16:02
450
原创 java juc包并发容器
ConcurrentHashMap采用分段锁提升效率,后采用CAS方式实现线程安全 ConcurrentLinkedQueue非阻塞链表队列,采用CAS方式实现线程安全 阻塞队列,通过持有锁对象实现通知/等待的队列 ConcurrentSkipListMap和ConcurrentSkipListSet 跳表skiplist,每次存入要比较,多键链表 CopyOnWriteArrayLi...
2019-07-23 11:10:33
209
翻译 LinkedList类实现了Deque和List接口
Java的集合、接口和类层次结构做得不好吗?回答 (2) 关注 (0) 查看 (59)我开始知道在Java中,LinkedList类实现了两者Deque和List接口。这对我来说有点混乱。在计算机科学教学大纲中,我从未被教导过队列可以是一个列表,或者更确切地说,队列可以像列表一样。也就是说,列表可以做的东西,但队列不能。但是列表可以像队列一样运行。例如,Listinterfac...
2019-07-22 23:06:38
1581
原创 当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。并且,当我们使用装饰器模 式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。
当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。并且,当我们使用装饰器模 式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。...
2019-07-22 13:53:00
184
原创 java线程池
• 线程池的好处提高响应速度(减少了创建新线程的时间)降低资源消耗(重复利用线程池中线程,不需要每次都创建)提高线程的可管理性:避免线程无限制创建、从而销耗系统资源,降低系统稳定性,甚至内 存溢出或者CPU耗尽• 线程池的应用场合需要大量线程,并且完成任务的时间端对性能要求苛刻接受突发性的大量请• Executor:线程池顶级接口,只有一个方法• Execut...
2019-07-20 22:48:57
141
原创 解释型语言和脚本语言的区别
解释型语言和脚本语言的区别- 脚本语言是解释型的语言,也就是解释型语言包括脚本语言。- 解释语言是说解释执行的语言,但执行的代码并不一定是文本格式的。- 脚本语言的程序是文本文件,并且是解释执行的。...
2019-07-18 23:46:02
2487
2
原创 redis数据类型
string常用命令:set get del setnx setex mset mget incr decr append hash redis最常用的数据类型常用命令:hset hget hmset hmget list 即deque,双端队列常用命令:lpush rpush lpop rpop lrange set string类型的无序集合,通过hashtable实现常用命令...
2019-07-16 23:06:11
110
原创 compareAndSet与compareAndSwap check and set
compareAndSet是APIcompareAndSwap是底层(sun包或者native c++)实现???
2019-07-08 17:34:39
1178
原创 ThreadLocal
public T get() { Thread t = Thread.currentThread(); ThreadLocalMap map = getMap(t); if (map != null) { ThreadLocalMap.Entry e = map.getEntry(this); ...
2019-07-02 23:08:05
123
原创 线程状态
Thread内部enum类 public enum State { /** * Thread state for a thread which has not yet started. */ NEW, /** * Thread state for a runnable thre...
2019-06-28 15:56:22
117
转载 各类JWT库(java)的使用与评价
在https://jwt.io/网站中收录有各类语言的JWT库实现(有关JWT详细介绍请访问https://jwt.io/introduction/),其中JAVA语言到目前(2018-06)有6个实现库,如下图:按顺序依次是Auth0实现 的 java-jwtBrian Campbell实现的 jose4jconnect2id实现的 nimbus-jose-jwt...
2019-06-11 14:58:03
4169
2
原创 shiro session HttpSession servlet session
Shiro 提供了三个默认实现:DefaultSessionManager:DefaultSecurityManager 使用的默认实现,用于 JavaSE 环境; ServletContainerSessionManager:DefaultWebSecurityManager 使用的默认实现,用于 Web环境,其直接使用 Servlet 容器的会话; DefaultWebSessionM...
2019-05-29 15:56:12
951
原创 微信登录总结公众号登录小程序登录企业微信登录
微信公众号服务号登录第一步:请求CODE 第二步:通过code获取access_token 第三步:通过access_token调用接口微信小程序登录1调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。2调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。企业微信登录UnionID 机制...
2019-05-21 00:43:02
1574
原创 加密机制--
下面给大家介绍一下,我所理解的加密方式。我首先分为了单向加密和双向加密,然后双向加密又分为了对称加密和非堆成加密。然后再介绍其中的几个典型例子。1 单向加密在理论上,从明文加密到密文后,不可反向解密的。可以从迭代和加盐的方式尽可能保证加密数据不可反向解密。传递敏感数据的时候使用的。如:密码。使用单向加密的时候,传递的数据只有密文,没有明文,也没有...
2019-05-21 00:33:58
590
原创 JWT:JSON WEB TOKEN
HMAC是密钥相关的哈希运算消息认证码,HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。RSA是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用。RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。Elliptic Curve椭圆曲线密...
2019-05-17 16:20:38
198
原创 未知的枚举常量:javax.annotation.meta.When.MAYBE || 找不到javax.annotation.Nullable || 找不到javax.annotation.meta
Warning:java: 未知的枚举常量 javax.annotation.meta.When.MAYBE 原因: 找不到javax.annotation.meta.When的类文件编译项目时报错,找不到类,我自己去jar包里找也找不到。如下图,找到swagger依赖的com.google.guava包;这个包用的javax.annotation包不是下图中jdk里面的...
2019-02-13 17:11:02
32336
4
原创 spring cache CacheException: Another unnamed CacheManager already exists in the same VM. Please
在springboot1.x系列中,spring-boot-starter-data-redis包客户端使用的是jedis,但是到了springboot2.x其中使用的是Lettuce。用redis做缓存时,有以下两种方式:①与spring-cache集成,查询时缓存,增删改时删除缓存②写个redis工具类,自己在需要的地方写插入和查询的方法可以同时使用ehcache做系统...
2019-01-31 19:11:19
464
原创 nginx服务,杀不死nginx进程
最近用ngnix部署前端项目,在nginx官网下载的压缩包,解压后就可使用了。我先试了直接启动nginx.exe,发现闪退。然后用命令行来启动nginx,我先修改了nginx.conf文件,来支持同时部署多个前端项目,成功。但是当我试图关闭nginx时,却发现我根本关不了,项目一直可以访问。查找对应端口,杀进程,但是发现一直杀一直有。后来打开任务管理器,发现有将近20个ngi...
2018-12-26 14:32:40
19591
原创 Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException:
2018-08-17 17:00:03.883 WARN 15248 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframew...
2018-12-10 09:48:53
2667
原创 The Ehcache second-level cache provider for Hibernate is deprecated
WARN 8268 — [restartedMain] org.hibernate.orm.deprecation : HHH020100: The Ehcache second-level cache provider for Hibernate is deprecated. See https://hibernate.atlassian.net/browse/HHH-1...
2018-12-04 09:18:26
1200
原创 quartz介绍以及quartz在spring中的应用
quartz自带的接口Scheduler,Trigger,Job,JobDetail在spring中,一般通过FactoryBean的方式生成特定的quartz对象SchedulerFactoryBean,CronTriggerFactoryBean,SimpleTriggerFactoryBean,QuartzJobBean,MethodInvokingJobDeta...
2018-11-10 11:09:28
188
跟我学Shiro教程 pdf
2018-08-20
guns 技术文档 收费版
2018-08-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人