![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Royan |
|
||||||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: 3 Всего: 15 |
Народ, попробуйте, пожалуйста откомпилировать у себя, нижеприведенный код в двух маленьких редакциях и сообщить о результатах:
В первой редакции используйте существующий вариант, а во второй уберите из объявления поля time модификатор static
Лично у меня результат со static такой:
а без него, такой
Честно признаюсь первый вариант меня озадачил, если на вашей JVM такой же результат не мог кто-нибудь пролить свет почему transient не оказал влияния? -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
||||||
|
|||||||
| ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 33 Всего: 81 |
Оказал, оказал.... А вот на результат вывода программы не оказал, именно потому что поле статик. Если на пальцах: на выводе получаем значение, сохранённое в поле time в конструкторе, вызываемого из 25 строки. действие в 46 строке никакого влияния на статик поле не оказывает. PS: Похоже на тест при собеседовании |
|||
|
||||
| duk |
|
|||
![]() Some Object ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 19.7.2007 Репутация: 4 Всего: 4 |
Royan, как мне кажется этот пример дает понять смысл и работу статических переменных.
Начну со второго случая: Flattened time: null Current time: Mon Feb 25 03:31:13 MSK 2008 В данном случае Flattened time: null, поле transient - логично чтоб результат был null, а в первом варианте, точно также объект time не сохраняется, но при этом, когда при десериализации (SerializationTest()) объект загружается в память, через статическое поле time, можно получать то значение, которое на данный момент хранится в памяти (тоесть используется актуальное значение, с которым работают объекты на данный момент). |
|||
|
||||
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: 3 Всего: 15 |
Понял спасибо!
-------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |