java零碎知识点.pdf

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java零碎知识点

java 零碎知识点 1. 类型比较符Type Comparision Operator 类型比较符instanceof 用在一个对象是否是某个类、父类和实现的接口的实例,返回逻辑值。 calss Parent; //Parent 是一个类 class Child extends Parent implements MyInterface; //Child 是一个继承了 Parent 类并且实现了 MyInterface 接口的类 Child obj=new Child(); //定义Child 对象obj,并实例化 Parent pobj=new Parent(); //定义Parent 对象pobj ,并实例化 则obj instanceof Parent、pobj instanceof Child 、obj instanceof MyInterface 的返回值分别为true 、false、true 。 一个JVM 实例的行为不光是它自己的事,还涉及到它的子系统、存储区域、数据类型和指令这些部分, 它们描述了 JVM 的一个抽象的内部体系结构,其目的不光规定实现JVM 时它内部的体系结构,更重要的 是提供了一种方式,用于严格定义实现时的外部行为。每个JVM 都有两种机制,一个是装载具有合适名称 的类(类或是接口) ,叫做类装载子系统;另外的一个负责执行包含在已装载的类或接口中的指令,叫做执行 引擎。JVM 的体系结构包括4 部分,分别是类装载子系统、执行引擎子系统、本地方法接口和运行时数据 区。运行时数据区包括方法区、堆、Java 栈、程序计数器和本地方法栈这五个部分,这几个部分和类装载 机制与执行引擎机制一起组成的体系结构图为: JVM 的每个实例都有一个它自己的方法域和一个堆,运行于JVM 内的所有的线程都共享这些区域;当 虚拟机装载类文件的时候,它解析其中的二进制数据所包含的类信息,并把它们放到方法域中;当程序运 行的时候,JVM 把程序初始化的所有对象置于堆上;而每个线程创建的时候,都会拥有自己的程序计数器 和Java 栈,其中程序计数器中的值指向下一条即将被执行的指令,线程的Java 栈则存储为该线程调用Java 方法的状态;本地方法调用的状态被存储在本地方法栈,该方法栈依赖于具体的实现。 下面分别对这几个部分进行说明。 1)类装载子系统(Class Loader Subsystem ) 根据给定的类全名,如java.lang.Object 来装载类(class )文件的内容到运行时数据区(Runtime Data Area ) 中的方法区域(Method Area )。程序员可以继承java.lang.ClassLoader 类来写自己的类加载器。 2 )执行引擎子系统(Execution Engine ) 执行引擎子系统由一套字节码指令集构成,通过执行引擎完成字节码的执行,执行类(class )中的指 令。执行引擎处于JVM 的核心位置,在Java 虚拟机规范中,它的行为是由指令集所决定的。尽管对于每条 指令,规范很详细地说明了当JVM 执行字节码遇到指令时,它的实现应该做什么,但对于怎么做却言之甚 少。Java 虚拟机支持大约248 个字节码。每个字节码执行一种基本的CPU 运算,例如,把一个整数加到寄 1/24 java 零碎知识点 存器、子程序转移等。Java 指令集相当于Java 程序的汇编语言。 Java 指令集中的指令包含一个单字节的操作符,用于指定要执行的操作,还有 0 个或多个操作数,提 供操作所需的参数或数据。许多指令没有操作数,仅由一个单字节的操作符构成。 虚拟机的内层循环的执行过程如下: do{ //取一个操作符字节; //根据操作符的值执行一个动作; }while(程序未结束) 由于指令系统的简单性,使得虚拟机执行的过程十分简单,从而有利于提高执行的效率。指令中操作 数的数量和大小是由操作符决定的。如果操作数比一个字节大,那么它存储的顺序是高位字节优先。例如, 一个16 位的参数存放时占用两个字节,其值为:第一个字节*256+第二个字节字节码。

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档