自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 java.util.concurrent包图文源码解析(一)——CountDownLatch

好久没有写博客了,四个字:贵在坚持!!! 从今天起,每天至少一篇。 从JAVA并发开始,所有的博文都结合源码,什么事情知道原理,得心应手。 java.util.concurrent包是线程控制框架,所谓的框架,就是提供有限的接口去实现极可能多的控制,大了说Spring,小了说线程池。 废话不多说,先来张图: 代码剖析 CountDownLatchCountDownLatch的使用如下://

2017-07-15 17:41:49 1003

原创 java.util.concurrent包图文源码解析(三)——ReentrantReadWriteLock

ReentrantReadWriteLock 可读写,公平非公平都占了。还是温习一下继承关系: 看下公平和非公平的实现: 内部类Sync实现了自己的特性,读写是不是需要阻塞,以此实现公平和非公平的锁争夺。锁获取1、共享锁(读锁)获取 再总结一下: 1、如果有线程持有写锁且该线程不是当前线程,直接返回-1 ,就是说自己线程可以同时读写,但是别人写,自己读

2017-07-16 10:40:23 318

原创 java.util.concurrent包图文源码解析(二)——ReentrantLock

看这一篇时候先看第一篇,把类的继承关系弄清楚。java.util.concurrent包图文源码解析(一) ReentrantLock,意思就是可重入的锁,在JAVA环境下 ReentrantLock 和synchronized 都是 可重入锁。可重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该锁的代码,但不受影响。 下面是ReentrantLoc

2017-07-16 09:16:22 362

原创 Spring 标签解析——<AOP>

在xml定义的Aop相关的bean一般是像这样:aop:aspectj-autoproxy proxy-target-class="true" /> bean id="afterUpdateBlHandler" class="com.citic.sggljg.ctrl.xxjg.AfterUpdateBlHandler"/> aop:config > a

2015-07-04 18:41:11 532

原创 Spring AOP-编程的方式创建代理类(ProxyFactoryBean)

先来了解Spring对代理相关的几个概念: 1.通知(Advice): 通知定义了切面是什么以及何时使用。描述了切面要完成的工作和何时需要执行这个工作。 2.连接点(Joinpoint): 程序能够应用通知的一个“时机”,这些“时机”就是连接点,例如方法被调用时、异常被抛出时等等。 3.切入点(Pointcut) 通知定义了切面要发生的“故事”和时间,那么切入点就定义了“故事”发生的地点

2015-07-04 08:10:29 1438

原创 Spring IOC-WebApplicationContext继承结构

WebApplicationContext继承自ApplicationContext,所以ApplicationContext有的功能这个类都会有,那么本文主要介绍一下这个体系类独有的功能。 还是看接口中声明的方法,发现主要多了一个方法ServletContext getServletContext();就是说可以得到ServletContext,这是连接Spring和web的桥梁 那么下面我们

2015-07-03 15:22:33 608

原创 Spring IOC-ApplicationContext的继承关系

前面的文章Spring IOC-BeanFactory的继承体系分享了BeanFactory的所有接口,抽象类以及实现类的主要方法及层级关系。今天我们分享BeanFactory的相当于一个分支ApplicationContext。 既然是继承,那么肯定拥有BeanFactory核心功能比如一系列的getBean()功能,不同之处在于扩展了一些功能(比如加载bean定义的方式)和增加了一些功能(比如

2015-07-03 11:09:10 3816

原创 Spring IOC-XmlBeanFactory如何加载xml及如何存储转换后的信息

本文主要介绍我们定义的xml配置文件是怎样被Spring加载封装到bean工厂的。 我们写代码使用Spring的IOC通常是这样的: Resource resource=new FileSystemResource("benas-config.xml"); BeanFactory factory=new XmlBeanFactory(resource); HelloBean h

2015-07-02 15:06:21 908

原创 Spring IOC-BeanFactory的继承体系结构

本文主要介绍BeanFactory以及它的各种继承层级的接口、抽象类及实现类,因为内容很多,所以这里不介绍ApplicationContext继承体系下的类(虽然ApplicationContext本质上也是BeanFactory,但是毕竟这这是我们平时接触最多的两种类别,所以分开说)。 关于ApplicationContext继承体系结构在《Spring IOC-ApplicationConte

2015-07-01 22:41:44 3613

原创 Spring IOC-WebApplicationContext刷新(was.refresh())

在 Spring配置web.xml中标签(ContextLoaderListener类解析)解析一文的最后我们留下了wac.refresh();是怎样执行的问题。 【在ContextLoader类中和FrameworkServlet中都执行了这行代码】 不管是在哪里调用refresh(),执行的都是AbstractApplicationContext的refresh()方法,这里再贴出相应的代码

2015-07-01 22:38:23 764

原创 Spring IOC-业务对象bean加载到bean工厂

在Spring IOC-Servlet加载到bean工厂一文中说明了Spring是如何将servlet bean加载到bean工厂中,这里的servlet bean相当于是Control层,而本文中要介绍的bean可以理解为Service层和Dao层的bean,当然这样划分只是便于理解,实际中不会局限这些,可以是任何你定义的bean。 其实这里的加载过程类似servlet加载过程,只不过两者的触发

2015-07-01 09:25:57 1072

原创 Spring IOC-Servlet加载到bean工厂

在Spring配置Servlet标签一文中介绍了Servlet的调用以及初始化过程,在一系列的初始化过程init中加载bean的模式都是先从bean工厂得到,如果没有那么就加载Spring属性文件DispatcherServlet.properties中默认的,那么在bean工厂中的bean是什么时候设置进工厂的,很简单,往下看。 先贴上继承关系图,好说话。 在FrameworkServle

2015-06-30 20:12:53 835

原创 Spring MVC-RequestToViewNameTranslator

作用:将request请求转换为视图名称,比如转换为 index.jsp. 可以看到这个接口就一个实现类DefaultRequestToViewNameTranslator下面直接看这个类实现的接口中的方法String getViewName(HttpServletRequest request)。public String getViewName(HttpServletRequest req

2015-06-30 19:16:23 1134

原创 Spring MVC-HandlerExceptionResolver

顾名思义,这个接口类HandlerExceptionResolver是处理异常的解析器。就是adapter在对请求进行处理的时候。看一下继承关系: 因为Spring默认加载的是三个类DefaultHandlerExceptionResolver、ResponseStatusExceptionResolver和AnnotationMethodHandlerExceptionResolver,所以

2015-06-30 14:59:31 506

原创 Spring MVC-HandlerAdapter

HandlerAdapter接口中定义的方法为ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler)看这个方法就明白了,就是HanlerMapping负责找到Handler(更具体的是找到Handler中处理的方法),然后交给HandlerAdapter负责执行这个方法

2015-06-30 10:26:21 601

原创 Spring MVC-HandlerMapping

Spring MVC 使用HandlerMapping来找到并保存url请求和处理函数间的mapping关系。 以DefaultAnnotationHandlerMapping为例来具体看HandlerMapping的作用 DefaultAnnotationHandlerMapping将扫描当前所有已经注册的spring beans中的@requestmapping标注以找出url 和 h

2015-06-29 22:33:24 491

原创 Spring配置web.xml的<servlet>标签

在web.xml中配置<servlet> <servlet-name>citic</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation

2015-06-28 11:26:13 2966

原创 Spring配置web.xml中<listener>标签(ContextLoaderListener类解析)解析

在web.xml中配置 &amp;lt;listener&amp;gt; &amp;lt;listener-class&amp;gt;org.springframework.web.context.ContextLoaderListener&amp;lt;/listener-class&amp;gt; &amp;lt;/listener&amp;gt; &amp;lt;context-param&amp;gt;

2015-06-28 10:55:19 7785

原创 java.io.Writer

写入字符流的抽象类。子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。但是,多数子类将重写此处定义的一些方法,以提供更高的效率或其他功能。类的声明public abstract class Writer implements Appendable, Closeable, Flushable 将要写的内容放到字符数组中 priva

2015-06-28 01:36:23 451

原创 在JSP前台和后台传递参数乱码汇总

1、后台通过response.sendRedirect的方式直接将中文以参数的形式传递到前台,在前台得到参数乱码。 解决办法:对**sendRedirect**URL中传递的中文参数进行转码,URLEncoder.encode(returnStr)。 然后在前台request.getParameter("returnStr").getBytes("ISO-8859-1"), "GBK"));

2015-06-28 01:16:37 424

原创 Spring 配置 工程Web.xml中encodingFilter

在web.xml中的配置如下 <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding

2015-06-27 12:56:44 1691 1

空空如也

空空如也

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

TA关注的人

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