自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编程的本质是数学问题

学源码是最快的学习方法

  • 博客(254)
  • 收藏
  • 关注

原创 Spring源码分析【6】-ThreadLocal的使用和源码分析

Spring代码使用到了ThreadLocal

2016-08-11 17:31:42 1432

原创 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

原创 《Apache Kafka》学习笔记

类似于SOASOA是系统调用1.解耦合2.提高系统响应时间未完

2016-05-07 23:08:15 1275

原创 《异步处理在分布式系统中的优化作用》学习笔记

原文地址: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

原创 Netbeans使用maven下载源码

如果需要研究源码,自然需要下载源码,其实Netbeans使用maven构建项目下载源码非常简单。

2016-03-04 19:39:40 1469

原创 支撑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关注的人

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