那位大神知道啊,麻烦一下,谢谢了!

解决方案 »

  1.   

    将编译好的class加载的内存;
    初始化静态变量;
    分配内存实例化对象。个人理解,如果不对的请指教,《关注问题》
      

  2.   

    从堆中划分一块区域,
    动态创建一个class的数据,
    最后返回该区域的引用。
      

  3.   

    1.为new的类分配内存空间。
    2.调用类的构造方法。
    3.返回该实例(对象)的内存地址。
      

  4.   

    1.调用构造函数
    2.malloc ,判断是否有足够内存,没有throw 异常
    3.返回指向该块内存的指针 
      

  5.   

    没看懂问题。什么叫new的三个动作?
      

  6.   

    1、将编译好的class加载的内存;(会有校验class文件是否合法安全)
    2、初始化静态变量;前面两个是类加载器的工作 
    3、分配内存实例化对象。
      

  7.   

    静态变量初始化不是在jvm的类加载器的时候已经初始化了?不是在new 的时候初始化静态变量的吧?
      

  8.   


    3:返回对象的内存的地址。别忘记new是有返回值的哦,呵呵
      

  9.   


    new指令===》如果该指令的参数在常量池中没有定位到一个类的符号引用,或者是该符号引用代表的类没有被加载、解析和初始化,那么必先执行相应的类加载过程,加载通过后,JVM就会为新生对象分配内存。
      

  10.   

    一new就能蹦出个儿子来。这就是下崽。
      

  11.   

    先写”n“,第二步写”e“,第三步写”w“。
      

  12.   

    看来很多人都不知道啊,请看C++ PRIMER 第四版中文版第18.1.4章节,的定位 new 表达式,理解其原理之后就知道new的三个步骤了new (place_address) type (initializer-list)
      

  13.   

    1.为new的类分配内存空间。
    2.调用类的构造方法。
    3.返回该实例(对象)的内存地址
      

  14.   

    new ?  LS都是说new一个对象吗?  
      

  15.   


    楼主也没问new具体做的什么的动作?new Type(...); // new operator
    1. 申请/分配一块>=sizeof(Type)个字节的内存
    2. 在那块内存的上, 调用Type对应的构造函数初始化那块内存(生成一个Type的实例)
    3. 返回那块内存对应的实例的指针new (pObj) Type(...); // placement new
    1. 找到pObj指向的内存首地址
    2. 在那个地址上, 调用Type对应的构造函数覆盖那块内存(生成一个Type的实例)
    3. 返回那块内存上刚生成的实例的指针
      

  16.   

    虽然我只会一点delphi…… 而且对OOP很反感,但是还是晓得一点点分配->初始化->call构造函数
      

  17.   

    1.为new的类分配内存空间。
    2.调用类的构造方法。
    3.返回该实例(对象)的内存地址。
      

  18.   

    个人觉得:
    1.加载(class的加载)
    2.连接(包括验证,准备,解析)
    3.初始化
      

  19.   

      比较看好的说法是:
      1.为new的类分配内存空间。
      2.调用构造方法。
      3.返回该实例(对象)的地址。