- 浏览: 13877 次
- 性别:
- 来自: 宜昌
最新评论
文章列表
1. 首先equals()和hashcode()这两个方法都是从object类中继承过来的。
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们必需清楚,当String 、Math、还有Integer、Double等这些封装类在使用equals()方法时,已经覆盖了object类的equals()方法。比如在String类中就是进行的内容比较,而已经不再是地址的比较。依次类推Double、Intege ...
1. char
固定长度,最长n个字符。
2. varchar
最大长度为n的可变字符串。
(n为某一整数,不同数据库,最大长度n不同)
char和varchar区别:
varchar必char节省空间,但在效率上比char稍微差一些。
说varchar比char节省空间,是因为varchar是可变字符串,比如:用varchar(5)存储字符串“abc”,只占用3个字节的存储空间,而用char(5)存储,则占用5个字节(“abc ”)。
说varchar比char效率稍差,是因为,当修改varchar数据时,可能因为数据长度不同,导致数 ...
1. 建筑工程中也有类似软件工程中的需求分析人员、设计人员与构建人员。其中需求分析人员通常也是甲方本身(或甲方单独雇佣的独立于乙方的组织或人员)。需求分析人员负责提出建筑本身的所有需求。设计人员( ...
load和get一共是2个区别
第一个 延迟加载
load是true而get是false
意 思就是 load采用的是延迟加载的方式 而get不是,hibernate思想是 既然这个方法支持延迟加载 他就认为这个对象一定在数据库存在,在你 声明 TFaq tfag2=(TFaq)sess.load(TFaq.class, 300); 这句时候,hibernate就干了一件事
1.查询session缓存
2.缓存中没有这个对象 就创建个代理
因为延迟加载需要代理来执行 所以就创建了个代理
ok 到此为止 这句话就干了个这个 并没有去数据库交互查询
当你使用这个对象 比如tfag2. ...
咱们通过 get load Query对象取出的数据都是持久态的
1.为什么叫持久态的呢:是咱们在事物提交时候 如果提交了这个对象这个对象之前的操作都会被存入数据库,持久态只有在事物提交后才能真正的持久也就是数据库数据改变 这 ...
通过二级缓存提升Hibernate应用的性能
刚刚接触Hibernate的开发工程师有时不理解Hibernate的缓存,并合理地使用。如果能够很好地使用,二级缓存会成为提高应用性能的最有效的方式。
作者 John Ferguson Smart 译者 张立明(baccc@sin ...
Collection:List、Set
Map:HashMap、HashTable
如何在它们之间选择
一、Array , Arrays
Java所有“存储及随机访问一连串对象”的做法,array是最有效率的一种。
1、
效率高,但容量固定且无法动态改变。
array还有一个缺点是,无法判断 ...
摘要
Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、实现 ...
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。
问题一:我声明了什么!
String s = "Hello world!";
许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。
这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向"Hel ...
我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到 ...
http://www.cnblogs.com/huguohong/archive/2007/05/23/757503.html
接口是对行为的抽象;
抽象类是对类的抽象。
类是对对象的抽象。
类包含属性、方法、事件。
这里的方法就是“行为”。
属性可以理解为类具有的“状态”。
事件是类告知使用者(外部类)其状态发生变化的特殊方法。
也就是说,接口是对类的局部(行为)进行的抽象,而抽象类是对类整体(属性、方法、事件)的抽象。
如果只关注行为抽象,那么也可以认为接口就是抽象类。
打个比方说,汽车、自行车、三轮车,可以抽象其为运输工具,
运输工具就是关注“行为”而抽象的。
总之,不论 ...
http://www.cnblogs.com/KeithDan/archive/2007/05/21/754164.html
好象这是一个老生常谈的问题,最近有个学生问我他们的区别,于是我就又想起这个话题。
有不少的文章在描述这两者,但好象都没有怎么从初学者的浅显角度来看。
其实这两者有很多相识之处,当然也有很多不同之处。要理解它们,应该先从面向对象思想开始。面向对象思想里面,最基本的就是封装,继承和多态。所谓封装,说的小,方法(函数)也就是对一种操作的封装,说的大,用类来描述一个具体的对象。
那么在面向对象程序中应该说对封装还有一层新的定义,即将类的描述抽象化,也就是说描述类的外貌而 ...
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。
理解抽象类
ab ...