对象流:
对象本质:它是一个抽象概念,是JVM中的一种虚拟出来的抽象概念
new 关键字,class类,构造一个java对象
对象流就是java提供一种,可以将java对象这种虚拟的概念转换为
一种物理可以存储或者传输的真实数据。
将虚拟的JVM中的对象转换为字节数据
对象序列化:
Serialize:将虚拟对象转换为一种可以直接传输或者保存到数据(字节、字符)过程
对象反序列化:
将序列化后的字节或者字符数据重新转换为对象,对象反序列化
对象持久化:
将数据永久保存(IO、数据库)
java官方提供的序列化,是将java对象转换为字节数据。
注意:java的对象要实现序列化和反序列化,必须实现Serializable(这个标记接口)。
transient关键字
transient:被这个关键字修饰的属性,无法被持久化。
try-with-resources
jdk7提供的新特性,如果使用了这种结构语法,打开的资源,会自动完成关闭。
辅助程序员防止忘记关闭资料。
try(在这打开需要关闭的资源) {
// 正常代码
} catch (IOException e) {
e.printStackTrace();
}
在开发过程中,如果直接将一些确定的值,写在代码中,代码的设计可能有问题
如果生产环境中,要再次修改值,发现非常麻烦,需要重新编译
这种编程,叫做硬编码
开发环境:(development environment)
测试环境:(test environment)
生产环境:(product environment)
如果值永久不变:
|-- 做成常量
|-- 做成枚举
如果有可能变:
可以做成配置文件
java配置文件:
xml:
json:
yaml:
properties: java的配置文件