2012年4月20日

让数据库变快的10个建议(转)

摘要: 大多数网站的内容都存在数据库里,用户通过请求来访问内容。数据库非常的快,有许多技巧能让你优化数据库的速度,使你不浪费服务器的资源。在这篇文章中,我收录了十个优化数据库速度的技巧。AD:大多数网站的内容都存在数据库里,用户通过请求来访问内容。数据库非常的快,有许多技巧能让你优化数据库的速度,使你不浪费服务器的资源。在这篇文章中,我收录了十个优化数据库速度的技巧。0. 小心设计数据库第一个技巧也许看来理所当然,但事实上大部分数据库的问题都来自于设计不好的数据库结构。譬如我曾经遇见过将客户端信息和支付信息储存在同一个数据库列中的例子。对于系统和用数据库的开发者来说,这很糟糕。新建数据库时,应当将信息 阅读全文

posted @ 2012-04-20 14:01 要么牛逼,要么滚蛋 阅读(204) 评论(0) 推荐(0) 编辑

Hibernate复合主键的使用(转)

摘要: 对于新系统的设计开发而言,我们应尽量避免在库表中引入与业务逻辑相关的主键关系。将业务逻辑主键引入库表,以后业务逻辑的变化,将很可能对底层数据库结构产生连带影响。复合主键的引入,很大程度上意味着业务逻辑已经侵入到数据存储逻辑之中。因此,应尽量避免。但实际情况中,我们必须面对遗留系统的旧表开发,这时,对现有复合主键的支持就非常必要。hibernate中,通过composite-id节点对复合主键进行定义。我们可以通过两种形式确定主键:1)基于实体类属性的复合主键2)基于主键类的复合主键下面通过例子看一下两种方式的用法。我们建一个用户表user(firstname, lastname, age),以 阅读全文

posted @ 2012-04-20 13:49 要么牛逼,要么滚蛋 阅读(1000) 评论(0) 推荐(0) 编辑

Hashtable与HashMap引发的血案(java)(转)

摘要: 人物:王小胖:性别:男。程序员,工作经验 1 year 。爱好:吃肉、电玩、马小花。特技:吃肉不用考虑胃的容量。马小花:性别:女。学生,工作经验 0 year 。爱好:蛋糕、臭美、王小胖。特技:能够降服王小胖……/**2011 年 2 月, 电影《将爱情进行到底》火得不得了。周末,小胖也陪着小花去看这部电影。放映中,小花被影片中的靖哥哥和杜拉拉感动的一沓糊涂,而小胖则心里暗自后悔没有 买一袋大爆米花来打发这无聊的时间。影片结束,小花已经是鼻涕一把泪一把,小胖也只有装模作样地抽动了几下鼻子,一心只想着一会儿是吃麦当劳还是必胜客。 */回到家中,小胖和小花各自玩着电脑。小花:胖子,你知道 Hash 阅读全文

posted @ 2012-04-20 13:40 要么牛逼,要么滚蛋 阅读(352) 评论(0) 推荐(0) 编辑

Java Hashtable分析(转)

摘要: Hashtable的结构,采用的是数据结构中所说的链地址法处理冲突的方法从上面的结构图可以看出,Hashtable的实质就是一个数组+链表。图中的Entry就是链表的实现,Entry的结构中包含了对自己的另一个实例的引用next,用以指向另外一个Entry。而图中标有数字的部分是一个Entry数组,数字就是这个Entry数组的index。那么往Hashtable增加键值对的时候,index会根据键的hashcode、Entry数组的长度共同决定,从而决定键值对存放在Entry数组的哪个位置。从这种意义来说,当键一定,Entry数组的长度一定的情况下,所得到的index肯定是相同的,也就是说插入 阅读全文

posted @ 2012-04-20 11:13 要么牛逼,要么滚蛋 阅读(872) 评论(0) 推荐(0) 编辑

java数据结构-HashMap(转)

摘要: 一直以来似乎都有一个错觉,认为map跟其他的集合类一样继承自Collection,其实不然,Map和Collection在结构层次上是没有任何关系的,通过查看源码可以发现map所有操作都是基于key-value对,而不是单独的元素。下面以HashMap为例子,深入对Map的实现机制进行了解,在这个过程中,请打开jdk源码。Hash算法HashMap使用Hash算法,所以在解剖HashMap之间,需要先简单的了解Hash算法,Hash算法一般也成为散列算法,通过散列算法将任意的值转化成固定的长度输出,该输出就是散列值,这是一种压缩映射,也就是,散列值的空间远远小于输入的值空间。简单的说,hash 阅读全文

posted @ 2012-04-20 10:54 要么牛逼,要么滚蛋 阅读(884) 评论(0) 推荐(0) 编辑

java中HashSet详解(转)

摘要: HashSet 的实现对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,查看 HashSet 的源代码,可以看到如下代码: public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable { // 使用 HashMap 的 key 保存 HashSet 中所有元素 private transient HashMap< 阅读全文

posted @ 2012-04-20 09:58 要么牛逼,要么滚蛋 阅读(315) 评论(0) 推荐(0) 编辑

java Native Method初涉(转)

摘要: 一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。 "A native method is a Java method whose implementation is provided by non-java code." 在定义一个native m 阅读全文

posted @ 2012-04-20 09:29 要么牛逼,要么滚蛋 阅读(213) 评论(0) 推荐(0) 编辑

深入理解HashCode(转)

摘要: 在面试的时候被问到hashCode的作用,那时我没答好,所以现在在网上找了一些例子和讲解,现在总结一下:哈希码产生的依据:哈希码并不是完全唯一的,它是一种算法,让同一个类的对象按照自己不同的特征尽量的有不同的哈希码,但不表示不同的对象哈希码完全不同。也有相同的情况,看程序员如何写哈希码的算法。下面给出几个常用的哈希码的算法:1:Object类的hashCode.返回对象的内存地址经过处理后的结构,由于每个对象的内存地址都不一样,所以hashcode可以做到尽可能的不一样,但我们要清楚一点,既然是用到hash技术,就是要解决冲突的,所以hashcode是会出现相同的时候,我们可以将hashCod 阅读全文

posted @ 2012-04-20 09:24 要么牛逼,要么滚蛋 阅读(1445) 评论(0) 推荐(1) 编辑

导航