Java一切皆对象
2016-06-24 07:30
344 查看
一:引用操作对象
在Java中,一切都被视为对象,既然一切都是对象,那就有一个相同的方式来操作对象,所操作的标示符实际上是对对象的一个引用。这里可以理解为遥控器操作电视机,遥控器是可以单独存在的,也就是说,你有一个引用,不代表你必须有和引用关联的对象。
上面创建一个引用并初始化。
上面创建一个引用,并且使用new操作符来关联一个新对象。这里不仅给了一个字符串,还说明了字符串是如何产生的。
二:对象的存储方式
1)寄存器:这是快的存储区,在处理器的内部,但是数量有限,无法直接控制
2)堆栈:位于通用的随机访问存储器中,堆栈指针向下移动,则分配新的内存,向上移动,释放内存。常用来存储java的对象引用
3)堆:通用的内存池,存放所有的java对象
4)常量存储:直接存放在程序代码的内部,这样非常的安全,常量的值不会被改变
三:java的垃圾回收机制
java存在一个垃圾回收器,监视所有使用new创建的对象,并判断哪些是不再被引用的对象,随后释放内存空间,这样很好的解决了编程的内存泄露问题。
操作案例:
在Java中,一切都被视为对象,既然一切都是对象,那就有一个相同的方式来操作对象,所操作的标示符实际上是对对象的一个引用。这里可以理解为遥控器操作电视机,遥控器是可以单独存在的,也就是说,你有一个引用,不代表你必须有和引用关联的对象。
String s = "Hellow,world";
上面创建一个引用并初始化。
String s = new String("hello");
上面创建一个引用,并且使用new操作符来关联一个新对象。这里不仅给了一个字符串,还说明了字符串是如何产生的。
二:对象的存储方式
1)寄存器:这是快的存储区,在处理器的内部,但是数量有限,无法直接控制
2)堆栈:位于通用的随机访问存储器中,堆栈指针向下移动,则分配新的内存,向上移动,释放内存。常用来存储java的对象引用
3)堆:通用的内存池,存放所有的java对象
4)常量存储:直接存放在程序代码的内部,这样非常的安全,常量的值不会被改变
三:java的垃圾回收机制
java存在一个垃圾回收器,监视所有使用new创建的对象,并判断哪些是不再被引用的对象,随后释放内存空间,这样很好的解决了编程的内存泄露问题。
操作案例:
<span style="font-size:18px;">package com.cloud.day1; public class Demo3 { public static void main(String[] args) { //这里创建一个引用,并且初始化 String s = "Hello"; //创建一个引用并且使用new关联对象 String s1 = new String("MyString"); String s2 = new String("YourString"); //这里修改s2的引用的指向地址,指向s1引用指向的对象地址 //程序运行到这里就会产生一个垃圾对象"YourString" //jvm启动垃圾回收时,就会回收该垃圾对象,释放空间 s2 = s1; System.out.println("s1:"+s1); System.out.println("s2:"+s2); /**输出结果 * s1:MyString * s2:MyString */ } }</span>
相关文章推荐
- Java线程间通信方式剖析——Java进阶(四)
- Java线程间通信方式剖析——Java进阶(四)
- Struts2系列:(11)文件上传
- spring mvc 4.25 与返回json的整合
- javax.servlet不存在的问题
- Java Code Examples for PhantomJSDriverService
- Java内存分配、管理小结
- 在 Jboss中如何使用 WSDL 来生成客户端代码 JAVA
- 在eclipse中安装testNg
- Java之JSP和Servlet基础知识。
- Struts2系列:(10)struts.xml和struts.properties详解
- java中Map,List与Set的区别
- 04_一个例子搞清数组和循环
- Eclipse调试技巧:远程调试,条件断点和异常断点
- Java右键菜单实现文本组件内容的的复制、粘贴、剪切功能
- 如何在Spring 的官网上下载 Spring Framework 和 Spring Tool Suite
- 详解java WebSocket的实现以及Spring WebSocket
- java WebSocket的实现以及Spring WebSocket示例代码
- 小谈Java中的静态块与非静态块
- JavaWeb实现图形报表折线图的方法