Interview 1#初级知识

JDK、JRE

1,编程环境      JDK

①compile-time environment:.java—【Java compiler】—.class                                         JDK

②move locally or though a network

③run-time environment:       .class—+Java API  .class— 【Java Virtual Machine 】        JRE

2.运行机制       JRE
Java program—【Java Platform of Opreation System】—【Opreation System】
3.JVM
4.Java Program

Java Program—Java methods(Java API)—native methods(dynamic libraries)—host operating system

JVM

1.构成

类加载器   class loader

执行引擎   execution engine

输入——【class loader】—— bytecodes ——【execution engine】——输出

   输入:Java program's class files  + The Java API's class files

   输出:Host Operating System

2.软件实现
Java program's class files+The API'class files——【JVM】—— native method invocations——

【Host operating system】

3.类加载器      class loader  
objects on the heap——part of the JVM implementation【bootstrap class loader】

Java Virtual Machine

Java Virtual Machine概念

抽象规范:

具体实现:全部软件或硬件和软件的组合

运行实例:运行实例承载单个正在运行的的Java应用程序

关系:每个Java应用程序都在JVM的抽象规范的一些具体实现运行时实例内运行。

生命周期

Java Program运行,JVM实例诞生—Java Program完成,JVM实例终止

举例:Java虚拟机实例通过调用main()某些初始类的方法开始运行其单独的应用程序

关系:

    

      -  n个Java Program  : n个JVM实例

      -  1个实例:n个线程

体系结构

Java虚拟机规范中,虚拟机的实例是根据子系统内存区域数据类型指令来描述的

【class loader subsystem】\【runtime data areas】\【execution engine】

类加载子系统       给定完全限定名称的情况下加载类型机制    [类和接口]

执行引擎              负责执行加载类方法中包含的指令机制

运行时数据区域    字节码和从加载的类文件的内存存储

                             [程序实例化的对象,方法的参数,返回值,局部变量和计算的中间结果]

内部线程

初始线程:守护进程、非守护线程

      守护线程:虚拟机本身使用的线程。如:执行垃圾收集线程

      非守护线程:

线程共享的运行时数据区域    [一个实例:n条线程]

       方法区 method area        类文件的类型信息 class  data

       堆         heap                   实例化的对象         object

线程独有的运行时数据区域    [一条线程]

        程序计数器  pc registers    值指向下一条执行的命令

        堆栈             Java stacks    存储Java方法的调用状态[局部变量、参数、返回值、中间计算]—推送\弹出

        说明:本机方法调用的状态   存储在本机方法堆栈中\寄存器\其他依赖于实现的存储区域 [以依赖实现的方式]

数据类型

PrimitiveTypes                          变量保存原始值

         数字类型 NumericTypes    Floating-Point Types  float\double

                                                   Integral Types             byte\short\int\long\char[Unicode]

         布尔类型 boolean              

         returnAddress

ReferenceTypes  reference      变量保存参考值

         类类型      class type

         接口类型  interface types

         数组类型  array types

猜你喜欢

转载自blog.csdn.net/ddhmbbklyk2018/article/details/82118654
今日推荐