Skip to content

Commit 61c3e91

Browse files
authored
Seems like the JVM has gone mad, printing random integers.
1 parent dcc6ba3 commit 61c3e91

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

crazy_jvm.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
// Source- https://blog.jooq.org/2013/10/17/add-some-entropy-to-your-jvm/ (modified)
2-
// Seems like the JVM gone mad, printing random integers.
1+
// Intro- Seems like the JVM has gone mad, printing random integers.
2+
// Details- https://blog.jooq.org/2013/10/17/add-some-entropy-to-your-jvm/ (modified)
33

44
import java.lang.reflect.Field;
55
import java.util.Random;
66

77
public class crazy_jvm {
8-
public static void main(String[] args) throws Exception {
9-
justKidding();
10-
11-
for(int i=0; i<10; i++){
12-
System.out.println((Integer) i);
8+
public static void main(String[] args) throws Exception {
9+
justKidding();
10+
11+
for(int i=0; i<10; i++){
12+
System.out.println((Integer) i);
13+
}
1314
}
14-
}
15-
16-
private static void justKidding() throws Exception{
17-
// extract the IntegerCache through reflection
18-
Field field = Class.forName("java.lang.Integer$IntegerCache").getDeclaredField("cache");
19-
field.setAccessible(true);
20-
Integer[] cache = (Integer[]) field.get("java.lang.Integer$IntegerCache");
21-
22-
// rewrite the Integer cache
23-
for (int i=0; i<cache.length; i++){
24-
cache[i] = new Integer(new Random().nextInt());
15+
16+
private static void justKidding() throws Exception{
17+
// extract the IntegerCache through reflection
18+
Field field = Class.forName("java.lang.Integer$IntegerCache").getDeclaredField("cache");
19+
field.setAccessible(true);
20+
Integer[] cache = (Integer[]) field.get("java.lang.Integer$IntegerCache");
21+
22+
// rewrite the Integer cache
23+
for (int i=0; i<cache.length; i++){
24+
cache[i] = new Integer(new Random().nextInt());
25+
}
2526
}
26-
}
2727
}

0 commit comments

Comments
 (0)