|
|
|
Какое значение имеет тип переменной для компилятора? Например, "String str;"
|
|||
|---|---|---|---|
|
#18+
MasterZiv... Ну самостоятельно-то они не могут лежать в куче. ну массивы как-то умудряются это делать - лежать в куче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 00:28 |
|
||
|
Какое значение имеет тип переменной для компилятора? Например, "String str;"
|
|||
|---|---|---|---|
|
#18+
летатель космоса... Наверное - не уверен точно. У меня чисто меркантильный маленький интерес, связанный с непониманием механизма приведения типов (включая приведение к интерфейсу) и "как так компилятор определяет, что вот эти методы есть у этого объекта?". ... Ответ на этот вопрос предопределяет - когда будет выброшена ошибка приведения типа - на этапе компиляции или во время выполнения программы. детали ответа оказываются зависимыми от деталей реализации концепций. А денег срубить прямо на этом вряд-ли получится. В целях сбережения задницы - до тех пор пока продолжать работать собираешься - желай ошибок времени компиляции. А как навостришь лыжи сваливать - переориентируйся на ошибки времени выполнения - спокойней добежишь до Канадской границы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 00:41 |
|
||
|
Какое значение имеет тип переменной для компилятора? Например, "String str;"
|
|||
|---|---|---|---|
|
#18+
летатель космосаПеременные лежат в стеке. кхм... кхм... летатель космосаЭто просто набор байт - адрес в куче, где лежит объект. иногда - это просто набор байт, прямо представляющий собой само значение, иногда набор байт байт, содержащий адрес значения, иногда набор байт, содержащий адрес на область памяти, в которой может быть не значение, а другой адрес, по которому расположено значение, иногда это адрес структуры, интерпретацией значений набора полей которой определяется целевое значение. Единственная правда во всем этом - "набор байт", что само по себе недостаточно для понимания значения этого набора байт. Обязательно требуется интерпретация этого набора байт. летатель космосаОбъект имеет структуру: поля, их размер, значение. Вот компилятор получил адрес, перешёл по нему в кучу. А дальше как он узнает, по какому смещению где что лежит? Семантика явлена программисту общим описанием языка (если оно есть, достаточное для недвусмысленного понимания), а компилятору - конкретной реализацией этого языка. Любая так описывающая способ узнавания реализация не может запретить существовать другой, описывающей способ узнавания иначе , непротиворечивой по отношению к спецификации языка ( лишь для некоторых языков существующей в формальном виде). (Есть мнение, что стратегическая ошибка ошибка проектировщиков java состояла в попытке стандартизировать не только язык, но и машину, его выполняющую. Это великая идея, но не в нашем мире.) летатель космоса Либо в переменной хранится не только адрес объекта в куче, но и вся структура объекта Для "объектов", имеющих "структуру", java еще до этого не доросла, но обещает дорасти к 9й версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2015, 01:21 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39028236&tid=2125060]: |
0ms |
get settings: |
9ms |
get forum list: |
25ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 387ms |

| 0 / 0 |
