`
wangwengcn
  • 浏览: 172993 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

对象访问的两种方式

    博客分类:
  • JVM
阅读更多

1.使用句柄访问
  如果使用句柄访问方式,Java堆中将会划分出一块内存来作为句柄池,reference中存储的就是对象的句柄地址,而句柄中包含了对象实例数据和类型数据各自的具体地址信息。


  
 2.使用直接指针访问
  如果使用直接指针访问方式,Java堆对象的布局中就必须考虑如何放置访问类型数据的相关信息,reference中存储的就是对象地址


  
 这两种对象的访问方式各有优势,使用句柄访问方式的最大好处就是reference中存储的是稳定的句柄地址,在对象被移动(垃圾收集时移动对象是非常普遍的行为)时只会改变句柄中的实例数据指针,而reference本身不需要被修改。
 使用直接指针访问方式的最大好处就是速度快,它节省了一次指针定位的时间开销。Sun HotSpot虚拟机就是使用直接指针方式的。

分享到:
评论

相关推荐

    javascript面向对象之访问对象属性的两种方式分析.docx

    javascript面向对象之访问对象属性的两种方式分析.docx

    JS访问对象两种方式区别解析

    主要介绍了JS访问对象两种方式区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    javascript面向对象之访问对象属性的两种方式分析

    本文实例分析了javascript面向对象之访问对象属性的两种方式。分享给大家供大家参考。具体如下: javascript面向对象的访问对象属性的两种方式。如下代码所示: 代码如下:[removed] function Person(){}; var p1 = ...

    HTML页面访问ActiveXObject对象的方法和属性

    一个实现自定义ActiveX控件的demo TestActiveX.html页面中通过两种方式(OBJECT对象引用和ActiveXObject对象创建)访问ActiveX控件对象的方法和属性 解决 意外地调用了对象的方法和属性访问

    ACCESS中Field对象的标题属性

    Field对象的CAPTION属性并不是ADO原生对象,而是“可由ADO访问的ACCESS属性”,在帮助文档中介绍了两种访问这个属性的方法,一种利用ADO,一种利用DAO,由于在ACCESS2003及以前的版本中Field对象并不是ACCESSObject...

    jsp九大内置对象

    1、Request对象  该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息...(虽然两种方式都能达到同样的目的)  9、Exception对象  在处理异常的网页中可以直接访问exception隐式对象。

    struts2+spring+hibernate(实现XML和Annotation两种方式操作数据库)

    struts2+spring+hibernate(实现XML和Annotation两种方式操作数据库) 项目描述: 框架及版本:struts2 + spring3.0 + hibernate3.3 所实现的功能说明 把两个对象存入到数据库中 1、一种方法采用XML文件映射的方式 2...

    STRUTS2获得作用域、参数响应对象及三种符号说明

    RequestMap,SessionMap,ApplicationMap, AttributeMap. struts提供两种方式访问session,request ,response,ActionContext 使用。 获得作用域及参数响应对象及三种符号说明

    c++面向对象复习题答案版.doc

    1.C++中有两种数据类型: ( char )和 ( int long )可以使用signed修饰符。 在C++中,用数组、指针、和( 引用 )...8.在C++中,虽然友元提供了类之间数据进行访问的一种方式,但它破坏了面向对象程序设计的( 封装 )特性。

    Java面向对象编程思想

    第二种方式,也就是面向对象的编程(object-oriented programming )。面向对象的编程围绕它的数据(即对象)和为这个数据严格定义的接口来组织程序。面向对象的程序实际上是用数据控制对代码的访问。

    js中数组对象去重的两种方法

    采用对象访问属性的方法,判断属性值是否存在,如果不存在就添加。 方法二: 采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法 var arr = [{ key: '01', value: '乐乐' }, { key: '02', value: ...

    Flex入门源码 远程java访问 spring集成

    包括访问spring配置对象的两种方式以及序列化机制的对应实现

    VB通过DAO访问ACCESS数据库

    在VB中提供了两种与Jet数据库引擎接口的方法:Data控件和数据访问对象(DAO)。Data控件只给出有限的不需编程而能访问现存数据库的功能,而DAO模型则是全面控制数据库的完整编程接口。Data控件将常用的DAO功能封装在...

    Java面向对象基础知识点复习

     继承:继承实际上是存在与面向对象程序中的两个类之间的一种关系。当一个类拥有另一个类的所有数据和操作时,就称这两个类之间具有继承关系,private属性除外。 被继承的类称为父类或者超类,继承了父类的所有数据...

    面对对象的四大特性

    是把过程和数据包围起来,对数据的访问只能通过已定义的界面,面向对象计算始于 这个基本概念,即实现世界可以被描绘成一系列完成自治,封装的对象,这些对象通过一个受保护 接口访问其他对象 多态性 是只...

    PHP 面向对象技术(全面讲解).txt

    上面看到PHP 对象中的成员有两种一种是成员属性,一种是成员方法。对象我们以经可以声明 了,$p1=new Person();怎么去使用对象的成员呢?要想访问对象中的成员就要使用一个特殊的操 作符“->”来完成对象成员的访问...

    jsp内置对象的用法

    pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫...

    设计模式:可复用面向对象软件的基础--详细书签版

    ”)的应用经验和体验后,你将用一种非同寻常的方式思考面向对象设计。你将拥有一种深刻的洞察力,以帮助你设计出更加灵活的、模块化的、可复用的和易理解的软件—这也是你为何着迷于面向对象技术的源动力,不是吗?...

Global site tag (gtag.js) - Google Analytics