浅谈JAVA内存分配与参数传递

 更新时间:2019年03月21日 08:43:17   作者:Hola World  
这篇文章主要介绍了JAVA内存分配与参数传递,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

JAVA中方法的参数传递方式只有一种:值传递。

JAVA内存分配:

1.栈:存放 基本类型的数据、对象的引用(类似于C语言中的指针)

2.堆:存放用new产生的数据

3.静态域:存放在对象中用static定义的静态成员

4.常量池:存放常量

5.寄存器

6.非RAM存储

class BirthDate{
 private int day;
 private int month;
 private int year;
 public BirthDate(int d,int m,int y){
 day=d;
 month=m;
 year=y;
 }
}

public class Test{
 public static void main(String[] args){
 int date=9;
 Test test=new Test();
 test.change(date);
 BirthDate d1=new BirthDate(7,7,1970);
 }
 
 public void change(int i){
 i=1234;
 }
}

public class TestTransfer{
 public static void main(String[] args){
 int a=6;
 int b=9;
 swap(a,b);
 System.out.println("交换结束后,a的值是"+a+";b的值是"+b); //a=9,b=6
 }
 
 public static void swap(int a,int b){
 int tmp=a;
 a=b;
 b=tmp;
 System.out.println("swap方法里,a的值是"+a+";b的值是"+b); //a=6,b=9
 }
}

public class TestTransfer{
 public static void main(String[] args){
 DataSwap ds=new DataSwap();
 ds.a=6;
 ds.b=9;
 swap(ds);
 System.out.println("交换结束后,ds.a的值是"+ds.a+";ds.b的值是"+ds.b); //a=9,b=6
 }
 
 public static void swap(DataSwap ds){
 int tmp=ds.a;
 ds.a=ds.b;
 ds.b=tmp;
 System.out.println("swap方法里,ds.a的值是"+ds.a+";ds.b的值是"+ds.b); //a=9,b=6
 }
}
 
class DataSwap{
 public int a;
 public int b;
}

以上所述是小编给大家介绍的JAVA内存分配与参数传递详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • SpringBoot定时任务调度与爬虫的配置实现

    SpringBoot定时任务调度与爬虫的配置实现

    这篇文章主要介绍了SpringBoot定时任务调度与爬虫的实现,使用webmagic开发爬虫,继承PageProcessor接口编写自己的处理类,process是定制爬虫逻辑的核心接口,在这里编写抽取逻辑,具体实现配置过程跟随小编一起看看吧
    2022-01-01
  • java中实现对象排序的两种方法(Comparable,Comparator)

    java中实现对象排序的两种方法(Comparable,Comparator)

    这篇文章主要给大家介绍了关于java中实现对象排序的两种方法,一种是实现Comparable进行排序,另一种是实现Comparator进行排序,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • Java优先队列 priority queue

    Java优先队列 priority queue

    本文主要介绍了Java优先队列 priority queue,优先队列是一种特殊的数据结构队列中每一个元素都被分配到一个优先权值,出队顺序按照优先权值来划分。一般有两种出队顺序高优先权出队或低优先权出队,想了解具体内容的小伙伴可以参考下文内容,希望对你有所帮助
    2021-12-12
  • Java设计模式之中介模式(Mediator模式)介绍

    Java设计模式之中介模式(Mediator模式)介绍

    这篇文章主要介绍了Java设计模式之中介模式(Mediator模式)介绍,本文讲解了为何使用Mediator模式、如何使用中介模式等内容,需要的朋友可以参考下
    2015-03-03
  • 详解java 中的CAS与ABA

    详解java 中的CAS与ABA

    这篇文章主要介绍了java 中的CAS与ABA的相关资料,帮助大家更好的理解和学习使用Java,感兴趣的朋友可以了解下
    2021-05-05
  • lombok注解介绍小结

    lombok注解介绍小结

    lombok是一个可以帮助我们简化java代码编写的工具类,这篇文章主要介绍了lombok注解介绍小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 一文搞懂JAVA 枚举(enum)

    一文搞懂JAVA 枚举(enum)

    这篇文章主要介绍了JAVA 枚举(enum)的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Spring概述和快速构建的方式

    Spring概述和快速构建的方式

    Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架),Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情,本文给大家介绍spring概述和快速构建方式,一起看看吧
    2021-06-06
  • 详解Maven JAR包冲突问题排查及解决方案

    详解Maven JAR包冲突问题排查及解决方案

    这篇文章主要介绍了Maven JAR包冲突问题排查及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • SpringBoot超详细讲解事务管理

    SpringBoot超详细讲解事务管理

    事务的作用就是为了保证用户的每一个操作都是可靠的,事务中的每一步操作都必须成功执行,只要有发生异常就 回退到事务开始未进行操作的状态。事务管理是Spring框架中最为常用的功能之一,我们在使用Spring Boot开发应用时,大部分情况下也都需要使用事务
    2022-08-08

最新评论