| 
 | 
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Допустим, что я создал ссылочную переменную (пусть это будет ссылка типа MyClass, например) класса MyClass, в котором определено много методов и объявлено много полей. Каков размер ссылки? Зависит ли ее размер от числа методов и полей класса? Непрерывно ли они лежат в памяти или нет? Как в памяти лежат методы и конструкторы класса? Стек, или куча, или вообще дискретно, то есть не непрерывно? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.06.2020, 20:35 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Имхо тебе это сейчас совсем не нужно. ты можешь нагуглить любые подробности об внутренней организации jvm, но это тебе никак особо не поможет в твоих начинаниях. Ссылка на класс это всего лишь ссылка - т.е. адрес по которому можно найти экземпляр класса в памяти. Каким бы большим этот экземпляр не был и сколько методов он бы не имел, ссылка будет строго определенного размера в зависимости от разной фигни, которая тебе сейчас абсолютно не нужна. Так что можешь себе ни в чем не отказывать, создавай ссылок сколько нужно.  Конечно можно ознакомиться с потрохами более углубленно, но не на этом этапе и не в твоей ситуации. Таковое мое мнение ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.06.2020, 22:13 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Alexandrietz, Ты перепутал с ЯП С++. Удивительно, но в нынешнем веке и в java это автоматизировано. Программист не парится этими задачами. Скажи, зачем вводили умные указатели? Сборщики мусора? Так что я согласен с chpasha, тебе это не нужно) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.06.2020, 22:27 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Alexandrietz Допустим, что я создал ссылочную переменную (пусть это будет ссылка типа MyClass, например) класса MyClass, в котором определено много методов и объявлено много полей. Каков размер ссылки? Зависит ли ее размер от числа методов и полей класса? Непрерывно ли они лежат в памяти или нет? Как в памяти лежат методы и конструкторы класса? Стек, или куча, или вообще дискретно, то есть не непрерывно? Вот почитай для начала. Тут должны быть главные ответы на вопросы такого толка https://docs.oracle.com/javase/specs/jvms/se14/jvms14.pdf ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.06.2020, 22:30 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Alexandrietz   Про размер ссылки. Однозначного ответа нет. Для классической (Oracle/OpenJDK) он обычно 32 бита для 32х битный JVM и может быть 32 и 64 бита для 64х битной в зависимости от опции -Xmx32g При этом указатель может быть гранулярный но экономный. Или точный но расточительный в смысле расхода на ячейку хранения. И размер ссылки не зависит от того на что она указывает. Здесь есть аналогия с С++. Если речь идет о какой-то мобильной Java то там - я не знаю. Может быть что угодно. По всем твоим остальным вопросам. Если тебя на собеседовании спросят про размер Java-объекта в памяти - то сразу отвечай что JVM-спецификация не регламентирует это вообще. Тоесть мы не знаем как будут скомпонованы поля в непрерывной памяти объекта. И мы не знаем каков будет общий размер. Мы можем иногда смотреть через специальные служебные системные библиотеки типа Код: java 1. Но и этот размер надо понимать просто как частный случай для данной версии софта и для ОС и для архитектуры железа. В других - он просто будет другой. Кроме того надо понимать что есть размеры deep/shallow. Тоесть размер объекта вместе с примитивными полями или размер объекта рекурсивно со всеми под-объектами которые входят в него. Типа дерево. На эту тему лучше всего скачай утилиту Eclipse-Memory-Analyzer позапускай и просто понаблюдай какие отчоты она выдает по Java-процессам. По поводу твоего вопроса Как в памяти лежат методы и конструкторы класса? Стек, или куча, или вообще дискретно, то есть не непрерывно? Тут вообще полный капец. На этот вопрос нельзя просто так ответить. Память методов и конструкторов лежит в двух местах. Это собственно байт-код который грузит classloader. И есть бинарный код который собрал JIT после нескольких итераций использования байткода. Байт-код ты можешь увидеть глазами. Это и есть тело .class - файла который ты компилируешь. По второму вопросу - я пока не знаю. Но ты попробуй просто переварить эту инфу и может тебе сейчас не надо лезть так глубоко в эти недра. От джуна этого никто не потребует. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.06.2020, 23:30 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp, Помню, как в C++ надо было вручную освобождать память с помощью delete. Тут, слава Богу, есть garbage collector. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.06.2020, 23:30 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Alexandrietz, Все делают для того чтобы системных программистов и их вопросов становилось все меньше. А прикладных становилось больше. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2020, 09:52 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  как раз таки правильные вопросы задаёт человек. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2020, 14:14 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp Alexandrietz, Все делают для того чтобы системных программистов и их вопросов становилось все меньше. А прикладных становилось больше. нет такого понятия как системный, прикладной и пр. программисты. И никогда не было. Это придумали чтобы выделить коболистов, которые не могут пользоваться другими ЯП (в силу специфики Кобола). ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2020, 14:15 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  dakeiras как раз таки правильные вопросы задаёт человек. да, для освоения явы и получения первой работы, жизненно необходимо выяснить размер ссылок на объекты ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2020, 14:33 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  dakeiras, Угу. И тимлида скажи нету. И деления на кодировщика и программиста. И врачи не делятся на хирургов и проктологов. Ты с луны наверно. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2020, 14:40 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  dakeiras как раз таки правильные вопросы задаёт человек. У нас форум не ПТ. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2020, 14:41 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp dakeiras, Угу. И тимлида скажи нету. И деления на кодировщика и программиста. И врачи не делятся на хирургов и проктологов. Ты с луны наверно. Просто я стараюсь смотреть на вещи непредвзято и самостоятельно анализировать. В agile - кодировщики именно. Программисты это отдельно. Тимлид это в agile который гундит что ему имя класса не нравится и прочие бессмысленные вещи совершенно типа code smells. Он есть. А вот "системных" программистов нет. Есть системные инженеры (инженеры системотехники по нашей терминологии). Могут программировать. При этом именно прикладную часть. Системные программисты это те кто пишет на C и на разных asm, микрокод, ядро ОС и прочее. Но конечно вы не их имели в виду. У нас в бывшем совке все у кого в когде есть переменная типа number - считаются системными программистами. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2020, 19:14 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  chpasha dakeiras как раз таки правильные вопросы задаёт человек. да, для освоения явы и получения первой работы, жизненно необходимо выяснить размер ссылок на объекты для понимания это очень полезно. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2020, 19:15 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  dakeiras для понимания это очень полезно. Произнесение банальностей само по себе недостаточно - нужно еще уметь обосновать. что Шерлок Холмс говорил о пользе знания, что Земля крутится вокруг Солнца, для раскрытии преступлений? Вот тут примерно тоже самое. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.06.2020, 22:13 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  dakeiras У нас в бывшем совке ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.06.2020, 03:42 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Zzz79 размер ссылки это фиксированные байты и зависят от системы ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.06.2020, 03:44 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Alexandrietz, Это всё не важно. Жрать память оно в любом случае будет как не в себя. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.06.2020, 05:25 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  crutchmaster Жрать память оно  в любом случае  будет как не в себя. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.06.2020, 06:50 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Alexandrietz Допустим, что я создал ссылочную переменную (пусть это будет ссылка типа MyClass, например) класса MyClass, в котором определено много методов и объявлено много полей. Каков размер ссылки? Зависит ли ее размер от числа методов и полей класса? Непрерывно ли они лежат в памяти или нет? Как в памяти лежат методы и конструкторы класса? Стек, или куча, или вообще дискретно, то есть не непрерывно? Идем сюда . Скачиваем исходники. Читаем их. Думаем. Для понимания стоит еще почитать это . Как все на самом деле устроено в JVM, тут вам вряд ли скажут. Эти знания не нужны, они скрыты под несколькими слоями абстракции. Т.к. JVM работает на нескольких платформах, как минимум ARM и x86, то работа с памятью, её выделение и пр. на них отличаются. Т.е. для ответа на данный вопрос, нужно еще знать под какой платформой будет работать код (тут уже указывали в 32 разрядной и 64 разрядной системе будет по разному). А так "НАФИГА" вам эти знания? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.06.2020, 08:05 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mad_nazgul А так "НАФИГА" вам эти знания? все еще есть ненулевая вероятность, что он всех троллит, но презумпция невиновности однако :) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.06.2020, 09:41 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Именно троллит. А всё пишите и пишите)) ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.06.2020, 10:02 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  PetroNotC Sharp, Зато каков талант! прошлый то вброс за 300 сообщений перевалил ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.06.2020, 11:15 | 
  
  
  
   | 
||
| 
 
Ссылочные переменные с точки зрения памяти PC/Notebook. 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  xerxf, В java без кода и на лени долго не удержаться. Максимум пару топиков и потом пропададают надолго. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.06.2020, 11:37 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=59&msg=39974013&tid=2120759]:  | 
    0ms | 
get settings:  | 
    11ms | 
get forum list:  | 
    15ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    54ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    56ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 231ms | 
| total: | 389ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.