摘要: 从Java虚拟机的角度来讲,只存在两种不同的类加载器:一种是启动类加载器(Bootstrap ClassLoader),这个类加载器使用c++语言实现,是虚拟机自身的一部分;另一种就是所有其他的类加载器,这些加载器都是由Java语言实现,独立与虚拟机外部,并且全部都继承自java.lang.Clas 阅读全文
posted @ 2017-08-11 18:02 chump 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 1、概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 与那些在编译时需要进行连接工作的语言不通,在Java语言里,类型的加载、连接和初始化过程都是在程序运行期间完成的,这位Java应用程序提供 阅读全文
posted @ 2017-08-11 15:12 chump 阅读(161) 评论(0) 推荐(0) 编辑
摘要: Java时一门面向对象的编程语言,在Java程序运行过程中无时无刻都有对象被创建出来。那在虚拟机中对象如何而创建呢? 虚拟机遇到一条new指令时,将首先检查这个指令的参数能否子常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那就必须先执行相应地类加 阅读全文
posted @ 2017-08-11 10:29 chump 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1、程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器都只会执行一条线程中的指令。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计 阅读全文
posted @ 2017-08-11 09:56 chump 阅读(130) 评论(0) 推荐(0) 编辑