zoukankan      html  css  js  c++  java
  • JVM

    jvm是一种虚拟机

    JVM实现大都自带即时编译器(just in time JIT)

    JVM提供了一些内置的基本类型

    除基本类型类型之外的其他一切都是对象

    对象是通过引用类型来访问的

    垃圾收集器过程将过期的对向从从内存中删除

    一般而言,代码在32位还是64位的Java运行时环境中运行都无关紧要。在64位的运行时环境中运行时可使用的运行内存更多,但只要不执行原生操作系统调用或需要的GB内存都无关紧要。(在C语言中,数据类型的长度取决于原生态系统,而在JVM中整型都是是无符号且长为32位)

    JDK是开发工具包,JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面包含lib和bin,可以认为bin就是JVM,lib则是JVM工作所需要的类库,而JVM+lib就是jre.

    Java虚拟机所管理的内存区域分为如下部分:方法区、堆内存、虚拟机栈、本地方法栈、程序计数器。 

    方法区主要用于存储虚拟机加载的类信息、常量、静态变量,以及编译器编译后的代码等数据。
    堆内存主要用于存放对象和数组,它是JVM管理的内存中最大的一块区域,堆内存和方法区都被所有线程共享,在虚拟机启动时创建。

    程序计数器是一块非常小的内存空间,可以看做是当前线程执行字节码的行号指示器,每个线程都有一个独立的程序计数器,因此程序计数器是线程私有的一块空间,此外,程序计数器是Java虚拟机规定的唯一不会发生内存溢出的区域。

    虚拟机栈也是每个线程私有的一块内存空间,它描述的是方法的内存模型,虚拟机会为每个线程分配一个虚拟机栈,每个虚拟机栈中都有若干个栈帧,每个栈帧中存储了局部变量表、操作数栈、动态链接、返回地址等

     本地方法栈与虚拟机栈的区别是,虚拟机栈执行的是Java方法,本地方法栈执行的是本地方法(Native Method)

  • 相关阅读:
    poj1661【DP,左右两端dp】
    hdoj1074【A的无比爆炸】
    hdoj1024【DP.最 大 m 字 段 和】(写完我都怕。。。不忍直视。。)
    qq教xixi写模拟加法【非常爆炸】
    错排公式
    POJ3616【基础DP】
    hdoj1257【疑问】(贪心)
    【弱的C艹之路。。未完待续】
    hdoj1728【搜索的两种写法】
    hdoj1001【智障了。。。】
  • 原文地址:https://www.cnblogs.com/KL2016/p/11306399.html
Copyright © 2011-2022 走看看