- 博客(21)
- 资源 (42)
- 收藏
- 关注
原创 Spring BeanFactory、ApplicationContext层次结构和BeanDefinition解析过程
先说层次架构// 水桶和上下文类层次概要(还有如何打水)// 当你在使用FileSystemXmlApplicationContext之类的类时,你会感觉里面的方法调用错综复杂,层次很多。// 那么,我们先从主要类的作用和层次说起,让我们有个大体的概念和印象,便于后面的分析。class Waterpot { // 水桶: // 顺序基本是按照继承的先后顺序 //
2012-05-29 22:40:27 4953
原创 Bean第一次从容器获取的时候,如果bean配置了lookup-method,那么就使用了cglib来进行调用方法转换
Bean第一次从容器获取的时候,如果bean配置了lookup-method,那么就使用了cglib来进行调用方法转换:我们默认的容器DefaultListableBeanFactory,其中的getBean加载的时候会走到下面的代码:org.springframework.beans.factory.support.SimpleInstantiationStrategy:
2012-05-27 19:27:45 2439
原创 单键索引是否会一个sql走多个?
当你的sql可以匹配到多个单间索引的时候,大家一般都认为只走一个索引。mysql> \s--------------mysql Ver 14.14 Distrib 5.1.48, for Win32 (ia32)Connection id: 13Current database: pk_testCurrent user: root@
2012-05-23 17:43:17 1457
原创 第39条:必要时进行保护性拷贝
假设类的客户端会尽其所能来破坏这个类的约束条件,因此你必须保护性的设计程序。demo:import java.util.Date;public final class Period { private final Date start; private final Date end; public Period(Date start,Date end) { if(star
2012-05-22 23:26:34 3125 3
原创 第38条:检查参数的有效性
每当编写方法或者构造器的时候,应该考虑他的参数有哪些限制。应该把这些限制写到文档中,并且在这个方法体的开头处,通过显式的检查来实施这些限制。养成这样的习惯是非常重要的。demo:1\对于公有的方法,要用Javadoc的@throws标签(tag)在文档中说明违反参数值限制会抛出异常。手工抛出异常,并且添加@throws注解说明原因 /** * hello.....
2012-05-22 22:02:15 2523
原创 合理应用HashMap扩容
public class HashMapextends AbstractMapimplements Map, Cloneable, Serializable此实现假定哈希函数将元素适当地分布在各桶之间,可为基本操作(get 和 put)提供稳定的性能。迭代 collection 视图所需的时间与 HashMap 实例的“容量”(桶的数量)及其大小(键-值映射关系数)成比例。所以
2012-05-18 13:28:56 7141
原创 MySQL查看表占用空间大小
//先进去MySQL自带管理库:information_schema //自己的数据库:dbwww58com_kuchecarlib //自己的表:t_carmodelparamvaluemysql> use information_schema;Database changedmysql> select data_length,index_length -> from tab
2012-05-18 13:07:10 4690 1
原创 尽量确定StringBuffer的容量
“StringBuffer 的构造器会创建一个默认大小(通常是16)的字符数组。在使用中,如果超出这个大小,就会重新分配内存,创建一个更大的数组,并将原先的数组复制过来,再 丢弃旧的数组。在大多数情况下,你可以在创建 StringBuffer的时候指定大小,这样就避免了在容量不够的时候自动增长,以提高性能。 如:StringBuffer buffer = new StringBuf
2012-05-18 10:23:26 4719 1
原创 JDK的命令行工具
这些命令行工具大多数是lib\tools.jar类库的一层薄包装而已,他们主要的功能代码是在tools类库中实现的。tools.jar中的类库不属于Java的标准API,如果引入这个类库,就意味着你的程序只能运行在Sun Hotspot(或一些从Sun买了JDK源码License的虚拟机,如IBM J9、BEAJRockit)上面,或者在部署程序时需要一起部署tools.jar。
2012-05-13 22:17:36 2433
转载 System.out.println performance
Any system that logs vast amounts of information, needs to think about performance. The activity of logging cannot be a synchronous blocking call that returns only when the message has been logged to
2012-05-10 13:52:49 892
转载 MySQL InnoDB Primary Key Choice: GUID/UUID vs Integer Insert Performance
When working with MySQL it is common to choose auto incrementing integer primary keys; however, there are situations where using a GUID/UUID is desirable. For example, prior to MySQL 5.0, you were una
2012-05-09 14:06:32 1654
转载 js获取当前浏览器版本
var Sys = {}; var ua = navigator.userAgent.toLowerCase(); if (window.ActiveXObject) Sys.ie = ua.match(/msie ([\d.]+)/)[1] else if (document.getBoxObjectFor) Sys.firefox = ua.match(/firefox\/([\
2012-05-08 15:49:17 1990 2
转载 Linux上JDK的 安装和卸载 详细
安装1. 去http://java.sun.com/j2se/1.4.2/download.html 下载一个Linux Platform的JDK,建议下载RPM自解压格式的(RPM in self-extracting file,j2sdk-1_4_2_06-linux-i586-rpm.bin);2. 上载到Linux服务器上,在shell下执行命令:[root
2012-05-07 16:38:17 720
原创 MySQL性能调优与架构设计--第九章MySQL数据库Schema设计的性能优化
很多人都认为性能是在通过编写代码(程序代码或者是数据库代码)的过程中优化出来的,其实这是一个非常大的误区。真正影响性能最大的部分是在设计中就已经产生了的,后期的优化很多时候所能够带来的改善都只是在解决前妻设计所遗留下来的一些问题而已,而且能够解决的问题通常也比较有限。适度冗余-让Query尽两减少Join:为了让我们的Query执行计划尽可能的最优化,最直接
2012-05-06 16:51:42 2181 1
原创 What is the difference between BIT and TINYINT in MySQL
What is the difference between BIT and TINYINT in MySQL?A TINYINT is an 8-bit integer value, a BIT field can store between 1 bit, BIT(1), and 64 bits, BIT(64). For a boolean values, BIT(1) is pr
2012-05-06 16:34:06 1418
原创 MySQL性能调优与架构设计--第八章MySQL数据库Query的优化
在MySQL中有一个专门负责优化SELECT语句的优化器模块,这就是我们本节将要重点分析的MySQLOptimizer,其主要的功能就是通过计算分析系统中收集的各种统计信息,为客户端请求的Query给出他认为最优的执行计划,也就是他认为最优的数据检索方式。在分析MySQLOptimizer的工作原理之前,先了解一下MySQL的QueryTree。MySQL的QueryTree是通过
2012-05-05 20:51:43 2053
原创 MySQL -- 调优查看
执行计划(explain):mysql> explain select * from (select * from learn_notbook a) b;+----+-------------+------------+------+---------------+------+---------+------+------+-------+| id | select_type | t
2012-05-05 17:59:25 846
原创 MySQL性能调优与架构设计--第七章MySQL数据库锁定机制
为了保证数据的一直完整性,出现了各种锁定机制。而锁定机制决定了一个数据库的并发处理能力和性能。数据库的锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问时变得有序所设计的一种规则。三种类型的锁定机制:行级锁定、页级锁定和表级锁定。行级锁定:最小粒度锁定,更大的并发处理能力,但是也最容易死锁,且对资源消耗比较大。表级锁定:最大粒度锁定,并发最艰
2012-05-05 17:58:08 1085
转载 InnoDB隔离级别与锁机制.txt
mysql> show global variables like 'tx_isolation';+---------------+-----------------+| Variable_name | Value |+---------------+-----------------+| tx_isolation | REPEATABLE-READ |+
2012-05-03 22:21:54 971
原创 nginx后的tomcat获取真实用户ip
目前大部分获取ip的方式:beat.getRequest().getRemoteAddr()但是,如果通过nginx反向代理的话,就获取不到真实ip,是获取的nginx的ip需要:添加 proxy_set_header X-Real-IP $remote_addr; server { listen 80;
2012-05-02 16:12:59 12041 1
转载 mysql profile功能
mysql的sql语句优化都使用explain,但是这个没有办法知道详细的Memory/CPU等使用量MySQL Query Profiler, 可以查询到此 SQL 语句会执行多少, 并看出 CPU/Memory 使用量, 执行过程 System lock, Table lock 花多少时间等等. mysql> show variables like 'profiling%';
2012-05-01 23:38:53 1224
p4jsecurity p4jmvc
2013-04-04
spring cache demo
2013-03-02
中国城市数据 示例
2013-02-05
中国城市数据
2013-02-05
p4jorm 1.6编译版本
2013-02-01
p4jorm 源码 文档 示例
2013-02-01
jbpm显示执行位置demo
2013-01-20
jbpm4 helloworld
2013-01-15
《partner4java 讲述Spring入门》之第一步:Spring概述与Spring IoC
2012-11-17
对JUnit的一点简单讲解包括一点简单的Android JUnit的讲解
2010-07-14
jbpm3.chm 作者Tom Baeyens 翻译dinghong JBoss jBPM 3.0
2009-09-21
JavaWEB开发-简单标签 ppt
2009-09-21
Java Web基础 Tomcat
2009-09-21
深入浅出Hibernate_夏昕.PDF
2009-09-21
JS中常用的xpath特性
2009-09-21
jQuery JavaScript Library v1.3.2
2009-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人