对象具有状态和行为两种属性.行为存在类中的方法中,想要保存状态有多种方法,这里介绍两种: 一是保存整个当前对象本身(通过序列化):一是将对象中各个状态值保存到文件中(这种方式可以给其他非JAVA程序用),如果其他程序需要用到的状态,可以通过特定的格式存储到文本中,方便其他程序解析提取数据   序列化(serialization) 只有自己写的JAVA程序用到存储的数据时,使用序列化 序列化将整个对象写入到文件中,该对象引用的实例变量.所有被引用的对象都会被序列化   创建一个可以被序列化的类 只…
抽象类和抽象方法 1.抽象类的声明方法,在前面加上抽象类的关键词abstract abstract class canine extends animal{      public void roam(){} } 抽象类除了被继承过之外,是没有用途,没有值,没有目的.类中的方法可以当做子类的合约内容,合约是对其他程序的承诺协议 抽象类中可以带有抽象和非抽象的方法 如果类中有抽象方法,则类必定标识为抽象的.   2.抽象的方法没有实体 (因为方法中的程序代码没有意义.抽象类需要被extend过有意…
Java基础八--构造函数 一.子父类中构造函数的特点 1.1 为什么在子类构造对象时,发现,访问子类构造函数时,父类也运行了呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super(); 构造方法中其实还有一句return;对应返回值中的void 子类的实例化过程:子类中所有的构造函数默认都会访问父类中的空参数的构造函数. (因为是继承父类的属性,肯定要父类属性完成初始化再是子类这边的初始化.) 说明: 其实只要记住子类构造函数中默认有一句super();即可,所以当父类为有参…
原因 1. KVM的相关包 装少了 2KVM的相关包 重新安装 3 May 31 15:22:55 localhost libvirtd: 2019-05-31 07:22:55.554+0000: 969: error : virConnectOpenInternal:1065 : qemu:///system 没有连接驱动器可用May 31 15:22:55 localhost libvirtd: 2019-05-31 07:22:55.574+0000: 932: error : virN…
所有分布式应用常常需要跨平台,跨网络,因此要求所有传的参数.返回值都必须实现序列化. 比如常见的Dubbo分布式平台,里面的对象实体类必须实现序列化才能在网络间传递 一.定义 序列化:把Java对象转换为字节序列的过程.    反序列化:把字节序列恢复为Java对象的过程. 二.用途 对象的序列化主要有两种用途:    1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中:(持久化对象)    2) 在网络上传送对象的字节序列.(网络传输对象) 三.实现 实现了如下两个接口之一的类的对…
方法的调用都是发生在相同堆上的两个对象之间(同一台机器的Java虚拟机),如果想要调用另一台机器上的对象,可以通过Socket进行输入/输出. 远程过程调用需要创建出4种东西:服务器.客户端.服务器辅助设施.客户端辅助设施   RMI Java的JMI提供客户端和服务器端的辅助设施对象(stub和skeleton,现在实际只用stub文件,客户端和服务端用一个) 辅助设施是实际执行通信的对象,他会让客户端感觉在调用本机,实际上辅助设施类似于代理,将客户端传送的信息通过Socket连接发送给服务端…
一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中: 2) 在网络上传送对象的字节序列. 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存.比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些s…
String源码:基于jdk1.8 public final class String implements Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char[] value; /** Cache the hash code for the string */ private int hash; public St…
IO流 概述与分类 Java中的IO流技术主要用于传输数据.典型的应用场景有:读写本地文件,上传下载文件等.按照数据传输的方向可以分为两种: l  输入流(Input):既让数据进入应用程序中. l  输出流(Output):既让数据离开应用程序. 按照数据的种类还可以有另外一种分法: l  字节流:可以处理任何一种数据. l  字符流:只能处理纯文本数据. 现阶段我们主要学习:字符输入流,字符输出流,来实现读写文件的功能. 整理一下IO流的分类:               字节输入流    …
创建 Scanner 对象的基本语法: Scanner s = new Scanner(System.in); Scanner 类的 next() 方法 import java.util.Scanner; class Test{ public static void main(String[] args){ String s; Scanner userInput = new Scanner(System.in); System.out.print("Input String: ");…