add demo for object memory location
This commit is contained in:
parent
59dbea0ecc
commit
ac6fe30cc1
24
src/main/java/jvm/gc/MemoryAllocationYoung.java
Normal file
24
src/main/java/jvm/gc/MemoryAllocationYoung.java
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package jvm.gc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* VM Args: -verbose:gc -Xmx20M -Xms20M -Xmn10M -Xlog:gc* -XX:SurvivorRatio=8
|
||||||
|
* new objects by default will go to eden first, when eden has no enough space,
|
||||||
|
* it will trigger minor gc, and move objects from eden to old generation.
|
||||||
|
*/
|
||||||
|
public class MemoryAllocationYoung {
|
||||||
|
private static final int _1MB = 1024 * 1024;
|
||||||
|
|
||||||
|
public static void testAllocation() {
|
||||||
|
byte[] a,b,c,d;
|
||||||
|
a = new byte[2 * _1MB];
|
||||||
|
b = new byte[2 * _1MB];
|
||||||
|
c = new byte[2 * _1MB];
|
||||||
|
d = new byte[4 * _1MB];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
testAllocation();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
24
src/main/java/jvm/gc/TenuringThreshold.java
Normal file
24
src/main/java/jvm/gc/TenuringThreshold.java
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package jvm.gc;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* VM Args: -verbose:gc -Xmx20M -Xms20M -Xmn10M -Xlog:gc+age=trace -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1
|
||||||
|
* -verbose:gc -Xmx20M -Xms20M -Xmn10M -Xlog:gc+age=trace -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=15
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
public class TenuringThreshold {
|
||||||
|
public static final int _1MB = 1024 * 1024;
|
||||||
|
|
||||||
|
public static void testTenuringThreshold() {
|
||||||
|
byte[] allocation1, allocation2, allocation3;
|
||||||
|
|
||||||
|
allocation1 = new byte[_1MB / 4];
|
||||||
|
allocation2 = new byte[4 * _1MB];
|
||||||
|
allocation3 = new byte[4 * _1MB];
|
||||||
|
allocation3 = null;
|
||||||
|
allocation3 = new byte[4 * _1MB];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
testTenuringThreshold();
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user