zoukankan      html  css  js  c++  java
  • Java overview && JVM

    参考: 

    http://www.cnblogs.com/java-chl/p/5614940.html

    http://www.studytonight.com/java/component-of-java.php

    JVM 生命周期

    程序开始执行它才运行,程序结束时它就停止。一台机器上运行几个程序就有几个JVM, JVM的生成开始于一个main() 方法. main() 方法是程序的起点

    它被执行的线程初始化为程序的初始线程.程序中其他的线程都是有它来启动.

    JAVA中的线程分为两种:守护线程(daemon) 和 普通线程(non-daemon). 守护线程是JVM自己使用的线程,比如负责垃圾收集的线程就是一个守护线程。

    包含 main() 方法的线程是普通线程,只要JVM中还有普通的线程在执行,JVM就不会停止。

    classLoader: loads the class for execution:

    method area: stores pre-class structure as constant pool.

    heap: in which objects are allocated

    stack: local variables and partial results are stores here.  Each thread has a private JVM stack created when the thread is created.

    program register: program register holds the address of JVM instruction currently being executed

    native method stack: it contains all native used in application.

    execution engine: controls the execute of instructions contained in the methods of the classes

    native method interface: gives an interface between java code and native code during execution

    native method libraries: consist of files required for the execution of native code

    method area 和 heap是整个程序共享的,JVM加载并解析一个类以后,将从文件中解析出来的信息保存在 method area中,程序创建的object

    都保存在heap 中

    当一个线程被创建时,会被分配属于他自己的 pc register 和 stack,当线程不调用本地方法时,pc register中保存线程执行的下一条指令

    stack保存了一个线程调用方法时的状态,包括本地变量,调用方法的参数,返回值,处理的中间变量,调用本地方法时的状态保存在 native method stack

    Difference between JDK and JRE

    JRE: The Java Runtime Environment provides the libraires, the JVM, and other components to run applets and applications written in JAVA. JRE does not contain tools and utilities such as compliers or debuggers for developing applets and applications

    JRE

    JDK: The JDK development kit is a super set of the JRE, and contains everything that is in the JRE, plus tools as te compilers and 

    debuggers necessary for developing applets and applications

  • 相关阅读:
    免费报表工具 积木报表(JiMuReport)的安装
    jeecgboot积木报表(jimuReport)SQL Server切换
    Machine Learning目录
    Pytorch05_torch安装(GPU版)
    Pytorch04_RNN结构
    Pytorch03_张量变化
    Pytorch02_GPU加速
    Pytorch01_通用结构
    怎么将本地文件上传到远程git仓库
    SpringCloud-微服务架构编码构建
  • 原文地址:https://www.cnblogs.com/morningdew/p/5617679.html
Copyright © 2011-2022 走看看