- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 java8 ConcurrentHashMap
node结构 static class Node implements Map.Entry { final int hash; final K key; volatile V val; volatile Node next; Node(int hash, K key, V val, Node next) {
2016-05-31 19:12:24 352
原创 springMVC (十) RequestMappingHandlerMapping
处理注解@RequestMapping的RequestMappingHandlerMapping继承关系public interface HandlerMappingpublic abstract class AbstractHandlerMapping extends WebApplicationObjectSupport implements HandlerMapping, Ord
2016-05-27 16:43:17 4126
原创 springMVC (九) SimpleUrlHandlerMapping
SimpleUrlHandlerMapping的配置 <!-- 注入urlMap --> loginController 从它的源码可以看到只需要注入Map urlMap属性或者Propert
2016-05-27 14:01:02 376
原创 springMVC (八) ViewResolver
使用springMVC 我们返回用视图时候多是 ModelAndView ,多数时候 我们可以直接在方法中返回字符串,还有我们使用ModelAndView的addObject方法,那么这个过程SpringMVC做了哪些处理View接口public interface View { String getContentType(); /** * Ren
2016-05-26 13:53:22 428
原创 springMVC (七) mvc:interceptors
HandlerInterceptor接口只有三个方法public interface HandlerInterceptor {/**handler方法调用前调用//Intercept the execution of a handler. Called after HandlerMapping determined * an appropriate handler obje
2016-05-25 16:34:29 427
原创 springMVC (六) @responseBody
当controller中的方法使用@responseBody注解时的处理过程首先DispatcherServlet方法中的doDispatch方法中的// Actually invoke the handler. mv = ha.handle(processedRequest, response, mappedHandler.getHandler());前面分析我们已经知道,h
2016-05-24 18:20:47 423
原创 springMVC (五) annotation-driven
的解析类/** * A {@link BeanDefinitionParser} that provides the configuration for the * {@code } MVC namespace element. * * This class registers the following {@link HandlerMapping}s: //注册的handlerMa
2016-05-23 18:46:32 197
原创 springMVC (四) DispatcherServlet 初始化
/** * Initialize the strategy objects that this servlet uses. * May be overridden in subclasses in order to initialize further strategy objects. */ protected void initStrategies(ApplicationCont
2016-05-23 18:14:08 536
原创 springMVC (三) HandlerAdapter
DispatcherServlet中根据handler找到HandlerAdapter方法/** * Return the HandlerAdapter for this handler object. * @param handler the handler object to find an adapter for * @throws ServletException if n
2016-05-23 17:07:48 264
原创 springMVC(二)HandlerMapping
上一节中最后讲到HandlerMapping的第一个实现类AbstractHandlerMapping的getHandler方法中调用了getHandlerInternal抽象方法,来看看它的几个子类对这个方法的重载直接子类:public abstract class AbstractUrlHandlerMapping extends AbstractHandlerMappingp
2016-05-23 16:18:21 197
原创 spring MVC(一) DispatcherServlet
DispatcherServlet是springMVC的入口类,doService方法调用了doDispatch(request, response)方法,doDispatch()方法如下:/** * Process the actual dispatching to the handler. * The handler will be obtained by applying the
2016-05-23 15:39:49 188
原创 java 线程池
public interface Executorpublic interface ExecutorService extends Executorpublic abstract class AbstractExecutorService implements ExecutorServicepublic class ThreadPoolExecutor extends Ab
2016-05-19 16:18:45 209
原创 java 观察者模式Observable Observer
被观察者继承Observable 观察者实现Observer过程:1、调用Observable 的addObserver(Observer) 给被观察者添加观察者2、在观察者Observer的update(Observable o, Object arg);的方法中做业务处理3、调用Observable 的setChanged()方法把changed设置为true,调用n
2016-05-19 15:55:29 171
原创 spring mybatis 动态代理
在spring和mybatis整合使用时候,一般会在配置文件中这样配置: <property name="basePackage" value="com.mapper.*" /> 这样配置后当使用mapper包下的dao接口时候,我们只需要自动注入即可,也就是说在spring容器中已经注册了dao的实例,mybatis是如何实现的呢首先需要说明的是我们也可以对
2016-05-11 17:06:13 1574
原创 java8 HashMap table寻址
在put和get方法中都需要根据key找到table中的index,源码为:n = table.lengthstatic final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16); }i = (n - 1)
2016-05-11 11:17:40 397
原创 java8 HashMap 线程不安全
HashMap线程不安全主要体现在扩容方法上测试:import java.util.HashMap;public class Test { public static final HashMap hashMap=new HashMap(); public static void main(String[] args) { Thread t1 = new Thread(){
2016-05-10 19:01:18 497
原创 java8 HashMap
public class HashMap extends AbstractMap implements Map, Cloneable, Serializable大致原理:一个数组(table)存储链表节点(Node)或者树节点(TreeNode )构造函数:initialCapacity 初始容量( static final int DEFAULT_INITIAL_CAPA
2016-05-10 16:31:43 223
原创 Proxy
package com.proxy;public interface Moveable { public String run(String a,String b);}package com.proxy;import java.util.Random;public class Car implements Moveable { public String run
2016-05-10 01:16:10 208
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人