- 默认接口内不能写实现, 1.8 开始接口内可以写由default修饰的方式
- 对象类型与基本数据类型的区别
- 基本类型是Java语言的一本分,主要是基于程序性能的考量,八种基本类型都有对应的包装类,这些包装类实例化就是对象(Java中一切皆是对象)。
- 基本类型定义在栈中,int a=5; 对象类型定义在堆中,Interger b = new Integer(10) 这里b是对象的引用存放在栈中,而实际的数值存放在堆里。堆的读写速度远不及栈,栈随着栈帧的移动销毁快,而堆中的对象需要JVM去销毁。
- 参数传递,如果是基本类型就对值进行了拷贝,如果是传递对象,那么就是传递了引用。
- 对象之间赋值只是传递引用,基本类型之间赋值是创建新的拷贝。
- 序列化&反序列化
序列化:是将对象转换成以字节序列的形式来表示,这些字节序列包含了对象的数据和信息,一个序列化后的对象可以被写到数据库或文件中,也可用于网络传输,一般当我们使用缓存cache(内存空间不够有可能会本地存储到硬盘)或远程调用rpc(网络传输)的时候,经常需要让我们的实体类实现Serializable接口,目的就是为了让其可序列化。
序列化后的字节序列都是可以恢复成Java对象的,这个过程就是反序列化。 transient
关键字
修饰的变量不被序列化,什么时候适合使用:
类中的字段值可以根据其它字段推导出来:如一个长方形类有三个属性:长度、宽度、面积面积这个属性就没必要被序列化了;具体业务要求;- Array.copyOf()可以看作是受限的System.arraycopy(),它主要是用来将原数组全部拷贝到一个新长度的数组,适用于数组扩容;arraycopy 可以指定的参数更多
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
扫描二维码,分享此文章