- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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+第二个字节字节码。
您可能关注的文档
- CH6Java的基本类库1.pptx
- CH6Java的基本类库2.pptx
- CH6Java的基本类库3.pptx
- ci框架完整学习 笔记.doc
- CMS视频集中管理软件使用说明书.pdf
- CNKI总库平台介绍.ppt
- CNPE-CJ-1-PSB-401土建设计阶段设计澄清、现场变更接口管理程序C.pdf
- CODE39二维码和条形码的定义类库.pdf
- CreateFileMapping实现的共享内存及用法.pdf
- Creo2.0创建枚举型参数.pdf
- 2023-2024学年上海市徐汇区龙苑中学九年级上学期期中考化学试卷含详解.docx
- 2023-2024学年北京市第一○一中学高三下学期三模数学试卷含答案.docx
- 2024年天津市和平区高三下学期三模考试历史试卷含答案.docx
- 2024年天津市和平区高三下学期第三次质量调查物理试卷含答案.docx
- 2024年广东省广州市华南师范大学附属中学高三下学期5月高考冲刺物理试卷含答案.docx
- 2024年超声波通讯项目营销方案.docx
- 2024年耐侯钢项目招商引资报告.docx
- 2024年微机数字摄影测量工作站项目营销方案.docx
- 2024年SIC涂层石英玻璃管项目营销方案.docx
- 2024年水产加工品项目招商引资报告.docx
文档评论(0)