序列化在日常开发中经常用到,特别是涉及到网络传输的时候,例如调用第三方接口,通过一个约定好的实体进行传输,这时你必须实现序列 化,这些都是大家都了解的内容,所以文章也会讲一下序列化的高级内容. 序列化与反序列化简单认知: 我们知道,对象在不具有可达性的时候,会被GC,这些对象都是保存在堆中,而现实中,我们可能需要将对象进行持久化,并且在需要的时候 进行读取转换,这就是序列化的工作. 1.序列化: 将一个对象转换成字节流或者说是字节数组,并且可以存储或传输的形式的过程. 存储:可以把一个对象存储到…
Java基础(十一) Stream I/O and Files 1. 流的概念 程序的主要任务是操纵数据.在Java中,把一组有序的数据序列称为流. 依据操作的方向,能够把流分为输入流和输出流两种.程序从输入流读取数据,向输出流写出数据. 文件 输入流 输出流 文件 内存 -------------> Java程序 ------------------> 内存 键盘 控制台 | | 数据源 数据目的地 Java I/O系统负责处理程序的输入和输出.I/O类库位于java.io包中,它对各种常见…
Java基础十一--多态 一.多态定义 简单说:就是一个对象对应着不同类型. 多态在代码中的体现: 父类或者接口的引用指向其子类的对象. /* 对象的多态性. class 动物 {} class 猫 extends 动物 {} class 狗 extends 动物 {} 猫 x = new 猫(); 动物 x = new 猫();//一个对象,两种形态. 猫这类事物即具备者猫的形态,又具备着动物的形态. 这就是对象的多态性. 简单说:就是一个对象对应着不同类型. 27 多态在代码中的体现: 28…
接口 一.接口的基本概念 关键字为:Interface,在JAVA编程语言中是一个抽象类型,是抽象方法的集合.也是使用.java文件编写.   二.接口声明 命名规范:与类名的命名规范相同,通常情况下以大写字母 I 开头,与类作于区分.接口的访问修饰符只能使用public或者缺省修饰,不能使用protected和private修饰.   接口中的所有属性只能是公开的静态的常量: public static final 数据类型 属性名 :(public/static/final可以省略)   接…
枚举类型Enum的简介 1.什么是枚举类型 枚举类型: 就是由一组具有名的值的有限集合组成新的类型.(即新的类). 好像还是不懂,别急,咱们先来看一下 为什么要引入枚举类型 在没有引入枚举类型前,当我们想要维护一组 常量集合时,我们是这样做的,看下面的例子: class FavouriteColor_class{ public static final int RED = 1; public static final int BLACK = 3; public static final int…
Serializable 接口是一个序列化 Java 类的接口,以便于它们可以在网络上传输 或者可以将它们的状态保存在磁盘上,是 JVM 内嵌的默认序列化方式,成本高. 脆弱而且不安全.Externalizable 允许你控制整个序列化过程,指定特定的二进 制格式,增加安全机制.…
方法的调用都是发生在相同堆上的两个对象之间(同一台机器的Java虚拟机),如果想要调用另一台机器上的对象,可以通过Socket进行输入/输出. 远程过程调用需要创建出4种东西:服务器.客户端.服务器辅助设施.客户端辅助设施   RMI Java的JMI提供客户端和服务器端的辅助设施对象(stub和skeleton,现在实际只用stub文件,客户端和服务端用一个) 辅助设施是实际执行通信的对象,他会让客户端感觉在调用本机,实际上辅助设施类似于代理,将客户端传送的信息通过Socket连接发送给服务端…
什么是继承?什么是接口?他们之间的区别和联系是什么? 什么是继承? 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能.多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可.多个类称为子类,单独的那个类称之为父类,超类.或者是称为基类. 什么是接口? 接口在Java编程语言中是一个抽象类型,是抽象方法的集合,接口并不是类,编写接口的方法和类很相似,但是他们属于不同的概念,类描述对…
导读:前两天闲着没事儿,看了本书,然后写了点代码,在接口里面写了默认方法实现,因为书上说这个特性是从java8开始的,我还特地给测了一下java7. 没过几天,就有一个技术分享会,刚好也是讲java8特性,然后,顿时就觉得世界观被毁了!怎么回事呢,看下文吧: 还记得,当年我刚面试的时候,面试官问我接口和抽象类什么区别,我张口就来了传说中的标准答案,那时候是解释不清楚接口和抽象类各自的用途的和来源的,就记得我说了很重要的一条就是:抽象类里面可以有方法实现,而接口是不可以的.哈哈哈哈,java8出来…
一.序列化和反序列化 序列化:把对象转换为字节序列的过程称为对象的序列化. 反序列化:把字节序列恢复为对象的过程称为对象的反序列化. 将内存中对象的信息保存下来,可以有很多种方式实现这一功能.其中java提供了一种更好的保存对象状态的机制,那就是序列化. 应用场景: 把内存中的对象状态保存到一个文件或者数据库中的时候: 在网络上传送对象的时候: 其他(以后再补充) 二.实例 import java.io.Serializable; /** * Created by jyy on 2018/6/4…