- 博客(21)
- 收藏
- 关注
原创 JVM的类加载过程
classloader准备一个类大致分为三步:1 加载查找并加载类的class文件的二进制数据到内存中,将其存放在运行时数据区的方法区内,然后在堆区创建一个Class对象,用来封装在方法去内的数据结构2 链接将已经读入到内存中的类的二进制数据合并到虚拟机的运行时环境中去(1)验证:确保被加载类的正确性,包括类文件结构检查,语义检查,字节码验证,二进制兼容性验证(2)为类的静...
2011-06-01 23:35:24 123
原创 typehandler的使用
在iBatis中(现在已经更名为mybatis),当要实现在某个数据表字段和POJO的property之间做特殊类型的转换时,如果两个类型转换不是iBatis默认支持的,需要自己实现一个TypeHandler来满足要求。TypeHandler是iBatis中定义的接口public interface TypeHandler { public void setParameter(P...
2011-02-18 15:42:51 351
原创 iBatis小经验
1. 在MySQL下,对于autoincrement的pk,在insert的时候是通过last_insert_id()来获得。但如果插入失败,MySQL会返回最近一个insert结果的id,对于insert后要获取id来进一步处理的时候,可以结合row_count()来判断是否insert成功select if(row_count() > 0, last_insert_id(), 0) as ...
2010-09-20 10:21:45 113
原创 Spring AOP的配置方式
在Spring中实现AOP根据版本不同,可以有大致四种配置方式。现简单列一下。在介绍Spring的AOP配置方式前,先要注意Spring中Advisor的概念。在Spring中Advisor是Advice和Pointcut的结合,但它还不是AOP概念上的Aspect。因为在Spring中Advisor还是Spring用来生成Aspect对象的一个原型,根据配置的不同,Spring可以只对某个类生成...
2010-09-17 17:09:23 423
原创 Spring对AOP的支持和限制
目前AOP的三个主要实现为AspectJ(http://eclipse.org/aspectj)JBoss AOP(http://labs.jboss.com/portal/jbossaop/index.htmlSpring AOP(http://www.springframework.org)惭愧,目前还只是初步了解Spring AOP,对另外两个完全无知 :oops: 希望...
2010-09-15 15:28:44 521
原创 对Spring AOP中一些概念的理解
AOP可以方便的实现一些交叉事务的功能,使程序员能够专注于主要的业务逻辑。同事,也提高了程序的可维护性。但AOP的一些概念个人感觉比较难理解,而且翻译成中文就更晦涩难懂。自己慢慢有了一些体会,为了对付烂记性,写的不一定对,如果哪里有错误了,还希望网友能给指正。先谢谢了Advice:通知Advice定义了切面做什么,什么时候做。这里切面这个词又引入了另外的概念,这不循环定义了么?我的理解...
2010-09-15 15:00:47 109
原创 策略模式
定义:策略模式定义算法族,分别封装起来,算法之间可以互相替换。算法的变化独立于使用算法的客户。说白了,就是如果我定义一个类A,而这个类的某些行为相对独立而又经常变化,那么就可以将这些行为封装为B,并通过使用不同的实现类B1,B2等来实现行为的变化。在开发中,会碰到一个类的某些行为在子类间是不同的,一些子类是这样,而另外一些又是那样。如果通过继承,将行为定义在父类中,则不能兼顾子类的...
2010-01-21 01:08:54 83
原创 freemarker的eclipse插件
临时要用freemarker,可选的几个eclipse插件(1)http://freemarker-ide.sourceforge.net/ ,没用过(2)http://sourceforge.net/project/showfiles.php?group_id=163305解压的plugin下,另外再把插件内freemarker的jar包用freemarker最新的替换掉,再编辑一下...
2010-01-13 16:33:21 91
原创 MySQL学习比较--INSERT
全columns插入,指定全部列值:INSERT [IGNORE] INTO table_a VALUES (....);指定部分列INSERT INTO table_a (column_a, column_b, ....) VALUES (...)使用query结果INSERT INTO table_a (colume_a, column_b )SELECT co...
2010-01-13 16:28:06 101
原创 MySQL学习笔记--数据备份与恢复
数据备份:mysqldump --user=user --password=pwd --result-file=data.sql --where="where condition" database_name table_name恢复:从命令行或者mysql client导入查看mysql日志:mysqlbinlog log_path从日志恢复数据:mysqlb...
2010-01-13 16:27:47 107
原创 MySQL学习笔记--INDEX
如果用几个COLUMN共同建立了一个INDEX,如果查询时只指定了部分的字段,如果满足以下条件,也可以利用INDEX:(1)建立INDEX的前n个字段必须出现在查询条件中,出现几个字段,MySQL就可以索引到第几个层次(2)查询中不能有没有建立INDEX的COLUMN用于OR子句使用索引的小技巧:(1)如果有多个字段一起建立INDEX,那么重复值越高的COLUMN在建立索引的子...
2010-01-13 16:27:12 300
原创 Ruby开发环境配置
一、学习Ruby离不开的网站Ruby的项目主页:http://www.ruby-lang.orgRuby开源项目:http://rubyforge.org/,包括Rake,ActiveRecord等都汇集于此Ruby文档:http://www.ruby-doc.org/二、安装Ruby目前大多数的Linux发行版都已经自动安装Ruby,Windows下可以选择install...
2009-12-03 18:33:10 219
原创 MySQL学习笔记--SELECT
一、Aliases:(1)Column Aliasesaliase不能用在WHERE,USING,ON等子句中(2)Table Aliases多用来实现单一表的关联查询。比如,在一个唱片表album(artist_id, album_id, album_name)中,想要知道是否有不同人的唱片同名,不用aliases就无法实现:SELECT a1.artist_id, a2.a...
2009-09-14 22:25:12 96
原创 MySQL学习笔记--数据类型
方括号中的属性可以在DDL语句中控制COLUMN的详细属性一、整数型1.INT[(width)][UNSIGNED][ZEROFILL]MySQL用4 bytes存储INT型数据,其值在-2,147,483,648到2,147,483,647之间,如果选择了UNSIGNED类型,那么值在0到4,294,967,295。INT和INTEGER可以互换。(width)指定了数字的位数,如果...
2009-08-23 13:57:32 116
原创 MySQL学习笔记--DDL
1.创建数据库CREATE DATABASE [IF NOT EXISTS] database_name [DEFAULT CHARACTER SET character_set_name COLLATE collate_name]COLLATE决定了选择的字符集在作字符串排序时候的顺序规则2.删除数据库DROP DATABASE3.创建表CREATE [TEMPO...
2009-08-22 21:57:35 134
原创 MySQL学习笔记--常用命令
1:SHOW(1)SHOW DATABASES [LIKE condition]; --你有权限使用的数据库,可以匹配LIKE条件,等效命令行工具mysqlshow --user=your_user --password=your_passwordSHOW CREATE DATABASE database_name; --查看创建数据库的DDL语句(2)SHOW TABLES...
2009-08-22 16:59:15 113
原创 MySQL学习笔记--UPDATE
一、UPDATEUPDATE talbe_name SET column_name=value [WHERE condition][ORDER BY column_name][LIMIT count]多表UPDATEUPDATE table_a INNER JOIN table_b USING (column_a_b)INNER JOIN table_c USING (colu...
2009-08-22 16:45:53 102
原创 MySQL学习笔记--DELETE and TRUNCATE
1:DELETEDELETE FROM table_name [WHERE condition][ORDER BY column_name] LIMIT countWHERE条件复杂,涉及到其他表的话,需要使用USINGDELETE FROM table_a, table_b USING table_a, table_b, table_c, table_dWHERE ....;...
2009-08-22 16:35:54 89
原创 MySQL学习笔记--启动与停止
最近打算系统学习下MySQL,自己记性又不好,所以在这里bla一下Windows下(1)通过系统服务启动net start mysqlnet stop mysql(2)命令启动启动mysqld --no-defaults停止mysqladmin --user=root --password shutdown停止可以,但启动mysqladmin会报告mysqld停...
2009-08-21 17:45:35 106
原创 从现在开始
俗话说“好记性不如烂笔头”,看来确实如此。07年就这么糊里糊涂的过去了,回头想想,似乎做了一些事,似乎又什么都没有留下。所认觉得确实还是应该找个地方写下点什么,免得明年回想得时候又似乎什么都没有留下了……昨天被第一次扣了故障分,心情有点郁闷,不过既然选择了做开发,当然这种事也是不可避免的,所以还是劝自己看开点,仔细分析一下原因吧,以后吸取教训:(1)当然是自己不够小心,犯了错误。在这点上,
2008-02-29 13:53:00 191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人