powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Какое значение имеет тип переменной для компилятора? Например, "String str;"
3 сообщений из 28, страница 2 из 2
Какое значение имеет тип переменной для компилятора? Например, "String str;"
    #39028230
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv...

Ну самостоятельно-то они не могут лежать в куче.
ну массивы как-то умудряются это делать - лежать в куче.
...
Рейтинг: 0 / 0
Какое значение имеет тип переменной для компилятора? Например, "String str;"
    #39028231
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
летатель космоса...
Наверное - не уверен точно. У меня чисто меркантильный маленький интерес, связанный с непониманием механизма приведения типов (включая приведение к интерфейсу) и "как так компилятор определяет, что вот эти методы есть у этого объекта?".

...

Ответ на этот вопрос предопределяет - когда будет выброшена ошибка приведения типа - на этапе компиляции или во время выполнения программы.
детали ответа оказываются зависимыми от деталей реализации концепций.

А денег срубить прямо на этом вряд-ли получится.

В целях сбережения задницы - до тех пор пока продолжать работать собираешься - желай ошибок времени компиляции.
А как навостришь лыжи сваливать - переориентируйся на ошибки времени выполнения - спокойней добежишь до Канадской границы.
...
Рейтинг: 0 / 0
Какое значение имеет тип переменной для компилятора? Например, "String str;"
    #39028236
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
летатель космосаПеременные лежат в стеке.

кхм... кхм...

летатель космосаЭто просто набор байт - адрес в куче, где лежит объект.

иногда - это просто набор байт, прямо представляющий собой само значение, иногда набор байт байт, содержащий адрес значения, иногда набор байт, содержащий адрес на область памяти, в которой может быть не значение, а другой адрес, по которому расположено значение, иногда это адрес структуры, интерпретацией значений набора полей которой определяется целевое значение.
Единственная правда во всем этом - "набор байт", что само по себе недостаточно для понимания значения этого набора байт. Обязательно требуется интерпретация этого набора байт.



летатель космосаОбъект имеет структуру: поля, их размер, значение. Вот компилятор получил адрес, перешёл по нему в кучу. А дальше как он узнает, по какому смещению где что лежит?
Семантика явлена программисту общим описанием языка (если оно есть, достаточное для недвусмысленного понимания),
а компилятору - конкретной реализацией этого языка.
Любая так описывающая способ узнавания реализация не может запретить существовать другой, описывающей способ узнавания иначе , непротиворечивой по отношению к спецификации языка ( лишь для некоторых языков существующей в формальном виде).

(Есть мнение, что стратегическая ошибка ошибка проектировщиков java состояла в попытке стандартизировать не только язык, но и машину, его выполняющую. Это великая идея, но не в нашем мире.)

летатель космоса Либо в переменной хранится не только адрес объекта в куче, но и вся структура объекта


Для "объектов", имеющих "структуру", java еще до этого не доросла, но обещает дорасти к 9й версии.
...
Рейтинг: 0 / 0
3 сообщений из 28, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Какое значение имеет тип переменной для компилятора? Например, "String str;"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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