2013年3月8日
摘要: 2.序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。由于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)只会执行一条线程中的指令。因此,为了线程切换后能恢复到正确的执行位置,每条线程都需 阅读全文
posted @ 2013-03-08 16:36 ThinkFar 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 一.体系结构图二、各部分职能1.类装载器子系统而Java虚拟机自带的加载器又包括3种类加载器根类加载器(Bootstrap):负责加载核心JavaClass(即所有java.*开头的类)扩展类加载器(Extension):负责加载扩展的Javaclass(例如所有javax.*开头的类和存放在JRE的ext目录下的类)系统类加载器(Ststem):负责加载应用程序自身的类系统类加载器又称为应用类加载器其中扩展类加载器和系统类加载器是使用Java实现的。而根加载器是使用C++实现的,JVM的API也没有暴露根类加载器,程序员无法在Java代码中获取根加载器。类通过JVM的Classloader加 阅读全文
posted @ 2013-03-08 14:06 ThinkFar 阅读(309) 评论(0) 推荐(0) 编辑
摘要: 定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类图:中介者模式的结构 中介者模式又称为调停者模式,从类图中看,共分为3部分:抽象中介者:定义好同事类对象到中介者对象的接口,用于各个同事类之间的通信。一般包括一个或几个抽象的事件方法,并由子类去实现。中介者实现类:从抽象中介者继承而来,实现抽象中介者中定义的事件方法。从一个同事类接收消息,然后通过消息影响其他同时类。同事类:如果一个对象会影响其他的对象,同时也会被其他对象影响,那么这两个对象称为同事类。在类图中,同事类只有一个,这其实是现实的省略,在实际应用中,同 阅读全文
posted @ 2013-03-08 11:08 ThinkFar 阅读(386) 评论(0) 推荐(0) 编辑