- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 mybatis自动扫描mapper的工作原理
在mybatis中,我们可以在配置文件中使用自动扫描,也就是在mappers中使用package,但是mybatis的扫描原理是什么呢?首先在mybatis中读取配置文件中的mappers元素,在这个元素中分成两类处理:mapper和package,mapper不在我们的讨论之内,我们只是研究package,这个标签就是自动扫描的配置.下面是处理package的代码String m
2015-07-21 12:35:07 6366
原创 spring mvc注解的处理器适配器为什么不能处理非注解的处理器映射器映射的handler
最近学习使用spring mvc,发现注解的处理器适配器不能处理非注解的处理器映射器映射的handler,感觉比较奇怪,注解的处理器适配器并没有什么限制,为什么不能处理呢?为了究其原因,查看了一下源码,发现在spring mvc中处理器适配器的判断中有一个类型判断,注解的处理器适配器的判断的代码如下handler instanceof HandlerMethod && supportsInte
2015-07-19 10:01:11 775
原创 java中ArrayList中为什么elementData使用了transient
今天看到有人说在java中返回了list,如果需要使用数组怎么处理?我就在如果使用的是ArrayList,ArrayList使用了数组,虽然ArrayList中的数组是private的,但是可以使用反射获取到啊?就查看了一下源码,发现其中定义了一个elementData,但是这个数组既然使用transient,我记得使用transient的变量在序列化的时候,不会序列化,那如果我需要将这个对象
2016-02-03 10:33:47 3812 2
原创 js模拟java的继承
最近在通过JavaScript设计模式研究js的继承.但是作为java出身,由于java提供了语言级别的继承,对于js要使用其他手段来实现继承还是有比较多的障碍的,故写一篇博客来记录自己的一个学习心得.我们都知道js使用原型链的方式来实现属性和方法的搜索,js本职上是不提供继承的,但是由于js的function对象的原型时暴露的,我们可以通过更改一个function对象的原型来达到继承的目
2016-02-02 23:10:45 677
原创 SimpleDateFormat线程安全的问题
今天在代码中看到在方法中使用SimpleDateFormat这儿类,我就想既然使用的格式化的格式是一样的为什么要在每次都new一个对象出来呢,而不是使用在成员变量中??带着这个问题,查询的一些关于SimpleDateFormat的format这个方法是否是线程安全的(参考blog.csdn.net/zxh87/article/details/19414885), 查看JDK关于format的实
2016-01-21 11:13:42 345
原创 一些常用的网站
maven学习网站中文:http://www.yiibai.com/maven/, 英文:http://maven.apache.org/maven仓库:http://repo1.maven.org/maven2/ ;http://repository.jboss.com/maven2/ ;http://repository.sonatype.org/content/group
2015-12-24 14:16:43 331
原创 c语言const和c++的const的区别
我们都知道,在c语言中我们使用const表示当前的变量是只读的,但是这个只读是否是绝对的,其实并不是,如果我们使用特殊的手段,我们其实是可以改变的,请看下面的代码#include int main(void){ const int i = 0; int j = 1; int *p = &j; p[1] = 1; printf("%d\n", i); return 0;}
2015-10-31 20:42:33 478
原创 i = i++为什么会是i原来的值??
今天在公司的时候,突然研究了一下++i和i++;刚开始还没有感觉有什么异常,现在想想,问什么i = i ++会是i原来的值呢?感觉有点意外!特意使用javap查看了一下编译之后的字节码发现了其中的原因!字节码如下 0: iconst_0 1: istore_1 2: iload_1 3: iinc 1, 1 6: istore_1 7: re
2015-08-13 23:56:28 801
原创 java中++i和i++是否一样
今天同事之间在讨论String字符串拼接的效率问题,使用javap查看字节码,突然想看看++i和i++在字节码上的区别.代码:int j = 0;j++;使用javap查看编译之后的字节码0: iconst_01: istore_12: iinc 1, 15: return代码:int j = 0;++j;使用Javap
2015-08-13 16:17:30 444
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人