自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (3)
  • 收藏
  • 关注

原创 【redis集群】

集群Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。节点节点启动一个节点就是一个运行在集群模式下的Redis服务器,Redis服务器在启动时会根据cluster-enabled配置选项是否为yes来决定是否开启服务器的集群模式怎么加入集群向一个节点node发送CLUSTER MEET命令,可以让node节点与ip和port所指定的节点进行握手(handshake),当握手成功时,node节点就会将ip和por

2022-05-04 11:12:35 340

原创 spring--aop ProxyFactory图

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

2019-02-24 18:32:33 302

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

一张图解释IOCEnding

2019-02-16 16:53:51 665

原创 【一张图系列】RefreshScope注解

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

2019-01-31 18:49:24 2128 4

原创 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 175

原创 linux--命令那些事

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

2018-08-15 13:00:53 367

转载 spring源码解析---ioc

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

2018-04-22 21:33:27 130

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

doDispatch调用过程总结

2018-04-19 20:29:28 106

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

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

2018-04-16 22:44:28 10300

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

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

2018-04-16 22:41:30 460

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

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

2018-04-16 22:39:18 161

原创 java并发---线程池

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

2018-04-16 22:37:41 143

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

双重检查锁定的由来例子1public class UnsafeLazyInitialization { private static Instance instance; public static Instance getInstance() { if (instance == null) // 1:A线程执行 ...

2018-04-16 22:35:38 205

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

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

2018-04-16 22:33:38 618

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

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

2018-04-16 22:32:16 337

原创 java并发---volatile关键字

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

2018-04-16 22:26:50 254

原创 java并发---ConcurrentHashMap

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

2018-04-16 22:25:08 181

原创 JVM---内存模型与线程

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

2018-01-01 14:41:31 247

原创 JVM---类加载过程

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

2018-01-01 14:39:18 123

原创 JVM---垃圾收集器

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

2018-01-01 14:35:54 185

原创 JVM---内存区域

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

2018-01-01 14:31:00 164

原创 spring事件驱动模型

spring事件驱动模型的结构.   1.ApplicationEvent  2.ApplicationListener(Observer)  3.ApplicationContext(publisher)  4.ApplicationEventMulticaster在spring 中使用事件监听机制的Demo总结  spring中的事件驱动模型也叫作发布订阅模式,是观察者模式的一个典型

2017-12-27 00:05:35 211

原创 BeanPostProcessor

BeanPostProcessor接口

2017-12-27 00:02:12 139

原创 Spring源码解析-自定义标签解析

自定义标签配置步骤创建一个需要扩展的组件。定义一个xsd文件描述组件内容。创建一个文件,实现BeanDefinitionParser接口,用来解析xsd文件中的定义和组件定义。创建一个handle文件,扩展自NamespaceHandlerSupport,目的是将组件注册到spring容器。编写spring.handlers和spring.schemas文件,这两个文件的存放位置默认在工程

2017-12-26 23:59:50 178

原创 SpringMVC DispatcherServlet的逻辑处理

DispatcherServlet的逻辑处理时序图doDispatch解析 根据request信息查找对应的Handler HandlerExecutionChain UML类图getHandler根据Handler寻找对应的HandlerAdapterHandlerInterceptor的处理逻辑处理 handle根据视图跳转页面 render 时序图解析视图页面跳转Dis

2017-12-26 23:54:11 605

原创 SpringMVC DispatcherServlet初始化

DispatcherServlet UML类图DispatcherServlet初始化序列图DispatcherServlet初始化分析 HttpServletBean init方法WebApplicationContext的初始化onRefresh 初始化HandlerAdaptersContextLoaderListener初始化的前后文和DispatcherServlet初始化的

2017-12-26 23:51:34 209

原创 Spring源码解析---AOP

动态AOP自定义标签 private static BeanDefinition registerOrEscalateApcAsRequired(Class<?> cls, BeanDefinitionRegistry registry, Object source) { Assert.notNull(registry, "BeanDefinition...

2017-12-26 23:25:02 144

原创 SpringMVC容器初始化 ContextLoaderListener

ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。 * web.xml配置 * ContextLoaderListener UML类图 * UML 时序图 * createWebApplicationContext * 寻找用来实例化ConfigurableWebApplicationContext的cla

2017-12-26 13:57:17 401

原创 js 传统DOM0

DOM0 在w3c发布用于HTML(或XML)文档及其元素的标准(dom1,dom2,dom3)前,也曾存在过dom,现在统一称为dom0。 dom0在处理表单,图片,链接,锚点等方面还是最使用,方面的,这也是为什么要了解它的原因。表单中的传统DOM js在处理表单时,会根据在文档中出现的次序为所有表单创建数组。forms[]数组 form对象时document对象的一个属性,每当

2016-03-26 23:12:23 326

翻译 js BOM对象

窗口是浏览器对象,文档是html对象。浏览器对象也叫BOM。 navigator对象 navigator对象包含描述浏览器的属性和方法检测所使用的浏览器和版本号var browserName = navigator.appName;var browserVersion = navigator.appVersion;var browserAgent = naviga

2016-03-26 22:46:01 237

翻译 js中的event对象

event对象 对于文档中发生的每个事件,都将事件对象同事件一同发送给事件处理函数。事件对象提供了针对事件的特定信息,通过这些信息我们可以更详细地了解事件,以便发现问题,获取像素坐标、定位已单机的按钮等等。捕获和冒泡 DOM(文档对象模型)结构是一个树型结构,当一个HTML元素产生一个事件时,该事件会在元素结点与根节点之间按特定的顺序传播,路径所经过的节点都会收到该事件,这个传播过程可称为

2016-03-26 22:20:00 1105

翻译 js所有对象都有的属性和方法

所有从Object继承而来的对象都可以访问Object对象的属性和方法。 方法 功能 constructor 创建对象函数的引用 prototype 对对象原型的引用。该参数使得对象可以共享属性和方法 hasOwnProperty(property) 如果指定属性属于该对象,返回真,不包括从他的原型对象链继承来的属性 isPrototypeOf(object) 如

2016-03-25 17:48:42 349

原创 javascript创建子类

下面的例子BosiMao继承基类Cat。 //基类 function Cat(){ this.name = "zch"; } //子类的构造函数 function BosiMao(){} //继承 BosiMao.prototype = new Cat(); BosiMao.prototype.constructor =

2016-03-25 17:29:18 516

翻译 通过原型扩展对象

原型对象 系统默认自动为js函数生成空的原型(prototype)对象。如果某个函数是类的构造函数,那么它的原型对象可以被用来对类进行扩展。 当给构造函数的prototype属性赋值时,他们会自动扩展到该类的所有实例。使用prototype属性为对象添加属性eg:<script> function Cat(name){ this.name = name;

2016-03-25 17:06:44 688

翻译 javascript 对象

Object对象时javaScript的原始对象。创建对象eg: var cat = new Object(); cat.name = "zch"; cat.action = funciton(){ alert("miao~miao~"); };类 js没有传统意义上的类。定义新的js类,需要编写一段函数。函数名当做对象类的类名称,函数体定义其属性和方

2016-03-22 20:47:02 152

翻译 eval函数

javascript

2016-03-22 20:25:09 206

原创 Struts2.0 入门,namespace

默认namespace默认namespace是“”,意味着“catch-all”namespace。如果action没有在指定的namespace中找到,Struts2就会在默认的namespace中查找该action。Root namespaceStruts2支持“/”namespace。Namespace Example greeting.jsp

2015-11-04 23:34:15 272

AQS源码分析 (1).pdf

java锁底层实现,AQS源码分析。我在公司内部分享写的,如果想进一步了解,可以私聊

2021-01-22

OpenResty-Best-Practices(openresty最佳实践)

openresy最佳实践 Lua 入门 Nginx LuaCjsonLibrary PostgresNginxModule LuaNginxModule LuaRestyDNSLibrary LuaRestyLock 测试

2018-07-18

俄罗斯方块讲解

俄罗斯方块 C语言 讲解 源代码 这是从C语言项目中的一个课件。 讲解详细,易懂

2014-02-19

空空如也

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

TA关注的人

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