`
myhongkongzhen
  • 浏览: 94055 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

JAVA內存引用的理解

    博客分类:
  • J2EE
 
阅读更多

2012年6月19日10:08:02

 

源碼:

 

/**
 * demo
 */
package demo;

/**
 * @author Wu Zhenzhen
 * @version Jun 19, 2012 10:02:07 AM
 * 
 */
public class Point
{
	private int x;
	private int y;

	public void move(int x, int y)
	{
		this.x += x;
		this.y += y;
	}

	@Override
	public String toString()
	{
		return "Point [x=" + x + ", y=" + y + "]";
	}

	/**
	 * @param x
	 * @param y
	 */
	public Point(int x, int y)
	{
		super();
		this.x = x;
		this.y = y;
	}

	/**
	 * 
	 */
	public Point()
	{
		super();
	}

}

 

 

/**
 * demo
 */
package demo;

/**
 * @author Wu Zhenzhen
 * @version Jun 19, 2012 10:03:50 AM
 * 
 */
public class TestPoint
{

	/**
	 * <p />
	 * Jun 19, 2012 10:03:50 AM
	 * 
	 * @param args
	 */
	public static void main(String[] args)
	{
		Point p1 = new Point(1, 1);
		Point p2 = p1;

		System.out.print("P1 ===> ");
		System.out.println(p1);
		System.out.print("P2 ===> ");
		System.out.println(p2);
		System.out.println("=============================");
		p2.move(10, 10);
		System.out.print("P1 ===> ");
		System.out.println(p1);
		System.out.print("P2 ===> ");
		System.out.println(p2);

	}

}

 

 

結果:

 

P1 ===> Point [x=1, y=1]
P2 ===> Point [x=1, y=1]
=============================
P1 ===> Point [x=11, y=11]
P2 ===> Point [x=11, y=11]

 

結果

 

  • 大小: 30.3 KB
分享到:
评论

相关推荐

    深入理解Java内存模型.程晓明(带书签文字版).pdf

    Java 内存模型的抽象 4 重排序 6 处理器重排序与内存屏障指令 7 happens-before 10 重排序 13 数据依赖性 13 as-if-serial 语义 13 程序顺序规则 15 重排序对多线程的影响 15 顺序一致性 19 数据竞争与顺序...

    Java内存管理机制相关资料汇总

    资源名称:Java内存管理机制相关资料汇总资源目录:【】java内存回收机制及预防【】java内存管理机制【】java内存管理白皮书【】Java虚拟机内存管理_对象和引用_空指针【】深入理解java虚拟机jvm高级行与最佳实践...

    深入理解java内存模型

    Java内存模型的抽象 重排序 处理器重排序与内存屏障指令 happens-before 重排序 数据依赖性 as-if-serial 语义 程序顺序规则 重排序对多线程的影响 顺序一致性 数据竞争与顺序一致性保证 顺序一致性内存模型 同步...

    java内存泄漏

     上面是Java内存管理机制的基本情况。但是如果仅仅理解到这里,我们在实际的项目开发中仍然会遇到内存泄漏的问题。也许有人表示怀疑,既然Java的垃圾回收机制能够自动的回收内存,怎么还会出现内存泄漏的情况呢?这...

    [尚硅谷]_宋红康_深度解析Java内存原型

    一、Java 虚拟机内存原型 寄存器:我们在程序中无法控制。 栈: 存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在 堆中。 堆:存放用 new 产生的数据。 静态域:存放在对象中用 static 定义的...

    Java的内存机制(堆和栈)简单理解

    偶然看到一道面试题,Java在实例化一个类的时候,数据在堆和栈中是如何存放的?  public class A{  public int i=1;  public static A a1 = new A();  public static void mian...  Java把内存分为堆内存

    Java内存分配分析/栈内存、堆内存

    首先学习JVM相关需要需要内存的组成。  基本内容  · 堆  java动态创建对象,即对于new的一个实例对象。但是需要注意的是该实例对象的成员变量都存储在各自的堆区域中,其中对象方法是在堆中共享,即不是每次...

    深入理解Java虚拟机视频教程(jvm性能调优+内存模型+虚拟机原理)视频教程

    第28节Java内存区域-直接内存和运行时常量池00:15:53分钟 | 第29节对象在内存中的布局-对象的创建00:21:19分钟 | 第30节探究对象的结构00:13:47分钟 | 第31节深入理解对象的访问定位00:08:01分钟 | 第32节垃圾...

    java源码包---java 源码 大量 实例

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM...

    深入理解理解java虚拟机

    任何时刻计数器都为0的对象是不再被使用的,垃圾收集器将回收该对象使用的内存。  实现简单,判定效率很高。但是很难解决对象之间循环引用的问题。  2,可达性分析算法:  java所使用的垃圾回收算法。  基本...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    第2章 Java内存区域与内存溢出异常 / 24 2.1 概述 / 24 2.2 运行时数据区域 / 25 2.2.1 程序计数器 / 25 2.2.2 Java虚拟机栈 / 26 2.2.3 本地方法栈 / 27 2.2.4 Java堆 / 27 2.2.5 方法区 / 28 2.2.6 运行...

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    深入理解JVM内存结构及运行原理全套视频加资料.txt

     第28讲 Java内存区域-直接内存和运行时常量池 00:15:53  第29讲 对象在内存中的布局-对象的创建 00:21:19  第30讲 探究对象的结构 00:13:47  第31讲 深入理解对象的访问定位 00:08:01  第32讲 垃圾回收-...

    Eclipse内存分析器

    它可以分析Java堆内存的快照,并提供详细的报告和可视化工具,帮助用户理解内存使用情况、对象引用关系以及潜在的问题所在。 MAT具有以下主要功能和特点: 1. **快速分析大型堆转储文件:** MAT能够高效地处理大型...

    JAVA上百实例源码以及开源项目源代码

    Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来...

    java源码包4

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    java源码包3

    Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行...

    Java学习笔记之深入理解引用

    引言:Java中数据传递的方式,除了基本数据类型是按照值传递,其它类型全部是按照引用传递,这和C++有很大区别,但是很多网上文章都解释的不清楚,甚至是错误的,在查阅资料之后,下面整理出一个比较容易理解的版本...

    AIC的Java课程1-6章

     [*]了解Java内存机制:栈、堆、常量池等,理解垃圾回收机制。 第3章 面向过程(数组和方法) 4课时  理解如何声明数组、构造数组、初始化数组以及使用数组中的各个元素。  清楚数组作为...

Global site tag (gtag.js) - Google Analytics