Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по сериализации / 14 сообщений из 14, страница 1 из 1
30.01.2012, 12:31:48
    #37637978
Жентос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
Помогите прояснить пару нюансов. Чтобы объект был сериализуемым надо:
1. Класс должен иметь модификатор доступа public.
2. Класс должен реализовывать интерфейс Serializable
3. Если у класса есть несериализуемый класс-предшественник, то у него должен быть конструктор по умолчанию, наследуемый класс (тот, который сериализуется) должен позаботиться о передаче своих членов в поток..

Вот и вопрос: в вершине всего стоит абстрактый класс. Как правильно сериализовать его данные: в самом ближайшем неабстрактном или уже в сериализуемом?
...
Рейтинг: 0 / 0
30.01.2012, 12:49:01
    #37638029
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
По-моему вы о какой-то не той синхронизации говорит. Для ObjectInput/OutputStream нет ограничений на модификаторы доступа и виды конструкторов. Единственное условие это интерфейс Serializable\Externalizable.

Возможно вы говорит о какой-то XML сериализации основаной на JavaBeans?

Абстрактные классы это вообще не вопрос. Вы-то сериализуете уже объекты, которые представляют из себя экземпляры не абстрактных классов. Тип переменной на сериализацию никак не влияет. Важно именно экземпляром какого класса является объект.
...
Рейтинг: 0 / 0
30.01.2012, 14:57:46
    #37638290
Жентос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
Честно говоря, мне трудно дискутировать на эту тему. Просто мне надо сериализовать объект (получить его текстовое представление) и сохранить на диск... Я глянул в учебник Ивора Хортона и это единственное, что там написано. В качестве примера дается простая строка String. И все.

Ну, еще написано, что static members не подлежат сериализации. Но это понятно, тут вопросов не врзникает
...
Рейтинг: 0 / 0
30.01.2012, 16:03:46
    #37638421
Жентос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
Вот, например этот класс считается сериализуемым и удачно сериализуется....

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
import java.io.Serializable;
public class Junk implements Serializable {
	private static java.util.Random generator = new java.util.Random();
	private int answer; // The answer
	private double[] numbers; // Valuable data
	private String thought; // A unique thought
	private static fi nal long serialVersionUID = 9001L;
	public Junk(String thought) {
		this.thought = thought;
		answer = 42; // Answer always 42
		numbers = new double[3+generator.nextInt(4)]; // Array size 3 to 6
		for(int i = 0 ; i<numbers.length ; ++i) { // Populate with
			numbers[i] = generator.nextDouble(); // random values
		}
	}
	@Override
	public String toString() {
		StringBuffer strBuf = new StringBuffer(thought);
		strBuf.append(‘\n’).append(String.valueOf(answer));
		for(int i = 0 ; i<numbers.length ; ++i) {
			strBuf.append(“\nnumbers[“)
			.append(String.valueOf(i))
			.append(“] = “)
			.append(numbers[i]);
		}
		return strBuf.toString();
	}
}



Но тут ничего не сделано. Только указано, что класс реализует интерфейс. И все
...
Рейтинг: 0 / 0
30.01.2012, 16:15:36
    #37638467
Жентос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
Собственно вопрос: как оно работает, что делает работу?

И может ли мой абстрактный класс, стоящий во главе наследования имплементить интерфейс Serializable? В смысле, это правильно?
...
Рейтинг: 0 / 0
30.01.2012, 17:11:20
    #37638646
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
...
Рейтинг: 0 / 0
30.01.2012, 17:55:06
    #37638735
Жентос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
Забыл ник, спасибо...... очень полезно.

А ни у кого нет , скажем, библиотеки полезных ссылок по java. Это поможет мне перестать терроризировать форум нубскими вопросами ))
...
Рейтинг: 0 / 0
31.01.2012, 10:14:51
    #37639477
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
ЖентосПросто мне надо сериализовать объект (получить его текстовое представление) и сохранить на диск.
Почему текстовое?
...
Рейтинг: 0 / 0
31.01.2012, 10:16:19
    #37639482
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
ЖентосА ни у кого нет , скажем, библиотеки полезных ссылок по java. Это поможет мне перестать терроризировать форум нубскими вопросами ))
Официальный туториал
http://docs.oracle.com/javase/tutorial/
Примеры на все случаи жизни
http://www.exampledepot.com/
Java Practices
http://www.javapractices.com/home/HomeAction.do
...
Рейтинг: 0 / 0
31.01.2012, 13:11:07
    #37639824
Жентос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
BlazkowiczЖентосПросто мне надо сериализовать объект (получить его текстовое представление) и сохранить на диск.
Почему текстовое?
Потому, что в идеале XML. Потом выполнить XSLT преобразование
...
Рейтинг: 0 / 0
31.01.2012, 14:18:07
    #37640018
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
ЖентосBlazkowiczпропущено...
Почему текстовое?
Потому, что в идеале XML. Потом выполнить XSLT преобразование
офигеть.
А потом что?
...
Рейтинг: 0 / 0
31.01.2012, 14:34:09
    #37640049
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
ЖентосПотому, что в идеале XML.
Ну, так что же вы ключевые слова опускаете. Под "сериализацией" по-умолчанию подразумевается бинарная. Так как она менее ресурсоёмкая и проблематичная. Для XML сериализации нужно просто определится с инструментом. JAXB, XStream, JiBX и пр.

ЖентосПотом выполнить XSLT преобразование
А почему бы объекты с помощью хотя бы того же Velocity не загнать в желаемый формат?
Может на выходе ещё и HTML надо получить?
...
Рейтинг: 0 / 0
31.01.2012, 14:46:35
    #37640085
Жентос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
BlazkowiczНу, так что же вы ключевые слова опускаете. Под "сериализацией" по-умолчанию подразумевается бинарная. Так как она менее ресурсоёмкая и проблематичная. Для XML сериализации нужно просто определится с инструментом. JAXB, XStream, JiBX и пр.Бинарную уже сделал (sic), примерно понял, как она выглядит. Теперь смотрю на какой-нибудь инструмент для XML-сермализации

BlazkowiczА почему бы объекты с помощью хотя бы того же Velocity не загнать в желаемый формат?
Может на выходе ещё и HTML надо получить?А Velocity -- это что?

P.S. у меня не производственная, а академическая задача... тут любые нелепости могут быть
...
Рейтинг: 0 / 0
31.01.2012, 14:52:24
    #37640097
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по сериализации
ЖентосP.S. у меня не производственная, а академическая задача... тут любые нелепости могут быть
:)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Вопрос по сериализации / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]