|
![]() |
#1 |
Участник
|
На сайте Эхо Москвы есть передача Суть событий
В заставке Сергей Пархоменко говорит: "Я обещал вам объяснить суть событий? Объясняю. По пятницам после 9 вечера"... Объясняю: Все зависит от реализации java-машины. ((dictTable == null) == true) вовсе не означает, что dictTable физически содержит 0. Такая проверка дает ответ на вопрос "ссылается ли данная переменная на класс или нет". И ничего больше. Причем уточняю: "на экземпляр (instance) класса". В данном случае обе переменные dictTable и dictTable не ссылаются на какой-то конкретный экземпляр. Но реализация может быть такова, что они физически все же ссылаются в какое-то место памяти. И еще раз напомню: не забывай о том, что память в java-машинах освобождается не сразу, а только после работы сборщика мусора. См. ФАКи по java... Это Java, а не С ![]() |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от mazzy
![]() В данном случае обе переменные dictTable и dictTable не ссылаются на какой-то конкретный экземпляр. Но реализация может быть такова, что они физически все же ссылаются в какое-то место памяти.
И еще раз напомню: не забывай о том, что память в java-машинах освобождается не сразу, а только после работы сборщика мусора. См. ФАКи по java... Это Java, а не С ![]() Кстати, ни одни сборщик мусора не удалит объект в памяти, на который есть ссылки. Ради эксперимента вставил в класс Info код по созданию "пустого" DictTable и добавил метод по его удалению (явному присвоению NULL). После рестарта ссылка на объект оставлась до тех пор, пока не вызвал метод по удалению В общем, как такой объект ни называй, память он занимает, пока явно не будет присвоен null или не выйдет из области видимости
__________________
Axapta v.3.0 sp5 kr2 |
|
![]() |
#3 |
Участник
|
Цитата:
объект в java занимает память пока не будет вызван его деструктор. Да, в java есть деструкторы. Просто конкретная реализация под названием X++ не позволяет вызвать деструктор явно (или я не знаю такого способа). В java деструкторы вызываются в основном сборщиком мусора. Вручную деструкторы вызываются очень редко (как раз в подобных случаях, когда конструктору не удалось создать объект) Чтобы заглубляться в вопрос дальше, лучше рыть в сторону java-документации и java-форумов. |
|
Теги |
ax3.0, ax4.0 |
|
|