- 博客(8)
- 收藏
- 关注
原创 为什么重写equals()方法时要重写hashcode()方法
在Object类中,hashcode()是是一个本地native方法,返回的是对象引用中存储的对象的内存地址,而equals方法是利用==来比较的也是对象的内存地址。如果两个对象equals返回true,那它们的hashcode必然相等。如果只重写equals方法,就不满足上面的条件。 如果不重写hashcode方法,HashSet和HashMap的特性会被破坏。哈希集合在判断是否重复的时候,首先...
2018-05-03 21:52:50 128
原创 String、StringBuffer、StringBuilder
对String对象进行substring、contact等操作时,不会在基础的String对象上进行改变,而是会产生一个新的字符串,保存操作后的字符串。String a = "I"+"love"+"You".JVM在执行这一段代码的时候,会优化为 String a = "IloveYou"。所以效率反而会很高,但是如果是几个String对象相加,那JVM就不会优化,效率就不会这么高。但是如果在一个...
2018-05-03 20:57:58 97
原创 equals和==的区别
==比较的是内存地址,是否引用的同一个对象。首先对于基础类型的数据而言,它们是函数而不是对象,所以不存在equals方法,==也就是直接比较的值。equals方法在Object类中,也是用的==比较,所以如果一个类没有重写equals方法,那它比较的也是内存地址。但是String中重写了equals方法,比较的是对象的值,也就是说如果两个string的内容一样,那它的equals和==返回的都是t...
2018-04-26 14:33:06 96
原创 事务隔离的级别
事务隔离分为四个级别。READ UNCOMMITTED。一个事务可以读另一个事务未提交的数据,是隔离级别最低的,也是基本没有应用的。脏读,不可重复读,幻读都会发生。READ COMMITTED。一个事务只会读取另一个事务提交后的数据,不会再出现脏读,但是会出现不可重复读和幻读。REPEATABLE READ。重复读,在开始读取事务的时候不允许另一个事务进行修改操作。会出现幻读。SERIALIZAB...
2018-04-08 16:11:45 127
原创 Spring学习
Spring的依赖注入问题。我们不再需要每一次使用对象是都NEW一个对象,而是通过Spring来getbean一个对象。这样做的好处是,如果你在很多地方new了一个类使用,下次需要把这个类替换成另一个类的时候,要做大量的替换工作。如果用了Spring的依赖注入,只需要改变你的配置文件就可以实现。当使用到一个BO的时候,重新new一个对象,需要对数据库进行操作的时候,是没有使用同一事务的,因为你需要...
2018-03-30 17:29:14 78
原创 Integer包装类
JAVA中的Integer包装类,主要的装箱操作,核心在于,有一个共享池,当Integer的值在-127~128时,会从存储在共享池里,不在这个范围内的值都会New一个新的Integer对象。...
2018-03-30 15:42:08 200
原创 github
1、在自己的GITHUB中新增一个库,最好与自己的本地库一致。 2、用gitbash生成一个SSHKEY,$ ssh-keygen -t rsa -C。然后把这个KEY添加到你的GITHUB账户中,这个KEY相当于是你电脑的唯一标识码,代表有这个权限去进行操作。 3、如果你的项目需要进行提交,命令行进入你的项目,GIT INIT生成一个GIT本地仓库 4、提交整个项目,GIT ADD . GIT...
2018-03-30 15:41:51 156
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人