Я пытаюсь понять, что означает это утверждение:Что означает «каждый поток JVM имеет свой собственный счетчик программ»?
Каждая виртуальная машина Java поток имеет свой собственный компьютер (программа счетчик) регистр. В любой момент, каждый поток виртуальной машины Java выполняет код одного метода, а именно текущий метод (§2.6) для этого потока .
https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html#jvms-2.5.1
Я предполагаю, что JVM нить работает как любой другой поток - что каждый раз, когда этот поток планируется запустить (по сказать ядро Linux), что это «программа счетчик» загружается из его task_struct data structure поэтому с точки зрения процессора есть только один программный счетчик - он просто обновляется ОС каждый раз, когда ОС переключает потоки.
Верно ли это? Я запутался, потому что эта целая страница, похоже, подчеркивает, что каждая JVM получает свой собственный компьютер/стек/кучу и т. Д., Но я думал, что это было задано для любого процесса - является ли JVM каким-то уникальным от других процессов?
Ну, вы неверно указали выдержку в названии: «Каждая виртуальная машина Java ** ** имеет свой собственный компьютер». И тогда «потоки JVM ** работают как любой другой поток». –
Вы правы - это различие было частью моего смятения. – Charlie