我是新的串行化概念,请帮助理解概念。序列化到底是什么意思?我已经读过定义,但不能详细理解。
基本类型(int、string)如何序列化?
如果我们在代码中不使用序列化,数据将如何传输?
从前端Java/C#代码访问数据库时是否涉及任何隐式序列化过程?从数据库中插入/删除示例。
发布于 2015-09-13 05:22:14
序列化只是获取一个对象,并将其转换为一些更简单的东西。假设您在C#中有一个对象,如下所示:
class Employee
{
public int age;
public string fullname;
}
public static void Main()
{
var john = new Employee();
john.age = 21;
john.fullname = "John Smith";
var matt = new Employee();
matt.age = 44;
matt.fullname = "Matt Rogers";
... 这是C#友好的。但是,如果您想以CSV格式将该信息保存在文本文件中,您将得到如下结果:
age,fullname
21,John Smith
44,Matt Rogers编写CSV时,基本上是将信息序列化为不同的格式--在本例中是CSV文件。您可以将对象序列化为XML、JSON、数据库表、内存或其他东西。这是一个有关序列化的Udemy示例。
如果您不序列化,混乱将被传输。也许您的对象的ToString()在传输和任何结果传输之前都会被隐式调用。因此,将您的数据转换为对接收器友好的内容是非常重要的。
总会有一些序列化发生。例如,在执行填充DataTable的查询时,发生了序列化。
发布于 2015-09-13 05:58:53
概念:
序列化是将对象转换为一系列字节的过程。通常,我们在应用程序中使用的对象是复杂的,它们都可以很容易地以一系列字节的形式表示,这些字节可以存储在文件/数据库中,也可以通过网络传输。
仅通过使类实现可序列化接口,就可以使类可序列化。
要成功地序列化类,必须满足两个条件:类必须实现java.io.Serializable接口。类中的所有字段都必须是可序列化的。如果字段不可序列化,则必须标记为瞬态字段。
当程序进行序列化时,如果它存储在一个扩展名为.ser的文件中,那么它可以用于反序列化。序列化为序列化对象提供一个serialVersionUID,该对象必须与反序列化匹配。
https://stackoverflow.com/questions/32545982
复制相似问题