Понимание JVM, лучше [закрытой]

Вы не изменяете переменную (массив), вы переназначаете новое значение.

var myarray = [];
var array1 = [1, 2, 3];
myarray.push(array1);
array1.push(2, 3, 4); // Modifying the array in memory.
//myarray.push(array1);
console.log(myarray);

16
задан dinsim 24 July 2013 в 13:43
поделиться

4 ответа

Большая часть того, что я знаю JVM, прибывает из документов Sun. У них есть некоторые большие технические описания на HotSpot VM: http://java.sun.com/javase/technologies/hotspot/index.jsp

Вы упомянули производительность, поэтому возможно, Вы будете интересоваться документами функционирования солнца: http://java.sun.com/docs/performance/

Для большего количества рук на подход попытайтесь смотреть на Kaffe. Это покажет Вам, что виртуальная машина делает, но не обязательно, как код Java работает в JVM Sun:

Kaffe является чистой реализацией помещения виртуальной машины Java, плюс связанные библиотеки классов должен был обеспечить среду выполнения Java.

И OpenJDK является великолепным местом для приобретения знаний о том, как Платформа Java реализована: http://openjdk.java.net/

6
ответ дан 30 November 2019 в 22:50
поделиться

Главы из "В виртуальной машине Java 2":

http://www.artima.com/insidejvm/ed2/index.html

Статьи "Under the Hood" Bill Venners

http://www.artima.com/underthehood/index.html

Существует также "Жасмин", assember для JVM, если Вы хотите пачкать руки и попробовать низкоуровневое программирование JVM.

http://jasmin.sourceforge.net/

6
ответ дан 30 November 2019 в 22:50
поделиться

Очевидным предпочтительным вариантом является Спецификация виртуальной машины Java. Существует также Страница Википедии, которая связывается с дополнительными ресурсами.

2
ответ дан 30 November 2019 в 22:50
поделиться

Если Ваша мотивация должна узнать, как написать код, который работает быстрее или использует меньше памяти, спецификация VM не поможет слишком много.

Спецификация VM не разработана, чтобы дать Вам информацию, о которой, она разработана для уведомления разработчика VM, примерно, как реализовать VM.

Это сказанное это не может hur для чтения его.

Лучший способ узнать о скорости/проблемах памяти в намного более высоком уровне, существует любое количество книг, которые помогут Вам более быстрый/более минимизированный код.

Профилировщик является неоценимым инструментом для тестирования Вашего кода для наблюдения то, что быстрее / использование меньше памяти. Представьте, посмотрите то, что, замедляются/используют большую память, изменяют его, профиль, видят то, что сделали изменения.

1
ответ дан 30 November 2019 в 22:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: