Impact of the Java version:
1) Take a look at the reader as follows:
public class Reader {
private final String input;
private int currentPosition;
private Pattern numberPattern = Pattern.compile(...);
public String readNextInt() {
return numberPattern.matcher(input.substring(currentPosition)).group();
}
}
Java , String.substring() / . Java 7 , substring() String , , .
2) Java 1.2 , , . 1.2 JVM 80- , . , java.
strictfp.
3) Java 8 , , , . .
4) Java 5 JSR-133. JSR-133 , . . , Java , Java 5. JSR-133 .
5) Mergesort Java 7. , IllegalArgumentException. .
6) java , ( , , escape- Java 8, ), .
VM:
VM, , / JIT, GC (, Azul Zulu c4 ) , Excelsior JET. , JVM.
Java/JVM:
1) . , -XX: + UseBiasedLocking -XX: BiasedLockingStartupDelay = n concurrency, . . Azul Zulu - STW, (, , , STW ).
2) XX: + AlwaysPreTouch JVM, linux .
4) -XX: + BindGCTaskThreadsToCPU JDK8, , , gc:)
5) -XX: + UseNUMA NUMA, JVM NUMA. , " 40% NUMA- ".
6) -XX: + UseCondCardMark , . java- 512 ( "" ), ( , 9). , 64 L1. , 32kByte (= 512 * 64) , . -XX: + UseCondCardMark if (card[address >> 9] == 0) card[address >> 9] = 1, 32 .
7) , GC, , , gc .