浅谈JAVA内存分配与参数传递
时间:2021-07-17 08:10:48|栏目: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;
}






上一篇:javascript与jsp发送请求到servlet的几种方式实例
栏 目:JAVA代码
本文标题:浅谈JAVA内存分配与参数传递
本文地址:http://www.codeinn.net/misctech/158441.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




