1, Memory execution process: (six:01:32:08-->)
Package primary;
public class Main {
public static void Main (String args[]) {
Main m= new Main ();
int day = 15;
Birthday B1 = new Birthday (27,11,1988);
Birthday b2 = new Birthday (23,04,2013);
M.change1 (day);
M.change2 (B1);
M.change3 (B2);
B1. Display ();
B2. Display ();
}
void change1 (int num) {
num = 123;
}
void Change2 (Birthday b) {
b = new Birthday (04,01,1989);
}
void Change3 (Birthday b) {
B.setday (B.setmonth); B.setyear (2015);
}
}
Class birthday{
int Day;int month;int year;
Birthday (int _day, int _month, int _year) {
Day = _day;month = _month;year = _year;
}
void Display () {
System.out.println ("Birthday is:" +year+ "-" +month+ "-" +day ");
}
public int GetDay () {
Return day;
}
public void Setday (Int. day) {
This.day = day;
}
public int GetMonth () {
Return month;
}
public void setmonth (int month) {
This.month = month;
}
public int getYear () {
Return year;
}
public void Setyear (int. year) {
This.year = year;
}
}
Output:
Birthday is:1988-11-27
Birthday is:2015-1-26
2, involving knowledge:
Stack memory and heap memory, reference passing and value passing, stack variables are freed, and heap memory is reclaimed by GC after a certain amount of time.
Code Analysis series Memory execution process