java虚拟机体系结构概述(一)
java虚拟机之所以称为“虚拟”,就是因为它仅仅是由一个规范来定义的抽象计算机.要运行某个java程序,首先需要一个符合该规范的具体实现.下面主要讨论这个规范本身. 【程序编程相关:JSP学习笔记(五)-----JSP中使】--«深入java虚拟机»学习笔记 【推荐阅读:JSP学习笔记(四)-----JSP动作】 要理解java虚拟机,你必须意识到,当你说“java虚拟机”时,可能指的是如下三种不同的东西: 【扩展信息:JSP学习笔记(六)-----在多个JS】 java虚拟机是什么 抽象规范 一个具体的实现 一个运行中的虚拟机实例 java虚拟机抽象规范仅仅是个概念.该规范的具体实现,可能来自多个提供商,并存在多个平台上.它或者完全用软件实现,或者以硬件与软件相结合的方式来实现.当运行一个java程序的同时,也就在运行了一个java虚拟机实例. java虚拟机的生命周期 一个运行时的java虚拟机实例的天职就是:负责运行一个java程序.当启动一个java程序时,一个虚拟机实例也就诞生了.当该程序关闭推出,这个虚拟机实例也就随之消亡.每个java程序都运行在于自己的java虚拟机实例中.java虚拟机实例通过调用某个初始类的main()方法来运行一个java程序.而这个main()方法必须是public,static,返回值为void.main()方法作为该程序初始线程的起点,任何其他的线程都是由这个初始线程启动的. java虚拟机内部有两种线程:守护线程与非守护线程.守护线程通常由虚拟机自己使用的,比如执行垃圾收集任务的线程.但是,java程序也可以把它的创建的任何线程标记为守护线程.而java程序中的初始线程,就是开始于main()的那个,是非守护线程.只要有非守护线程在运行,那么这个java程序也在继续运行,只有该程序中所有的非守护线程都终止时,虚拟机实例将自动退出. java虚拟机的体系结构 java虚拟机的结构分为:类装载子系统,运行时数据区,执行引擎,本地方法接口.... 下一页