JAVA的基本数据类型和引用数据类型的区别
2016-07-12 18:16
597 查看
引用数据类型:
类、接口类型、数组类型、枚举类型、注解类型;
基本数据类型和引用数据类型的区别:
基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上;
引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存,而对象的具体信息都存储在堆内存上,然后由栈上面的引用指向堆中对象的地址。
例如,有一个类Person,有属性name,age,带有参的构造方法,
Person p = new Person("Tom",20);
在内存中的具体创建过程是:
1.首先在栈内存中位其p分配一块空间;
2.在堆内存中为Person对象分配一块空间,并为其三个属性设初值"",0;
3.根据类Person中对属性的定义,为该对象的两个属性进行赋值操作;
4.调用构造方法,为两个属性赋值为"Tom",20;(注意这个时候p与Person对象之间还没有建立联系);
5.将Person对象在堆内存中的地址,赋值给栈中的p;通过句柄p可以找到堆中对象的具体信息
相关文章推荐
- eclipse去掉对js的Validation
- Struts2中通过validation.xml验证数字,后台报错
- 开源项目导入eclipse的一般步骤
- 高性能java实现不同服务器直接的数据库迁移。
- spring boot单元测试(转)
- SymmetricDS 完全配置安装手册
- Maven将java工程打成tar包
- Java并发编程:Callable、Future和FutureTask
- Java中的编码格式
- spring定时任务时间规则——在线验证时间跑批规则
- 如何在依赖aar的情况下进行Java单元测试
- shiro与spring整合
- Intellij上Junit配置
- Spring MVC 参数字段校验
- Spring AOP的底层实现技术 Proxy InvocationHandler
- java 泛型编程学习
- Java并发包:ExecutorService和ThreadPoolExecutor
- SDK、JDK、JRE、JVM、JDT、CDT等之间的区别与联系
- XFire客户端调用JDK1.6的webserivce时参数为null
- java多线程--JUC集合框架