- 浏览: 23453 次
最新评论
-
zxs6587:
最近在读spring源码,看到楼主这几篇文章受益匪浅,从架构上 ...
Spring架构揭秘-IOC容器 -
买切糕的猴子:
写的不错
java虚拟机-垃圾回收机制
文章列表
在分析java内存问题的时候需要查看GC日志,这里概要的总结一下GC日志该如何看
通过设置-XX:+PrintGCDetails虚拟机参数就可以得到GC日志,下面是一段GC日志示例,笔者使用的是JDK8,HotSpot虚拟机
publicclass T {publicstaticvoid main(String[] args) { T t = new T();
System.gc(); }
我们都知道Java使用的是垃圾自动回收机制,开发者无需像C程序员一样时时刻刻关心何时做垃圾回收。但是作为一名Java程序员了解JVM的垃圾回收机制是一件非常必要的事情,对于分析系统发生OM的问题,内存泄漏等问题时 ...
本地方法
非java代码实现的java方法,使用native关键字,除abstract外可与java关键字连用
程序计数器
可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支,循环,跳转,异常处理,线程恢复等基础功能。该区域时java虚拟机规范中没有规定outofmeroryError情况的区域
虚拟机栈
1、生命周期同线程一致
2、程序员通常指的栈内存区,更确切的是指虚拟机栈中的局部变量表部
1、Spring MVC流程图
2、Spring MVC数据绑定和转换
一、Spring MVC流程概述
以前一直使用Struts做MVC项目,然后再结合Spring做bean管理、AOP、以及事务的配置,但自从Spring MVC推出以后,它大大的简化了MVC的配置,对于web MVC的 ...
1、声明式事务原理
2、Spring事务模块结构及解析
一、声明式事务原理
在日常的开发中经常会使用到事务,比如在新增纪录的方法里,通常会先开启事务,然后再提交事务,遇到异常就回滚事务,事务代码都是模版型的,写起来很烦,但是又不能不写。这正好符合AOP的应用范围,Spring天然的支持AOP,于是伟大的声明式事务就这么诞生了。通过XML或注解的方式配置事务,标明在哪个类,那个方法需要使用事务即可。
二、Spring事务模块结构及解析
Spring对事务管理做了高级抽象,分为3个部分,分别是事务定义,事务状态,事务管理器。
Spring通过 ...
1、JDK动态代理原理
2、JDK动态代理模块结构
一、JDK动态代理原理
使用过JDK动态代理的都知道需要借助InvocationHandler和Proxy来实现代理,但是其原理是啥呢?最近研究了一下,这里做个小小的总结。
先来看一个小的动态代理demo
从demo类图可以看出,有一个接口UserDao和它的实现类,然后定义了我们的MyInvocationHandler,它必须实现JDK的InvocationHandler接口,通过invoke方法来对目标对象target添加增强的逻辑代码,从而达到切面增强的目的。同时我们的MyInvocationH ...
1、AOP概述
2、Spring AOP原理
3、Spring AOP架构解析
一、AOP概述
Java程序员在写代码的时候通常都是使用新建对象类来描述业务特性,然后通过对象的继承、组合、扩展等手段来实现业务需求,这是典型的面相对象的编程方式即OOP,总的来说OOP是一种由上至下的竖向编程模式。
在实际的编程中,通常会遇到某些方法里会使用到相同的逻辑,比如记方法执行日志,这些代码在OOP中没法与业务代码完全的解藕,使得方法代码就有了混合逻辑,不符合编程的单一责任原则。如果可以把这块逻辑代码解藕,通把两种逻辑的代码区分开,然后在运行期再合起来就完美了,就相当于 ...
一、事件监听机制概述
二、事件监听机制结构
三、Spring监听机制架构
Spring的Application拥有发布事件并且注册事件监听器的能力,拥有一套完整的事件发布和监听机制。在Java中,通过java.util. EventObject来描述事件,通过java.util. EventListener来描述事件监听器,在众多的框架和组件中,建立一套事件机制通常是基于这两个接口来进行扩展。
在一个事件体系中,有以下几个重要的概念。
1、事件源:事件对象的产生者,任何一个EventObject都有一个来源
2、事件监听器注册表:当事件框架或组件收到一个事件 ...
IOC容器简介
IOC容器体系结构
容器组成部分
IOC容器工作机制
bean生命周期
容器加载管理的流程
Spring的IOC相当于spring的心脏,spring所有的功能都是围绕容器来进行扩展的。有人说spring的IOC容器不就是一个Bean工厂嘛,利用反射实例化java bean然后缓存起来。对于这种见解,笔者只能认为其认知十分肤浅。IOC是控制反转的简称,也叫做依赖注入,也就是说将Bean的控制权都交由Spring来管理,理想的情况下是完全基于接口编程,至于具体使用哪个实现类完全交由第三方来决定,从而达到业务与系统框架完美 ...