2015-09-13 4 views
0

Я новичок в концепции сериализации, пожалуйста, помогите понять концепцию. Что такое сериализация? Я прочитал определение, но не мог понять в деталях.Необходимость сериализации

Как классифицируются основные типы (int, string)?

Если мы не используем сериализацию в нашем коде, как будут передаваться данные?

Существует ли какой-либо неявный процесс сериализации при доступе к базе данных из кода Java/C# с первого конца? пример вставки/удаления из базы данных.

+0

Возможный дубликат [Что такое сериализация объектов?] (Http://stackoverflow.com/questions/447898/what-is-object-serialization) – EJP

ответ

0

Сериализация просто берет объект и переводит его в нечто более простое. Представьте, что у вас был объект на 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, таблицу (ы) базы данных, память или что-то еще. Вот example from Udemy regarding serialization.

Если вы не сериализуете, путаница будет передана. Возможно, объект ToString() вашего объекта будет вызван под вызовом перед передачей и любым результатом передается. Поэтому жизненно важно преобразовать ваши данные в нечто дружелюбное к приемнику.

Всегда происходит сериализация. Когда вы выполняете запрос, который заполняет DataTable, например, произошла сериализация.

0

Концепция:

Сериализация представляет собой процесс преобразования объекта в последовательности байтов. Обычно объекты, которые мы используем в приложении, будут сложными, и все они могут быть легко представлены в виде серии байтов, которые могут быть сохранены в файле/базе данных или переданы по сети.

Вы можете сделать класс Serializable, просто создав интерфейс Serializable.

Для успешного сериализации класса должны выполняться два условия: Класс должен реализовывать интерфейс java.io.Serializable. Все поля в классе должны быть сериализованы. Если поле не сериализуемо, оно должно быть помечено как переходное.

Когда программа завершается, и если она хранится в файле с расширением .ser, то его можно использовать для десериализации. Сериализация дает serialVersionUID сериализованному объекту, который должен соответствовать десериализации

Смежные вопросы