自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 java常用数据结构类图

2015-04-05 19:56:18 2147 0

原创 Spring IoC容器构建过程分析(二)(草稿,持续整理中)

接上一篇的内容:

2014-07-12 17:17:36 5219 1

原创 Spring IoC容器构建过程分析(一)

ApplicationContext是spring IoC容器的顶级接口,其类结构图如下:

2014-07-09 22:26:55 6022 2

原创 Spring的BeanFactoryPostProcessor和BeanPostProcessor

BeanFactoryPostProcessor和BeanPostProcessor都是Spring初始化bean时使用扩展点

2014-06-28 11:20:15 33517 13

原创 spring的PropertyPlaceholderConfigurer和PropertyOverrideConfigurer

spring的PropertyPlaceholderConfigurer和PropertyOverrideConfigurer,类图如下:

2014-06-27 22:39:57 2151 0

原创 Executors提供的四种线程池

newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一...

2014-06-14 22:28:44 6629 0

原创 linux vi命令学习

一、查找 查找命令 /pattern :向下查找pattern匹配字符串 ?pattern:向上查找pattern匹配字符串 使用了查找命令之后,使用如下两个键快速查找: n:按照同一方向继续查找 N:按照反方向查找

2014-04-05 10:27:51 960 0

转载 堆内存的分配和回收步骤

本文摘自公司牛人的分享。                                                                     堆内存的分配和回收步骤 【一些基础知识】 -Xms:为jvm启动时分配的内存,比如-Xms200m,表示分配200M。(一般该值设...

2014-03-14 23:19:48 3791 0

原创 spring集成ibatis,涉及到的一些核心类

近期研究了下spring集成ibatis,涉及到的一些核心类,下面一个图大体的描述了这些类之间的一些关系:

2014-02-16 20:12:48 2026 0

原创 ibatis配置文件解析过程中对DTD的加载处理

一、背景知识     使用JAXP(Java API for XML Parsing)来解析XML文档,支持基于对象和基于事件的两种解析方式。基于对象的解析,目前只支持W3C DOM解析,基于事件的解析,只有SAX解析模式被支持。     SAX是一种基于事件的解析模式,解析文档的时候,当...

2014-02-16 19:57:05 6449 0

原创 linux curl命令

curl是利用URL语法在命令行方式下工作的文件传输工具。 该命令的语法格式:curl [options...] 该命令提供了很多选项,可以通过这个命令,获取详细的帮助信息:curl -h 下面列出其中一些参数的使用: 1、访问http页面内容,输出到标准输出 # curl http://w...

2013-10-17 19:03:01 12284 0

原创 linux xargs命令

查看xargs命令的帮助文档:man xags 结果如下: NAME        xargs - build and execute command lines from standard input SYNOPSIS        xargs [-0prtx] [-E eof-str] [-e...

2013-08-24 11:15:51 2339 0

转载 Git常用命令备忘

git常用命令:http://robbinfan.com/blog/34/git-common-command

2013-07-14 20:33:11 1240 0

转载 几种经典的网络服务器架构模型的分析与比较

本文转自:http://blog.jobbole.com/42895/                                      几种经典的网络服务器架构模型的分析与比较 前言 事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用;事实上,在网络编程中事件驱动...

2013-07-10 19:55:51 1432 0

原创 设计模式之五:单例模式

《Head First设计模式》第五章学习笔记 一、单例模式     单例模式:确保一个类只有一个实例,并提供一个全局访问点。     在java中实现单例模式,需要:私有的构造器、一个静态变量和一个静态方法。类图如下: 二、单例模式实现   实现...

2013-06-23 11:07:16 1343 2

原创 读书《浪潮之巅》

《浪潮之巅》是一本很不错的书籍,目前正在阅读中。 unix的发展史: 1) unix传奇(上篇) http://blog.csdn.net/haoel/article/details/1542340 2) unix传奇(下篇) http://blog.csdn.net/haoel/artic...

2013-06-15 12:18:53 1118 0

原创 JDBC学习

java的持久层,与数据库打交道,其实最终的底层实现都是通过JDBC相关的接口和类来完成。 JDBC,主要涉及以下一些主要的接口和类: 1、java.sql.DriverManager:管理一组JDBC驱动程序的基本服务。该类包以下几个主要的方法: 1)registerDriver(ja...

2013-06-01 19:00:24 1072 0

转载 Servlet 中文乱码问题及解决方案剖析

看到一个很不错的文章,就转载了。本文转自:http://blog.csdn.net/xiazdong/article/details/7217022   一、常识了解 1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.java.nio.cha...

2013-06-01 08:32:13 1105 0

原创 设计模式之四:工厂模式(简单工厂、工厂方法、抽象工厂)

《Head First设计模式》第四章学习笔记 一、设计原则    要依赖抽象,不要依赖具体类。当你直接实例化一个对象时,就是在依赖它的具体类。    如果有一个不像是会改变的类,那么在代码中直接实例化具体类也就没什么大碍。 二、工厂模式 、简单工厂模式    简单工厂模式:就是由一个...

2013-05-25 16:04:15 1877 0

原创 设计模式之三:装饰器模式

《Head First设计模式》第三章学习笔记 一、设计原则     类应该对扩展开放,对修改关闭。即开放-关闭原则(OCP)。     我们的目标是允许类容易扩展,在不修改现有代码的情况下,就可以搭配新的行为。 二、装饰器模式     装饰器模式:动态地将责任附加到对象上。若要...

2013-05-05 08:40:44 1309 0

原创 设计模式之二:观察者模式

《Head First设计模式》第二章学习笔记 一、OO基础:      抽象 二、OO原则:      为交互对象之间的松耦合设计而努力 三、观察者模式       观察者模式,又叫发布--订阅模式、模型--视图模式、源--监听器模式或从属者模式。观察者模...

2013-04-17 20:46:05 1201 0

转载 linux grep命令

1.  grep中应用正则表达式的实例:     需要说明的是下面所涉及的正则表达式在上一篇中已经给出了详细的说明,因此在看下面例子的时候,可以与前一篇的正则说明部分结合着看。     /> cat testfile     northwest        NW      Charl...

2013-04-14 18:20:29 1000 0

转载 linux shell正则表达式

Linux Shell环境下提供了两种正则表达式规则,一个是基本正则表达式(BRE),另一个是扩展正则表达式(ERE)。     下面是这两种表达式的语法列表,需要注意的是,如果没有明确指出的Meta字符,其将可同时用于BRE和ERE,否则将尽适用于指定的模式。 正则元字符 ...

2013-04-14 17:25:07 1232 0

原创 设计模式之一:策略模式

《Head First设计模式》第一章学习笔记 一、OO基础:   抽象、  封装、  多态、  继承 二、OO原则: 1、封装变化      1)找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。   换句话说:把会变化的部分取出并封装起来,以便以后可...

2013-04-06 15:59:48 1647 0

原创 linux top命令

top命令经常用来监控linux的系统状况,比如cpu、内存的使用等。 top命令执行结果如下图所示: top前五行统计信息 第一行: 15:48:01 表示当前系统时间。 up 391 days, 22:56 表示系统已经运行了391天22小时56分钟(在这期间没有重启过) 1 ...

2013-04-05 16:33:11 1460 0

原创 java io

左边字节流,右边字符流 java io,使用了装饰器模式,已输入流为例: InputStream,是装饰器模式中的抽象组件; FileInputStream、ByteArrayInputStream、ObjectInputStream等类是具体的组件,可以被其他装饰器包装起来; Fil...

2013-03-28 20:07:56 1554 0

转载 Java程序员应该知道的10个调试技巧

本文转自:http://soft.chinabyte.com/database/273/12553773.shtml     Java程序员应该知道的10个调试技巧       调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷。对于Java程序员来说,他们不仅要学会如何在Eclipse里面开...

2013-03-06 07:39:53 1450 0

原创 Spring容器中的Bean几种初始化方法和销毁方法的先后顺序

Spring 容器中的 Bean 是有生命周期的,Spring 允许 Bean 在初始化完成后以及销毁前执行特定的操作。下面是常用的三种指定特定操作的方法: 通过实现InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法;通过 元素的 ini...

2013-03-03 17:10:34 78033 1

原创 awk入门

awk简介     awk是一种用于处理文本、模式匹配的编程语言。与sed和grep,俗称Linux下的三剑客。     awk将文本文件视为由字段和记录组成的文本数据库。它将输入解析成多个记录,默认情况下,记录的分隔符是\n,因此可以认为一行就是一个记录,记录的分隔符可以通过内置变量RS更改...

2013-01-12 15:08:33 1406 0

转载 又一篇深入分析ConcurrentHashMap的文章

本文转自:http://www.infoq.com/cn/articles/ConcurrentHashMap 之前的一篇文章是:http://blog.csdn.net/caihaijiang/article/details/7435828 线程不安全的HashMap 因为...

2012-11-24 14:50:16 1281 0

转载 可重入与线程安全

本文转自:http://zh.wikipedia.org/wiki/%E5%8F%AF%E9%87%8D%E5%85%A5 若一个程序或子程序可以“安全的被并行执行(Parallel computing)”,则称其为可重入(reentrant或re-entrant)的。即当该子程序正...

2012-11-10 10:11:29 976 0

原创 性能相关

术语: TPS:Transaction Per Second,代表每秒钟系统能够处理的事务的数量。 Load:系统平均负载,被定义为在特定时间间隔内运行队列中的平均进程数 QPS:Query Per Second 每秒钟内完成的请求数量,是对一个特定的查询服务器在规定时间内所处理流量多少的衡...

2012-08-12 10:36:15 945 0

转载 java.lang.String的substring、split方法引起的内存问题

本文大部分内容,摘自下面两篇文章:            http://blog.xebia.com/2007/10/04/leaking-memory-in-java/、             http://www.iteye.com/topic/626801 先用一个极端例子说明Str...

2012-07-15 13:51:24 7058 1

原创 MAT分析JAVA内存问题

Java的内存泄露多半是因为对象被遗留在全局的HashMap中得不到释放,如果发现Java应用程序占用的内存出现了泄露的迹象,那么我们一般采用下面的步骤分析:     1. 把Java应用程序使用的heap dump下来     2. 使用Java heap分析工具(如MAT),找出内存占用超...

2012-07-13 20:28:49 16125 0

原创 mysql函数

函数IFNULL 语法:IFNULL(expr1,expr2)    功能:如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。 IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。      函数IF 语法:IF(expr1...

2012-05-20 19:26:47 1127 0

原创 使用JSR303进行参数校验

JSR 303 – Bean Validation 是一个数据验证的规范。 在任何时候,当你要处理一个应用程序的业务逻辑时,必须要考虑数据校验,确保输入进来的数据从语 义上来讲是正确的。在通常的情况下,应用程序是分层的,不同的层由不同的开发人员来完成。很多时候同样的数据验证逻辑会出现在不同的层,...

2012-04-15 19:52:07 13355 1

原创 Spring事件体系

Spring事件体系包括三个组件:事件,事件监听器,事件广播器。 事件:ApplicationEvent 事件监听器:ApplicationListener,对监听到的事件进行处理。 事件广播器:ApplicationEventMulticaster,将Springpub...

2012-04-14 16:22:33 14012 3

原创 Java并发集合类

在Java类库中出现的第一个关联的集合类是 Hashtable。 Hashtable 提供了一种易于使用的、线程安全的、关联的map功能。然而,线程安全性付出代价是――Hashtable 的所有方法都是同步的。Hashtable 的后继者HashMap 是作为JDK1.2中的集合框架的一部分出现的...

2012-04-08 11:16:55 7818 0

转载 探索 ConcurrentHashMap 高并发性的实现机制

今天看到“探索 ConcurrentHashMap 高并发性的实现机制”这篇文章,感觉很不错,所以转过来收藏。                                         探索 ConcurrentHashMap 高并发性的实现机制 简介 ConcurrentHashMa...

2012-04-07 19:18:43 1932 2

原创 TCP状态

在使用命令 netstat -a时,可以看到结果中,有一列state,该列的值,通常有:ESTABLISHED、CLOSE_WAIT、TIME_WAIT等。这些值,都是TCP的一些状态。 TCP初始化连接以及连接关闭时,均涉及到状态的变迁。 TCP三次握手,初始化连接:客户端向服务器端发SYN...

2012-03-18 10:07:06 3773 0

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