要想理解它们俩之间区别,首先要了解一下它们的定义。 ==比较的是变量(栈)中存放的对象(堆)的内存地址是否相同,即是否指向同一个对象。比较是真正意义上的指针操作。 equals比较的是两个对象的内容是否相同,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该 ...
分类:
编程语言 时间:
2020-07-05 23:10:25
阅读次数:
60
JAVA线程虚假唤醒 线程虚假唤醒问题描述 ? 在JDK API文档中,关于Object类的wait()方法有这样一句话描述"线程也可以唤醒,而不会被通知,中断或超时,即所谓的虚假唤醒 。 虽然这在实践中很少会发生,但应用程序必须通过测试应该使线程被唤醒的条件来防范,并且如果条件不满足则继续等待", ...
分类:
编程语言 时间:
2020-07-04 22:26:00
阅读次数:
66
Object在java中是所有类的父类,默认所有类都继承了Object类。 Object类的结构,可以发现其最常见的toString()与equals()方法,还有getClass()方法。 Object类的toString()方法源码: public String toString() { ret ...
分类:
编程语言 时间:
2020-07-04 13:41:22
阅读次数:
61
Object Object类是Java中所有的的父类,相当于树结构中的根节点ROOT;如果一个类没有明确的标明继承自哪个类,都默认继承自Object类。所以,Java中所有的对象都能赋值给Object类型的引用(多态)。其次,由于子类中能够继承父类中的公开方法。因此,Object 类中所有的公开方法 ...
分类:
其他好文 时间:
2020-07-02 16:24:03
阅读次数:
59
Object Java所有引用类型父类都是Object(所以基础类型和Object不能强转) C#万事万物基于Object(包括值类型与引用类型) 泛型 Java的基础类型不能用泛型,因为不能强转为Object。Java泛型在编译后实际上放入时都是先强转Object类型,在取出的时候强转为实际类型。 ...
分类:
编程语言 时间:
2020-06-30 20:38:54
阅读次数:
68
tuple // 一项数组的项数已知,其中每一项的类型也已知 const arr: [string,number,string] = ['1',1,'1'] unknow any // any类型 变量可以进行任意赋值,实例化,函数执行 // unknown类型 只允许赋值,不允许实例化,函数执行 ...
分类:
其他好文 时间:
2020-06-29 17:18:55
阅读次数:
54
一、建造者模式(Builder) 工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的。我们看一下代码: 还和前面一样,一个Sender接口,两个实现 ...
分类:
编程语言 时间:
2020-06-29 09:18:03
阅读次数:
63
6.1LockSupport 跟wait()不同! 引入了一个许可证的概念。 void park()方法 检测此时的线程是否拥有许可证,有的话。就通过,没有的话就阻塞。 LockSupport.park():在哪儿调用就是检查哪个线程 void unpark(Thread thread)方法 Loc ...
分类:
编程语言 时间:
2020-06-28 20:24:13
阅读次数:
65
shh框架中遇到一个报错:java.lang.IllegalArgumentException: argument type mismatch。 将sql语句抽出来单独执行,正常出结果。 通过反复排查,各种简化缩小定位,花了一小时 发现是执行sql后,将data转对象时,对象的构造方法参数类型错误所 ...
分类:
编程语言 时间:
2020-06-27 09:20:58
阅读次数:
84
1.随机存取文件流:RandomAccessFile 2.使用说明: * 1.RandomAccessFile直接继承于java.lang.Object类,实现了DataInput和DataOutput接口* 2.RandomAccessFile既可以作为一个输入流,又可以作为一个输出流** 3.如 ...
分类:
数据库 时间:
2020-06-26 21:58:12
阅读次数:
62