Хорошие программисты структура доли Java JVM

  Хорошие программисты Java JVM структура доля, основная структура JVM, то есть, мы назвали Обзор. Много содержания, но и большое количество понятий, на концепции уважения, пусть концепции в графики в вашем сознании, до тех пор , пока у вас есть терпение , осторожность , играть свое собственное воображение, оно сделает вас полно веры сердца . Конечно, нельзя сказать , что после прочтения его для JVM понять это , очень много обучения Jvm знаний. В вашем чтении, мы будем следить , чтобы узнать подробности о JVM, но если вы читали вниз предпосылку исследования, чтобы узнать другие подробности будут JVM более эффективными.

1. Что такое виртуальная машина Java

  Сначала мы напишем класс

1.png Изображение

Затем откройте CMD окно, введите: Java test.JVMForJava, откройте диспетчер задач - процесс, вы видите программу под названием java.exe нет, да, это виртуальная машина Java, Java ххх Эта команда используется для запуска Java Virtual машина, в то время как основная функция входа является приложением Java, когда основная функция выполняются, виртуальная машина Java началась. Ну CTRL + C , чтобы закончить JVM. Откройте ecplise, приложение правой кнопкой запуска, а затем запустить приложение снова открыть диспетчер задач - процесс, хорошо, мы увидим два javaw.exe, почему там два? Потому что мы просто запустить дважды запустить приложение. Я здесь , чтобы сказать вам, приложение Java соответствует java.exe / javaw.exe (java.exe и javaw.exe вы можете думать о нем , как виртуальная машина Java, есть окно интерфейса без него ). Вы запускаете несколько приложений есть несколько java.exe / javaw.exe. Или более конкретно, вы запускаете несколько основных функций будет начать несколько Java - приложений, а также запустила несколько виртуальных машин Java.

  Что такое Java экземпляры виртуальных машин и виртуальных машин? виртуальная машина Java эквивалентна одному из наших классов Java, Java виртуальных экземпляров машины, мы совершенно новый класс Java, но виртуальная машина Java , но не запускать виртуальную машину java.exe или javaw.exe по новым ключевым словам экземпляр.

2, жизненный цикл виртуальной машины Java

(1)  слово не говорит , взглянуть на код, а затем после применения в открытом ecplise Task Manager , в перспективе - процесс, вы увидите javaw.exe работающую виртуальную машину, просмотреть вывод на консоль, и наблюдать диспетчер задач javaw.exe исчезли.

2.png Изображение

  (Я не буду приводить выстрелы, и слишком долго.)

  Если вы посмотрите на консоль и диспетчер задач javaw.exe обнаружит , что , когда основная функция для печати цикла закончена, я хочу программировать его не то же самое , как на самом деле не бросить курить, но не ждать , пока весь новый Thread () в анонимном классе после запуска метода запуска, javaw.exe единственного выхода. Мы знаем , что в win32 программировании C ++ 's (CreatThread ()), основное выполнение функции заканчивается, посадочная нить также вытащила, и в C # , если вы используете пул потоков (ThreadPool), то вывод верно, потоки следует в конце процесса хостинга и конец. Но в Java выглядит как и наши знания очень разные, как это происходит, не смотреть на результаты первого думать почему.

  Да , это связано с виртуальной машины Java, он имеет две темы , а Jiaojiao демон потоки, называемые не-демон нить , основной функцией является не-демон потоки , виртуальные машины дс является демон нить . виртуальная машина Java, до тех пор , пока существует какой - либо не-демон нить еще не закончена, примеры виртуальная машина Java не будет бросить курить, даже если основная функция этого не-демон нить выходит, но в связи с началом основной функции потока является анонимным , не демон поток, она не закончена, поэтому никакого способа выхода JVM.

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


рекомендация

отblog.51cto.com/14249543/2403276