- 博客(254)
- 收藏
- 关注
原创 Spring源码分析【5】-Spring MVC处理流程
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
2016-08-10 15:06:14
894
原创 Spring源码分析【1】-Tomcat的初始化
org.apache.catalina.startup.ContextConfig的webConfig()org.apache.catalina.core.StandardContext的addServletContainerInitializer方法回到configureStart()...到了org.apache.catalina.core.Stan
2016-08-08 17:35:57
1149
原创 Spring源码分析【2】-Tomcat和Sping的连接点
Tomcat是怎么调用上Spring的呢?需要找到这个连接点。答案就在org.apache.catalina.startup.WebappServiceLoader
2016-08-02 15:38:36
1635
原创 Spring源码分析【0】-框架的基础:继承和接口调用链
Spring源码大量的使用继承和接口调用,现举个例子,不搞清楚这个无法看代码。public class A extends B{ public void f1() { System.out.println("f1 in a"); }}public abstract class B extends C { protected abstract v
2016-08-02 10:01:02
932
原创 Spring源码分析【3】-SpingWebInitializer的加载
public class SpingWebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class[] getRootConfigClasses() { return new Class[]{RootConfig.clas
2016-07-29 18:13:17
2592
原创 Spring Mock单元测试
针对post和getimport org.junit.Before;import org.junit.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.web.servlet.MockMvc;import org.springframe
2016-07-28 10:39:49
4499
原创 调试Tomcat源码
需要调试Tomcat源码其实很简单,1.保持你的Tomcat安装文件和源码是版本一致http://tomcat.apache.org/download-80.cgi下载安装版和源码2个版本2.建立Java自由格式项目先在IDE里配置好Tomcat,这个不复杂。然后新建一个项目,这个需要注意了,以NetBeans为例需要建一个Java自由格式项目
2016-07-27 10:53:43
770
原创 Spring security防止跨站请求伪造(CSRF防护)
因为使用了spring security 安全性框架所以spring security 会自动拦截站点所有状态变化的请求(非GET,HEAD,OPTIONS和TRACE的请求),防止跨站请求伪造(CSRF防护),即防止其他网站或是程序POST等请求本站点。如果是POST需要在html增加这个
2016-07-15 17:53:16
6087
原创 MyBatis调试insert得到返回值和自增的id
1.insertpackage org.apache.ibatis.executor.statement;...public class PreparedStatementHandler extends BaseStatementHandler { public PreparedStatementHandler(Executor executor, MappedStatement m
2016-07-15 14:33:45
5593
原创 EL表达式
1.EL获取单值${title}2.EL获取HashMap后端绑定Map m=new HashMap(); m.put("1", "111"); m.put("2", "222"); ModelAndView mv = new ModelAndView(); mv.addObject("title",
2016-07-15 13:52:38
483
原创 FAIL - Deployed application at context path / but context failed to start
IDE报错:FAIL - Deployed application at context path / but context failed to start编译通过,这个错误原因是很多地方被误用,导致Spring运行时不能解析某些Class导致,例如:ModelAndView用错public ModelAndView GetIndex(ModelAndView mav
2016-07-13 16:11:47
7035
原创 SpringMVC集成Tiles布局引擎框架
Tiles布局框架, http://tiles.apache.org/ Spring已经对Tiles进行了集成。页头页尾公共模板页要靠这个,不然重复代码太多。 org.apache.tiles tiles-servlet 3.0.5 org.apache.
2016-07-12 18:23:48
3771
1
原创 Java的JSON操作存储List到Redis
使用jackson和json-lib都可以 org.codehaus.jackson jackson-mapper-asl 1.9.13 net.sf.json-lib json-lib 2.4 jd
2016-06-27 17:40:49
7277
原创 泛型推断类型不符合上限
程序报错推断类型不符合上限springsecurity需要自定义用户服务代码@Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.userDetailsService(new CustomUserDetails
2016-05-19 09:17:30
4159
原创 junit集成Hamcrest测试集合中某个属性是否包含特定值
junit已经集成Hamcrest junit junit 4.12 test org.hamcrest hamcrest-all 1.3
2016-05-16 17:14:41
1492
原创 solr占用CPU持续过高原因查询
线上java进程占用CPU忽高忽低,就是说一下子40%左右,一下子减下去。这台服务器只有Solr,所以估计是Solr在GC。# jstat -gcutil 2072 2sJVM名词解释参考java内存泄漏的定位与分析一些术语的中文解释: S0C:年轻代中第一个survivor(幸存区)的容量 (字节) S1C:年轻
2016-05-11 17:24:21
5119
原创 Java的Redis连接池代码性能不错
其实这个是引用自网友http://blog.csdn.net/tuposky/article/details/45340183,有2个版本,差别就是ReentrantLock和synchronizedReentrantLock版import java.util.concurrent.locks.ReentrantLock;import org.apache.commons.lang
2016-05-09 17:52:19
19053
2
原创 匿名函数应用-多线程测试代码
多线程测试代码,不用单独再写一个类,比较方面而已。public class MainThread {static int a=0;for (int x = 0;x<100;x++){ Thread t = new Thread(new Runnable() { @Override
2016-05-09 10:06:36
702
原创 《异步处理在分布式系统中的优化作用》学习笔记
原文地址:http://www.infoq.com/cn/presentations/optimization-of-asynchronous-processing-in-distributed-systems视频地址:http://v.qq.com/boke/page/l/0/6/l0196plsvp6.html主讲人:赵海平 Facebook hiphop HHVM 阿里巴巴技术保
2016-05-07 16:07:51
1997
原创 反射学习笔记
说明:深入学习了下反射 http://edu.51cto.com/course/course_id-4798.html 讲的不错问题1:1.对象有编译类型和运行类型 Object obj = new Date(); 编译类型:Object 运行类型(其实就是obj对象真实的类型):Date 需求:根据对象obj调用Date类中的一个方法,toLo
2016-04-30 10:28:12
742
原创 多线程Atomic和ThreadLocal
public interface CounterI { void addOne(); int getCount();}public class Counter implements CounterI { private static int count = 0; @Override public void addOne() { co
2016-04-27 11:42:25
897
原创 调试JDK源码-ConcurrentHashMap实现原理
Map cm = new ConcurrentHashMap(); for (int i = 0; i < 20; i++) { cm.put((char) (i + 65) + (char) (i + 66) + (char) (i + 67) + "", i + ">>>http://blog.csdn.net/unix21/"); }
2016-03-18 10:56:46
1547
原创 调试JDK源码-Hashtable实现原理以及线程安全的原因
Hashtable是线程安全的,我们从源码来分析 代码很简单Hashtable ht = new Hashtable(); ht.put("111", "http://blog.csdn.net/unix21/"); ht.put("222", "www.csdn.net"); ht.put("333", www.java.com);
2016-03-18 10:00:52
8194
1
原创 调试JDK源码-HashSet实现原理
先看此文:调试JDK源码-一步一步看HashMap怎么Hash和扩容 代码 Set s=new HashSet(); s.add("http://blog.csdn.net/unix21"); s.add("ABCDEF"); s.add("123456"); hashSet是基于hashMap的 add
2016-03-17 14:13:15
1281
原创 Linux环境编译安装OpenJDK
Centos6.5 AMD64位机器Java的源码是C,C++和Java实现的,所以还需要有一个安装好的java建议选OracleJDK参考文末安装OracleJDKLinux环境安装卸载JDK以及安装Tomcat和发布Java的web程序安装依赖 | Install dependence# yum -y install gcc gcc-c++ alsa-lib als
2016-03-16 23:05:01
4236
原创 HashMap和ConcurrentHashMap研究
public class ConcurrentHashMap extends AbstractMap{...public V putIfAbsent(K key, V value) { return putVal(key, value, true); }final V putVal(K key, V value, boolean onlyIfAbsent
2016-03-16 14:02:51
669
原创 Shiro源码学习之二
3.subject.logintry { subject.login(token); } catch (AuthenticationException ae) { logger.info("登录失败!"); return; }login方法public void lo
2016-03-15 12:37:10
2554
原创 Shiro源码学习之一
1.lock与unlockif (account.isLocked()) { throw new LockedAccountException("Account [" + account + "] is locked."); }参考:Java中锁的应用之-Lock
2016-03-15 09:24:31
1839
原创 常用Maven收集以及Maven技巧
完整的Maven的pom.xml 4.0.0 org.me ... 2.0.0 jar UTF-8 1.8 1.8 junit junit 4.12
2016-03-12 09:02:51
660
原创 单例模式
最简单的单例package org.me.javaapp.singleton;import org.me.javaapp.util.DateUtil;public class Singleton { private Singleton() { try { System.out.println("Singleton is 初始化开始>>>"
2016-03-10 20:23:17
541
原创 Apache commons-io
添加引用 commons-io commons-io 2.4 按行写: public static void writeFileLineByApacheIO(String fileContent) throws IOException { String
2016-03-10 20:21:14
577
原创 Spring MVC 4
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */packag
2016-03-09 19:26:27
768
原创 Java动态加载一个类的几种方法以及invoke
接口IUserpackage org.me.javaapp;/** * * @author Administrator */public interface IUser { }User.java/* * To change this license header, choose License Headers in Project Propertie
2016-03-09 15:46:19
9846
原创 JAX-WS Web 服务开发调用和数据传输分析
增加一个add的服务import javax.jws.WebService;import javax.jws.WebMethod;import javax.jws.WebParam;/** * * @author Administrator */@WebService(serviceName = "CalculatorWS")public class CalculatorWS
2016-03-08 16:26:47
1191
原创 框架源码学习笔记
1.@WebListenerServlet3.0提供@WebListener注解将一个实现了特定监听器接口的类定义为监听器,这样我们在web应用中使用监听器时,也不再需要在web.xml文件中配置监听器的相关描述信息了。Web应用启动时就会初始化这个监听器@WebListenerpublic class MyServletContextListener implements
2016-03-07 22:18:46
960
原创 支撑Spring的基础技术:泛型,反射,动态代理,cglib等
1.静态代码块和非静态代码块以及构造函数出自尚学堂视频:《JVM核心机制 类加载全过程 JVM内存分析 反射机制核心原理 常量池理解》public class Parent { static String name = "hello"; //非静态代码块 { System.out.println("1"); } //静态代...
2016-03-01 22:50:28
5660
原创 PHP数据库连接池SQL Relay安装使用
SQL Relay按照其官网http://sqlrelay.sourceforge.net/index.html上所说是:A powerful database connection management solution.翻译为中文也就是说SQL Relay是一个开源的数据库池连接代理服务器。目前SQL Relay支持的数据库很多:SQL Relay suppor
2016-03-01 17:56:00
1149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅