![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
文章平均质量分 67
Crazy丶Mark
这个作者很懒,什么都没留下…
展开
-
JDK1.8接口的默认实现
很多时候,别人问我接口和类的区别的时候,我都会回答接口里面只能有抽象方法,而不能够有具体方法,但是今天看Mybatis源码的时候,发现了有一段代码是判断接口里面的默认方法的,于是我发现原来对接口的认识太过于肤浅了。JDK1.8之后,在接口里面可以定义default方法,default方法里面是可以具备方法体的,当子类实现该接口之后,不需要重写该方法即可以调用该方法。ok,看看代码/...原创 2018-03-31 16:47:20 · 12060 阅读 · 4 评论 -
什么是面向对象?
什么是面向对象?你真的理解了吗?可能大家听过很多关于面向对象的描述,各种各样的,很抽象很难以理解,面向对象其实并不复杂,每一个人的面向对象都是不同的。我先来说说我对面向过程以及面向对象的理解:面向过程:关注点在于做了什么,描述的是发展的过程面向对象:关注点在于能做什么,描述的是对象与对象之间的关系。那么什么对象到底是什么呢?下面我来举一个简单的例子:小明要去吃饭,把这句话用代...原创 2018-04-03 11:32:35 · 2228 阅读 · 0 评论 -
HashCode详解
HashCode详解起初的时候我一直认为hashcode是内存地址的一个映射,但是今天仔细研究了一下hashcode,以往的认识就这样无情的被颠覆了。起初我把对象的内存地址和hashcode一起输出,由于java是不建议用户之间操作内存的,所以一般情况下是不能够拿到对象的内存地址,但是Java留了一个后门:Unsafe,通过Unsafe类我们可以访问到对象的内存地址public class ...原创 2018-09-27 17:51:09 · 4483 阅读 · 10 评论 -
.equals()、.hashcode()和==之间的联系与差异
在说这个问题之前,我先说一下几个概念内存地址:存放对象的物理地址hashcode: hashcode是jdk为对象生成的一个int类型的数,并且保证在同一个jvm中,对于同一个对象每次返回的都是同一个hashcode(具体生成方式请看hashcode详解)hash冲突:hashcode发生重复我们先看看在Object中是怎样定义.equals()和.hashcode()的publi...原创 2018-09-28 14:34:26 · 997 阅读 · 0 评论