首页>新闻>成都Java培训班哪家教学靠谱

成都Java培训班哪家教学靠谱

来源:达内IT教育-成都校区

时间:2021/6/15 15:39:20

成都Java培训班哪家教学靠谱?成都java开发培训,好口碑java开发培训机构选达内,打造java实战课程全面覆盖Java SE,Java Web,高并发架构等技术,从0基础到Java工程师,线下面授+0元线上视频,学不会都难!

一、基础理论知识

1、java虚拟机的生命周期:

Java虚拟机的生命周期 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时他才运行,程序结束时他就停止。

你在同一台机器上运行三个程序,就会有三个运行中的Java虚拟机。

Java虚拟机总是开始于一个main()方法,这个方法必须是公有、返回void、直接受一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包换main()方法的类名。

Main()方法是程序的起点,他被执行的线程初始化为程序的初始线程。程序中其他的线程都由他来启动。Java中的线程分为两种:守护线程(daemon)和普通线程(non-daemon)。守护线程是Java虚拟机自己使用的线程,比如负责垃圾收集的线程就是一个守护线程。当然,你也可以把自己的程序设置为守护线程。包含Main()方法的初始线程不是守护线程。

只要Java虚拟机中还有普通的线程在执行,Java虚拟机就不会停止。如果有足够的权限,你可以调用exit()方法终止程序。

2、java虚拟机的体系结构:

在Java虚拟机的规范中定义了一系列的子系统、内存区域、数据类型和使用指南。这些组件构成了Java虚拟机的内部结构,他们不仅仅为Java虚拟机的实现提供了清晰的内部结构,更是严格规定了Java虚拟机实现的外部行为。

每一个Java虚拟机都由一个类加载器子系统(class loadersubsystem),负责加载程序中的类型(类和接口),并赋予的名字。每一个Java虚拟机都有一个执行引擎(executionengine)负责执行被加载类中包含的指令。

程序的执行需要一定的内存空间,如字节码、被加载类的其他额外信息、程序中的对象、方法的参数、返回值、本地变量、处理的中间变量等等。Java虚拟机将这些信息统统保存在数据区(data areas)中。虽然每个Java虚拟机的实现中都包含数据区,但是Java虚拟机规范对数据区的规定却非常的抽象。

许多结构上的细节部分都留给了

Java虚拟机实现者自己发挥。不同Java虚拟机实现上的内存结构千差万别。一部分实现可能占用很多内存,而其他以下可能只占用很少的内存;一些实现可

能会使用虚拟内存,而其他的则不使用。这种比较精炼的Java虚拟机内存规约,可以使得Java虚拟机可以在广泛的平台上被实现。

数据区中的一部分是整个程序共有,其他部分被单独的线程控制。每一个Java虚拟机都包含方法区(methodarea)和堆(heap),他们都被整个程序共享。Java虚拟机加载并解析一个类以后,将从类文件中解析出来的信息保存与方法区中。程序执行时创建的

对象都保存在堆中。 当一个线程被创建时,会被分配只属于他自己的PC寄存器“pc register”(程序计数器)和Java堆栈(Javastack)。当线程不掉用本地方法时,PC寄存器中保存线程执行的下一条指令。Java堆栈保存了一个线程调用方法时的状态,包括本地变量、调用方法的参数、返回值、处理的中间变量。

调用本地方法时的状态保存在本地方法堆栈中(native method stacks),可能再寄存器或者其他非平台独立的内存中。

Java堆栈有堆栈块(stack frames (orframes))组成。堆栈块包含Java方法调用的状态。当一个线程调用一个方法时,Java虚拟机会将一个新的块压到Java堆栈中,当这个方法运行结束时,Java虚拟机会将对应的块弹出并抛弃。

Java虚拟机不使用寄存器保存计算的中间结果,而是用Java堆栈在存放中间结果。这是的Java虚拟机的指令更紧凑,也更容易在一个没有寄存器的设备上实现Java虚拟机。

  • 上一篇:成都Java培训机构哪家全国靠前
  • 下一篇:成都不错的web前端培训机构
  • 相关推荐 更多>

    成都十分出色的UI设计培训机构名...

    成都盘点比较好的UI设计培训机构...

    成都诚信可靠的UI设计培训机构名...

    成都盘点人气旺的UI设计培训机构...

    成都实力榜上的UI设计培训机构榜...

    成都受学员认可的UI设计培训机构...

    预约体验课

    版权所有:搜学搜课(www.soxsok.com)

  • 在线咨询
  • 电话咨询
  • 预约试听

  • ;