- 博客(14)
- 资源 (2)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 SpringAOP源码解析(AnnotationAwareAspectJAutoProxyCreator 注册)
下面的源码分析基于Spring版本5.0.6.RELEASE目录分析创建和注册AnnotationAwareAspectJAutoProxyCreator的流程1、瞧瞧这个注解都有啥2、接下来重点研究AnnotationAwareAspectJAutoProxyCreator的创建过程3、我们来展开分析一下做为beanPostProcessor后置处理器,究竟做了哪些工...
2019-06-28 15:19:50
388
原创 ConcurrentHashMap_jdk1.8
与1.7相比的重大变化1、取消了segment数组,直接用table保存数据,锁的粒度更小,减少并发冲突的概率。2、存储数据时采用了链表+红黑树的形式,纯链表的形式时间复杂度为O(n),红黑树则为O(logn),性能提升很大。什么时候链表转红黑树?当key值相等的元素形成的链表中元素个数超过8个的时候。主要数据结构和关键变量Node类存放实际的key和value值。sizeCtl:负数...
2019-04-24 16:04:17
115
原创 ConcurrentHashMap_jdk1.7
public ConcurrentHashMap() { // 默认Table容量为16,默认扩容因子为0.75,默认并发级别为16(即分段锁个数) this(DEFAULT_INITIAL_CAPACITY, DEFAULT_LOAD_FACTOR, DEFAULT_CONCURRENCY_LEVEL); } public ConcurrentHas...
2019-04-24 16:00:31
128
原创 AbstractQueuedSynchronizer部分源码解析
/** * 加锁 */ public final void acquire(int arg) { // 首先尝试获取,如果获取成功直接退出;如果获取失败,即竞争锁失败,则创建Node,并添加到同步队列尾部。 if (!tryAcquire(arg) && acquireQueued(add...
2019-04-22 15:46:10
77
原创 Centos7使用Docker创建Oracle11g
实例名(SID ) orcl 管理员帐号 system/admin 字符集 utf-8 端口 1521 1、首先拉取镜像文件(文件较大,耐心等待) 命令:docker pull filemon/oracle_11g下载完成后输入命令:docker run -d -p 11521:1521 -p 10022:22 --name=o...
2019-01-04 09:47:22
1136
原创 项目SQL查询优化(一)
今天编写mapper,无意间看见了一个包含多个子查询的语句,于是引发了思考,觉得这个语句可以被优化。SELECT t.id,t. CODE,t.`name`,t.`value`,t.company_id,c.`name` companyName,t.type,p.`name` typeName,t.create_by,(SELECT u. NAME FROM sys_user u WHER...
2018-10-30 11:24:46
123
原创 mysql 连接报错2059
登陆执行命令use mysql;select user,plugin from user where user='root';可以看到当前用户的加密方式为caching_sha2_password 执行命令alter user 'root'@'%' identified with mysql_native_password by '111qqq';将用户...
2018-10-10 10:50:17
1430
原创 Oracle启动过程中遇到的几个问题(CentOS7)
Linux:CentOS7Oracle:11g1、当出现以下信息时 'abrt-cli status' timed out执行命令 abrt-auto-reporting enabled 可解决2、监听启动失败,提示以下异常信息时通过日志错误信息可知,应该跟权限有关,最后发现了一个隐藏的信息,/var/tmp/.oracle这个目录比较特殊,如果oracle没...
2018-10-09 10:29:13
7326
1
原创 Docker创建Sonar容器,数据库使用Mysql5.7
SonarQube 简介Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 可以通过插件形式,支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测。Docker 版本:version 1.12.3Sonar 版本:7.1Mysql 版本:5.7.20...
2018-10-08 17:36:35
2101
转载 字transient和volatile小结
transient和volatile两个关键字一个用于对象序列化,一个用于线程同步,都是Java中比较高阶的话题,简单总结一下。transienttransient是类型修饰符,只能用来修饰字段。在对象序列化的过程中,标记为transient的变量不会被序列化。示例:class Test {transient int a; // 不会被持久化in
2017-12-11 13:56:29
136
原创 如何排除闭环中重复的环路
项目需求:将一个数据地图中具有闭环的路径全部找出来,并显示在前台页面。闭环数据准备:A→B→C→D→AB→C→D→A→BC→D→A→B→CD→A→B→C→DW→H→Y→Z有效闭环数据:A→B→C→D→AW→H→Y→Z另外三条数据其实和第一条是相似的。程序如何发现并找出有效闭环数据呢?解决思路:1、构建一个集合loops,遍历所有闭环,判断(当前路径是
2017-08-25 12:01:09
838
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人