`

Person p = new Person("zhangsan",20);JVM运行到这句话时,做了什么事情?

阅读更多

Person p = new Person("zhangsan",20);JVM运行到这句话时,做了什么事情?

 

1,因为new用到了Person.class.所以会先找到Person.class文件并加载到内存中。

2,执行该类中的static代码块,如果有的话,给Person.class类进行初始化。

3,在堆内存中开辟空间,分配内存地址。

4,在堆内存中建立对象的特有属性。并进行默认初始化。

5,对属性进行显示初始化。

6,对对象进行构造代码块初始化。

7,对对象进行对应的构造函数初始化。

8,将内存地址付给栈内存中的p变量。

 

分享到:
评论

相关推荐

    java中的IO操作总结(四)

    Person p1 = new Person("zhangsan",12); Person p2 = new Person("lisi",14); //此处创建文件写入流的引用是要给ObjectOutputStream的构造函数玩儿 FileOutputStream fos = null; ObjectOutputStream oos = ...

    trang.jar trang.jar

    <person NAME="ZhangSan"> <address country="China"> <state>beijing</state> </address> <Job>IT</Job> </person> 打开windows命令行,将当前位置变更到 d:\xmlToxsd 输入 java -jar trang.jar person.xml person...

    JavaScript中定义对象原型的两种使用方法

    第一种: function Person() { this.username = new Array();...var p = new Person(); var p2 = new Person(); p.username.push("zhangsan"); p2.username.push("lisi"); p.getInfo(); p2.getInfo(); 第二种:

    js对象简介与基本用法示例

    var person = new Object; 对于一个已经声明的对象,可以给该对象设置任意属性。比如 var person = new Object(); person.name = zhangsan; console.log(person); //Object {name: zhangsan} 这样就给person对象...

    点击浏览器中的URL链接,启动特定的App。

    这一句就可以了。 各个项目含义如下所示: scheme:判别启动的App。 ※详细后述 host:适当记述 path:传值时必须的key ※没有也可以 query:获取值的Key和Value ※没有也可以 作为测试好好写了一下,如下: ...

    遍历json 对象的属性并且动态添加属性的实现

    var person= { name: 'zhangsan', pass: '123' , 'sni.ni' : 'sss', hello:function (){ for(var i=0;i<arguments.length;i++){ //在不知参数个数情况下可通过for循环遍历 // arguments这个是js 默认提供 ...

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

    然后,你要介绍这个人能做什么,可以开车,会说英语,可以使用电脑等等。 只要你介绍多一点,别人对这个人就多一点了解,这就是我们对一个人的描述, 现在我们总结 一下,所有的对象我们用类去描述都是类似的,从...

    Python self用法详解

    在定义类的过程中,无论是显式创建类的构造方法,还是向类中添加实例方法,都要求将 ...zhangsan = Person() zhangsan.study() lisi = Person() lisi.study() 那么,self 到底扮演着什么样的角色呢?接下来将对 self

    android mars视频代码 Tea_marsListActivity

    ArrayList,String>> list = new ArrayList,String>>(); HashMap,String> map1 = new HashMap,String>(); HashMap,String> map2 = new HashMap,String>(); HashMap,String> map3 = new HashMap,String>(); map1....

    谷歌处理JSON数据的jar包Gson.jar

    list.add("zhangsan"); list.add("lisi"); list.add("wangwu"); Gson gson = new Gson(); String json = gson.toJson(list); out.write(json);就可以把处理好的json数据发送到前台接收

    jsp基础精华详解

    Cookie cookie = new Cookie("name", "zhangsan"); //设置Cookie的超时时间 cookie.setMaxAge(24 * 60 * 60 *60); //把Cookie发送到客户端 response.addCookie(cookie); //得到客户端发送的Cookie Cookie [] ...

    jquery动态遍历Json对象的属性和值的方法

    name: 'zhangsan', pass: '123', fn: function(){ alert(this.name+"的密码="+this.pass); } } //遍历person属性包括方法,如果不想显示出方法,可用typeof(person[item])== "function"来判断 for...

    SqlHelper MSSQL数据库辅助类 自己写的,不足之处请大家指教

    在需要用SqlHelper类的项目添加对System.Configuration的应用,有什么不足的地方希望大家能够给我指出来,我也好做一下修改什么的。 需要说明的是ExecuteList和ExecuteObject是泛型方法,调用时除了需要传必须的...

    Javascript this 关键字 详解

    在上篇文章中,我们提到了使用new和不使用new调用构造函数的区别,如下例: 代码如下: function Benjamin(username, sex) {  this.username = username;  this.sex = sex; } var benjamin = new Benjamin(“zuojj...

    set转成list集合再排序输出

    User u1=new User(1, "zhangsan"); User u2=new User(2, "lisan"); User u3=new User(3, "wangsan"); //放入到Set集合中 Set userset=new HashSet(); userset.add(u1); userset.add(u2); ...

    第十一天 05运算相关的魔法方法【千锋Python人工智能学院】1

    运算相关的魔法方法比较运算符相关魔法方法千 锋 Python人 工 智 能 学 院s1 = Student('zhangsan', 18)s2 = Studen

    JQuery查找子元素find()和遍历集合each的方法总结

    input type=boy name=ZhangSan value=206> <input type=girl name=Lisi value=108> </div>  2.jquery [removed] /* find() 查找子元素方法 */ var aaa = $(div[name='students'][school='HK']).find...

    Java学习笔记,常用类

    Java学习笔记,常用类

    WEB16-session&cookie-源代码.rar

    Cookie cookie = new Cookie("username","zhangsan"); 那么该cookie会以响应头的形式发送给客户端: 注意:Cookie中不能存储中文 2)设置Cookie在客户端的持久化时间: cookie.setMaxAge(int seconds); ---时间秒...

Global site tag (gtag.js) - Google Analytics