6 形而下

尚未进行身份认证

一个走心的博主

等级
TA的排名 16w+

spring--aop ProxyFactory图

AOP思维导图ProxyFactoryUML如果看不懂UML类图,没关系ProxyConfig:代理相关的全局配置,常见的有proxyTargetClass,exposeProxy。AdvisedSupport:在SpringAOP中,Advisor(切面)就是将Advice(增强)和Pointcut(切入点)连接起来的东西。此类主要支持切面相关的操作。ProxyCreat...

2019-02-24 18:32:33

【一张图系列】spring--ioc getBean时序图

一张图解释IOCEnding

2019-02-16 16:53:51

【一张图系列】RefreshScope注解

title:RefreshScope注解tags:configserver,refrshscopegrammar_cjkRuby:trueRefreshScope对象的创建过程

2019-01-31 18:49:24

shell scripts in action -- 提取nginx数据生成sql脚本

背景公司开发了一个基于openresty的网关系统,可以可视化配置nginx的一些参数,例如:ip,port,weight,location,server,server_name;在nginx—->openresty网关,迁移过程中,需要根据nginx的配置写初始化脚本。这项工作够无聊,够没有技术含量,够耗时….(满屏幕的吐槽)为了终结这个噩梦,我就尝试写了这么一个shell脚本,...

2018-09-16 15:56:15

linux--命令那些事

常用命令cd[root@192zch]#pwd/home/zch[root@192zch]#cdtest/[root@192test]#cd-#表示回到刚刚的那个目录/home/zch[root@192zch]#pwd[root@192zch]#cd/var/mail[root@192mail]#pwd/var/mai...

2018-08-15 13:00:53

spring源码解析---ioc

循环依赖的解决以下博客写得很好:http://www.jianshu.com/p/6c359768b1dc

2018-04-22 21:33:27

【一张图系列】spring----mvc总结

doDispatch调用过程总结

2018-04-19 20:29:28

Oracle---物理结构、逻辑结构、内存结构

逻辑结构存储关系存储结构如何存储表数据表空间(tablespace)常用表空间表空间和数据文件的关系段(Segment)数据区(Extent)数据块(DataBlocks)物理结构数据文件日志文件控制文件参数文件实例(instance)Oracle系统体系结构由三部分组成:逻辑结构、物理结构和实例。逻辑结构Oracle的逻辑结构是一种...

2018-04-16 22:44:28

Oracle---数据库、实例、用户、表空间、表之间的关系讲解

基本概念数据库Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件),它是物理文件的集合。实例实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合。一个数据库可以有n个实例。用户用户是在实例下建立的。不同实例可以建相同名字的用户。就是一个登陆的...

2018-04-16 22:41:30

java并发---队列同步器(AbstractQueuedSynchronizer)

队列同步器AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组件的基础框架,它使用了一个int成员变量表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作,并发包的作者(DougLea)期望它能够成为实现大部分同步需求的基础以下博客写的都很好,讲解也很详细:Java并发之AQS详解AQS实现分析...

2018-04-16 22:39:18

java并发---线程池

线程池的实现原理当向线程池提交一个任务之后,线程池是如何处理这个任务的呢?本节来看一下线程池的主要处理流程,处理流程图如图所示。从图中可以看出,当提交一个新任务到线程池时,线程池的处理流程如下。线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则进入下个流程。线程池判断工作队列是否已经满。如果工作队列没有满...

2018-04-16 22:37:41

java并发---双重检查锁定与延迟初始化

双重检查锁定的由来例子1publicclassUnsafeLazyInitialization{privatestaticInstanceinstance;publicstaticInstancegetInstance(){if(instance==null)//1:A线程执行...

2018-04-16 22:35:38

java并发---公平锁和非公平锁实现详解

Java中的公平锁和非公平锁实现详解

2018-04-16 22:33:38

java并发---乐观锁与悲观锁

乐观锁与悲观锁悲观锁乐观锁Synchronizedsynchronized实现原理Java对象头monitor锁优化自旋锁适应自旋锁锁消除锁粗化轻量级锁偏向锁重量级锁CASCAS原理CAS缺点CAS与Synchronized的使用情景: 乐观锁与悲观锁悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据...

2018-04-16 22:32:16

java并发---volatile关键字

volatile的特性可见性:对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入原子性:对任意单个volatile变量的读/写具有原子性,但类似于volatile++这种复合操作不具有原子性volatile写-读建立的happens-before关系从内存语义的角度来说,volatile的写-读与锁的释放-获取有相同的内存效果:vola...

2018-04-16 22:26:50

java并发---ConcurrentHashMap

为什么要使用ConcurrentHashMap线程不安全的HashMap在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。例如,执行以下代码会引起死循环。finalHashMap<String,String>map=newHashMap<String,Str...

2018-04-16 22:25:08

JVM---内存模型与线程

Java内存模型Java内存模型用来屏蔽各种硬件和操作系统的内存访问差异,以实现在各种平台下都能达到一致的内存访问效果。Java线程之间的通信由Java内存模型(本文简称为JMM)控制,JMM决定一个线程对共享变量的写入何时对另一个线程可见。从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储在主内存(MainMemory)中,每个线程都有一个私有的本地内存(...

2018-01-01 14:41:31

JVM---类加载过程

类加载过程加载验证准备解析初始化类加载器类与类加载器双亲委派模型自定义类加载器ClassLoader隔离问题

2018-01-01 14:39:18

JVM---垃圾收集器

对象已死吗引用计数算法可达性分析算法引用finalize的执行过程方法区的回收垃圾收集算法标记-清除算法复制算法标记-整理算法分代收集算法垃圾收集器Serial收集器ParNew收集器ParallelScavenge收集器SerialOld收集器ParallelOld收集器CMS(ConcurrentMarkSweep)收集器G1收集器内存分...

2018-01-01 14:35:54

JVM---内存区域

程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量直接内存总结程序计数器程序计数器可以视为当前线程所执行的字节码行号指示器。每条线程都有独立的计数器,保证线程切换恢复正确位置,因此程序计数器这一块内存区域是线程隔离的。该区域是唯一一个没有规定任何OutOfMemoryError的区域。线程私有。Java虚拟机栈虚拟机栈描述的是Java方法

2018-01-01 14:31:00

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!