zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    java获取指定文件夹下的所有文件名
    org.dom4j.DocumentException: unknown protocol: d Nested exception: unknown
    如何在spring中获取request对象
    Java获取文件后缀名
    解析XML并将信息封装到对象中
    在web项目启动时执行某个方法
    Maven Dependencies没有了的解决办法
    B-树(B+树) 学习总结
    Netty学习笔记之一(Netty解析简单的Http Post Json 请求)
    用到的设计模式总结--单例模式+工厂方法模式+Builder模式
  • 原文地址:https://www.cnblogs.com/liangjingfu/p/9922792.html
Copyright © 2011-2022 走看看