摘要: 之前看过一部分jdk的源码,发现看了之后又忘了,或者是看的不够深入,有次去面试:问我hashmap怎么实现的,结果我答的不怎么样,没答出一些关键部分,现在再重新开读读jdk的util包下的一些源代码:特别声明:小弟发博客纯属学习,若有错误,不当之处请指出!!!首先,我们大家都知道hashmap内部用的是散列实现,但是具体怎么实现的呢?如果解决冲突的呢?实现原理:hashmap用数组实现,数组中存放的是Entry类型的元素,每个Entry元素其实是一个key-value对,持有下一个元素的引用,这就说明table数组中的Entry元素还是某个Entry链表的首节点,指向该链表的下一个元素,所以h 阅读全文
posted @ 2012-09-13 22:17 softwa 阅读(571) 评论(0) 推荐(0) 编辑
摘要: 一、equals方法的作用1、默认情况(没有覆盖equals方法)下equals方法都是调用Object类的equals方法,而Object的equals方法主要用于判断对象的内存地址引用是不是同一个地址(是不是同一个对象)。2 、要是类中覆盖了equals方法,那么就要根据具体的代码来确定equals方法的作用了,覆盖后一般都是通过对象的内容是否相等来判断对象是否相等。没有覆盖equals方法代码如下://学生类 public class Student { private int age; private String name; public... 阅读全文
posted @ 2012-09-13 15:08 softwa 阅读(236) 评论(0) 推荐(0) 编辑
摘要: Select …forupdate语句是我们经常使用手工加锁语句。通常情况下,select语句是不会对数据加锁,妨碍影响其他的DML和DDL操作。同时,在多版本一致读机制的支持下,select语句也不会被其他类型语句所阻碍。但是有时我们的确需要再查询的时候不让其他语句操作,就需要用到这样的语句了。这篇文章中有详细解释:http://www.cnblogs.com/sunwei2012/archive/2010/12/13/1904390.html 阅读全文
posted @ 2012-09-13 14:11 softwa 阅读(135) 评论(0) 推荐(0) 编辑