package jvm;
/** JVM管理内存F */
public class JVMOfRAM {
/** 类中有方法,属性,对象他们在内存中是怎么被JVM分配的? */
/**
* 数据:放在堆和栈里面 堆:放的对象:new 类名(参数);
* 栈:放的是方法和变量,主方法和调用的方法,基本类型变量和引用变量。
* 代码区:存放方法的代码
*/
public static void m1(int a, int b) {
int temp = a;
a = b;
b = temp;
}
public static void m2(int a) {
a = a + 1;
}
public static void m3(User p) {
p.setAge(35);
}
public static void m4(User a, User b) {
User temp = a;
a = b;
b = temp;
}
public static void main(String[] args) {
int a = 10;
int b = 20;
int c = 30;
System.out.println("****main of a,b,c****start********");
System.out.println("a= " + a);
System.out.println("b= " + b);
System.out.println("c= " + c);
System.out.println("***m1(a,b)a,b进行交换方法**********");
m1(a, b);
System.out.println("a= " + a);
System.out.println("b= " + b);
System.out.println("*****m2(c) c的值加1*********");
m2(c);
System.out.println("c= " + c);
System.out.println("******m3(u)**u.setAge(35);*******");
User u = new User();//User 类中的属性age初始化为10;
System.out.println("User 类中的属性age初始化为:"+u.getAge());
m3(u);
System.out.println("u.getAge()= " + u.getAge());
System.out.println("*****m4(u1,u2)****u1和u2进行交换****");
User u1 = new User();
User u2 = new User();
u1.setAge(100);
u2.setAge(50);
m4(u1, u2);
System.out.println("u1.getAge()= " + u1.getAge());
System.out.println("u2.getAge()= " + u2.getAge());
System.out.println("*******main of*****end***************");
}
/*****main of a,b,c****start********
a= 10
b= 20
c= 30
***m1(a,b)a,b进行交换方法**********
a= 10
b= 20
*****m2(c) c的值加1*********
c= 30
******m3(u)**u.setAge(35);*******
User 类中的属性age初始化为:10
u.getAge()= 35
*****m4(u1,u2)****u1和u2进行交换****
u1.getAge()= 100
u2.getAge()= 50
*****************end****************/
}
package jvm;
public class User {
private int age = 10;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
上面是一个简单的例子,上面的结果自己画画内存空间图就知道了