`
yeshaoting
  • 浏览: 685791 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

类对象创建过程

    博客分类:
  • JVM
阅读更多

StringBuffer x = new StringBuffer();执行过程为例:

Java Virtual Machine Online Instruction Reference 写道
; This example creates a new StringBuffer object. This is like the Java code:
;
; StringBuffer x = new StringBuffer();

; 1. use new to create a new object reference
new java/lang/StringBuffer

; 2. dup the object reference and call its constructor
dup
invokespecial java/lang/StringBuffer/<init>()V

; 3. assign object reference on the stack to a local variable
astore_1
; local variable 1 now contains a StringBuffer object,
; ready for use

 

 

为StringBuffer类尚未初始化对象分配内存空间,并将对象引用压入操作数栈.
复制操作数栈顶数据,这里即是复制了操作数栈顶对象引用.
栈顶对象引用出栈,调用对象所属类构造函数.
当前栈顶元素出栈,存入局部变量数组.

特别地,如果只是new StringBuffer()创建一个临时对象时,astore_1则会变更成pop.

分享到:
评论

相关推荐

    java对象创建过程

    ### Java对象创建过程详解 在Java编程语言中,对象是程序的基本单元,一切皆对象这一概念使得Java在面向对象编程领域具有重要的地位。本文将详细阐述Java对象的创建过程,帮助读者深入理解Java基础。 #### 一、类...

    解决大漠对象创建失败

    "对象创建失败"是一个常见的编程或运行时错误,它可能出现在任何使用对象模型的系统中,包括大漠插件的使用过程中。下面我们将深入探讨这个问题以及可能的解决方案。 首先,我们要理解什么是对象创建。在面向对象...

    COM对象创建过程总结

    以下是对COM对象创建过程的详细阐述,包括进程内和进程外的情况。 **进程内创建COM对象** 在进程内的DLL(动态链接库)中创建COM对象的步骤如下: 1. **客户调用CoCreateInstance**:客户端代码通过调用...

    在js中创建类和对象

    在JavaScript中,创建类和对象是面向对象编程的基础。本文将详细介绍几种常见的创建对象的方法,包括它们的特点和优缺点。 5.1 工厂方法 工厂方法是一种创建对象的模式,通过一个函数来创建具有特定属性和行为的...

    ATL 揭秘之“对象创建”篇

    在ATL中,对象创建过程通常由对象工厂(`CComObjectFactory`)完成。当调用`CoCreateInstance`时,会触发对象工厂创建对象。对象工厂负责实例化对象,并初始化其引用计数。 **4.2 内存分配** 虽然我们在代码中没有...

    易语言对象创建快捷方式

    在易语言中,对象创建快捷方式的过程通常包括以下几个步骤: 1. **定义变量**:首先,你需要定义几个关键变量,例如目标文件路径(TargetFilePath),快捷方式的保存位置(ShortcutPath),以及可能的快捷方式图标...

    java虚拟机对象创建流程

    java虚拟机对象创建流程

    java四种创建对象的方式

    Java中创建对象主要有四种显式的方式,分别是使用new关键字、反射机制、克隆克隆方法...在实际开发中,选择合适的对象创建方式能够提高程序的效率和性能,同时也要注意对象创建过程中可能出现的内存泄漏和性能问题。

    sap权限对象的创建和使用

    本文将深入探讨如何创建和使用权限对象,并通过ABAP编程举例来展示其实现过程。 首先,创建一个权限对象需要在SAP的后台系统中进行。在交易代码SEAC(Authorization Objects Maintenance)中,你可以新建一个对象,...

    java对象创建与回收demo

    对象的创建过程包括以下步骤: 1. 分配内存:JVM(Java虚拟机)在堆中为对象分配所需的空间。 2. 初始化成员变量:根据类定义,将每个成员变量初始化为其默认值或者指定的构造函数参数。 3. 调用构造函数:执行类的...

    易语言对象创建提示框

    源码分析可能涉及易语言的语法结构,如`定义类`、`结束定义`、`过程`、`结束过程`等关键词,以及如何使用条件语句(如`如果`、`否则`)、循环语句(如`重复`、`结束重复`)来控制程序流程。此外,还需要理解如何调用...

    java中对象创建、初始化、引用

    #### 一、Java对象、引用及创建过程 在Java中,对象是程序的基本单位,它包含了属性(成员变量)和行为(方法)。对象是由类创建出来的实例,而类则是一组具有相同属性和行为的对象的模板。 ##### 1. 对象创建与...

    浅析Java语言中对象的创建过程.pdf

    整个Java对象创建过程涉及到内存的动态分配、类的加载、字段的初始化、构造函数的调用等多个步骤,这些都是Java运行时系统的核心部分。了解这些机制对于编写高效且稳定的Java应用程序至关重要。通过本文,读者可以更...

    javascript创建对象的方式(一)

    工厂函数是返回一个新对象的函数,它封装了创建对象的过程,使得对象创建过程更具抽象性。 ```javascript function createPerson(name, age) { var obj = new Object(); obj.name = name; obj.age = age; obj...

    使用PowerDesigner创建面向对象模型7-sun,com[整理].pdf

    PowerDesigner是一款强大的数据库建模工具,它也支持创建面向对象模型。面向对象模型是一种软件设计方法,通过模拟现实世界中的对象来构建复杂系统的抽象。在本文中,我们将深入探讨如何使用PowerDesigner创建面向...

    SqlSession 创建过程.pdf

    以上就是MyBatis中SqlSession对象创建的整个流程,从读取配置文件到最终生成SqlSession对象。通过理解这个过程,我们可以更加深入地理解MyBatis的工作机制以及其灵活的配置方式。在实际开发中,MyBatis的强大功能和...

    易语言源码对象创建快捷方式.rar

    在"对象创建快捷方式"的源码中,开发者可能会先定义一个表示快捷方式的类,类中包含创建、修改和删除快捷方式的方法。这些方法会调用相应的系统API,比如`ILCreateFromPath`和`ILSaveToPath`用于创建和保存快捷方式...

    java内存对象分配过程研究

    本文通过对Java虚拟机内存区域的分析,详细介绍了对象创建的过程,包括定义对象变量、为对象分配内存以及初始化对象等关键步骤。此外,还探讨了对象在内存中的具体布局以及初始化过程中的一些细节。希望本文能够帮助...

    Java中控制创建对象的个数

    首先,让我们了解基本的对象创建过程。在Java中,我们通常通过`new`关键字来创建对象。例如: ```java MyClass myObject = new MyClass(); ``` 然而,如果我们要控制对象的个数,直接使用这种方式可能会导致无限制...

Global site tag (gtag.js) - Google Analytics