加载中
Java多线程编程之不可变对象模式

在多线程环境中,为了保证共享数据的一致性,往往需要对共享数据的使用进行加锁,但是加锁操作本身就会带来一定的开销,这里可以使用将共享数据使用不可变对象进行封装,从而避免加锁操作。 ...

Effective Java学习笔记

本篇博客主要目的是记录本人在看《Effective Java》的过程中的关键点,并且在适当的位置记录本人对于这些要点的理解

Spring如何解决循环依赖的问题

在关于Spring的面试中,我们经常会被问到一个问题,就是Spring是如何解决循环依赖的问题的。这个问题算是关于Spring的一个高频面试题,因为如果不刻意研读,相信即使读过源码,面试者也不一定...

08/22 23:25
518
单例模式的正确书写方式

单利模式,顾名思义,是指应用环境中只存在该类的一个实例,一般是否使用单例模式创建一个类主要由两种情形来决定:一是应用程序的上下文环境的类,系统要求其只能有一个实例;二是对于某种公...

2016/09/10 23:25
78
Spring Aop之Cglib实现原理详解

Spring Aop实现对目标对象的代理,主要有两种方式:Jdk代理和Cglib代理。这两种代理的区别在于,Jdk代理与目标类都会实现同一个接口,并且在代理类中会调用目标类中被代理的方法,调用者实际...

2018/08/25 09:01
1K
Spring MVC之视图解析

在RequestMappingHandlerAdapter对request进行了适配,并且调用了目标handler之后,其会返回一个ModelAndView对象,该对象中主要封装了两个属性:view和model。其中view可以是字符串类型也可...

2018/10/03 10:11
107
Spring Aop之Jdk代理实现原理详解

Jdk代理,也称为动态代理,其代理目标对象的方式是生成一个与目标对象实现同一个接口的类,该类的构造函数中会传入一个InvocationHandler类型的对象。因为InvocationHandler对象是用户自定义...

2018/08/26 14:33
561
Spring AOP切点表达式详解

1. 简介 面向对象编程,也称为OOP(即Object Oriented Programming)最大的优点在于能够将业务模块进行封装,从而达到功能复用的目的。通过面向对象编程,不同的模板可以相互组装,从而实现更...

Spring Aop之Target Source详解

在上文中(Spring Aop标签解析原理详解)我们讲解了Spring是如何解析<aop:aspectj-autoproxy/>标签,并且生成了一个AnnotationAwareAspectJAutoProxyCreator的BeanDefinition的。在Spring代理目...

Dubbo之SPI原理详解

SPI全称为Service Provider Interface,是一种服务提供机制,比如在现实中我们经常会有这种场景,就是对于一个规范定义方而言(可以理解为一个或多个接口),具体的服务实现方是不可知的(可...

2018/12/08 12:54
292
Spring MVC之DispatcherServlet请求处理详解

DispatcherServlet作为Spring用于处理web请求注册的唯一一个Servlet,所有的请求都是经由DispatcherServlet进行分发处理的。本文主要讲解DispatcherServlet是如何对请求进行分发,处理,并且...

2018/10/03 15:21
686
Dubbo Adaptive机制详解

Dubbo提供了一种SPI的机制用于动态的加载扩展类,但是如何在运行时动态的选用哪一种扩展类来提供服务,这就需要一种机制来进行动态的匹配。Dubbo SPI中提供的Adaptive机制就为解决这个问题提...

06/03 23:00
391
Netty Reactor模式实现原理详解

在前面的文章中(Reactor模型详解),我们讲解了Reactor模式的各种演变形式,本文主要讲解的则是Netty是如何实现Reactor模式的。这里关于Netty实现的Reactor模式,需要说明的是,其实现的模式...

Spring Mvc之定制RequestMappingHandlerMapping

在上文Spring MVC之RequestMappingHandlerMapping匹配中我们讲到,Spring在进行request匹配的时候,不仅会匹配url,method,contentType等条件,还会对用户提供的定制条件进行匹配,用户提供...

2018/09/27 22:50
576
Spring Aop原理之Advisor过滤

在上文(Spring Aop之Advisor解析)中我们讲到,Spring Aop对目标bean的代理主要分为三个步骤:获取所有的Advisor,过滤当前bean可应用的Advisor和使用Advisor为当前bean生成代理对象,并且上文...

2018/08/18 20:01
142
Spring事务事件监控

前面我们讲到了Spring在进行事务逻辑织入的时候,无论是事务开始,提交或者回滚,都会触发相应的事务事件。本文首先会使用实例进行讲解Spring事务事件是如何使用的,然后会讲解这种使用方式的...

2018/09/06 19:26
3.4K
Dubbo服务暴露与注册

前面的文章中,我们讲解了Dubbo是如何进行配置的属性的初始化的,并且讲到,Dubbo最终会将所有的属性参数都封装为一个URL对象,从而以这个URL对象为基准传递参数。本文则主要讲解Dubbo是如何...

Netty内存池之PoolThreadCache详解

PoolThreadCahche是Netty内存管理中能够实现高效内存申请和释放的一个重要原因,Netty会为每一个线程都维护一个PoolThreadCache对象,当进行内存申请时,首先会尝试从PoolThreadCache中申请,...

04/23 10:13
322
Spring自定义标签解析与实现

在Spring Bean注册解析(一)和Spring Bean注册解析(二)中我们讲到,Spring在解析xml文件中的标签的时候会区分当前的标签是四种基本标签(import、alias、bean和beans)还是自定义标签,如果是...

Java NIO用法详解

对于Java NIO,其主要由三个组件组成:Channel、Selector和Buffer。关于这三个组件的作用主要如下: Channel是客户端连接的一个抽象,当每个客户端连接到服务器时,服务器都会为其生成一个C...

05/13 09:57
598

没有更多内容

加载失败,请刷新页面

返回顶部
顶部