• jvm 02-java对象访问模式


    • java的引用类型是最为重要的数据处理模型
    • 整个引用数据类型在数据处理之中会牵扯到:堆内存、栈内存、方法区。
    • 整个引用操作流程
      • 新定义的对象名称保存在本地变量表中
      • 而后在这块区域里面需要确定要与之对应的栈内存空间
      • 通过变量表中的栈地址可以找到堆内存
      • 利用堆内存的对象进行本地方法的调用(方法区)
    • 例如:Object obj = new Object() --实例化了一个Object类对象
      • Object obj :该表达式既保持在栈内存之中,也保存了堆内存的引用。同时数据会保存在本地变量表中。
      • new Object() :该表达式为一个真正的对象,该对象保存在堆内存之中。

    引用数据类型的两种模式

    • 通过句柄访问

    • 通过直接指针访问(HotSpot虚拟机)

      • 该模式没有句柄池的概念
      • 在JVM中是直接利用对象保存模式,即直接保存具体的对象
      • 该策略省略了句柄到对象间的查找,而后该对象直接进行java方法区的调用

    获取当前JVM版本(java -version)

    • mixed mode为混合模式,适合于编译和执行
    localhost:~ $ java -version
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
    localhost:~ $
    

    纯解释模式启动(java -Xint -version)

    localhost:~ $ java -Xint -version
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, interpreted mode)
    localhost:~ $
    

    纯编译模式启动(java -Xcomp -version)

    localhost:~ $ java -Xcomp -version
    java version "1.8.0_131"
    Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, compiled mode)
    localhost:~ $
    

    JVM的启动有两种模式

    • -server:服务器模式,占用的内存大、启动速度慢,默认模式
    • -client:本地单机运行程序模式,启动速度快
    • 配置文件路径:..Javajdk1.8.0_131jrelibamd64jvm.cfg
  • 相关阅读:
    EasyUI前后端分离
    easyUI权限
    EasyUI入门
    MVC(增删改查)
    MYSQL01 CentOS7下搭建mysql5.6
    Linux02:CentOS7配置静态IP
    Linux01:CentOS7桥接模式主机和虚拟机ping不通问题解决
    windows环境01 xampp+phpwind环境搭建
    Python模块之目录
    Django
  • 原文地址:https://www.cnblogs.com/liangjingfu/p/9922792.html
Copyright © 2020-2023  润新知