Java - s50600822/Notes GitHub Wiki
History and LTS timeline
https://en.wikipedia.org/wiki/Java_version_history
Fun/Subtle facts:
Inconsistent numeric presentation of Day in week
https://github.com/openjdk/loom/blob/master/src/java.base/share/classes/java/time/DayOfWeek.java#L167 https://github.com/openjdk/loom/blob/master/src/java.base/share/classes/java/util/Calendar.java#L597
public class DayOfWeekExample {
public static void main(String[] args) {
System.out.println("Numerical value of MONDAY: " + java.time.DayOfWeek.MONDAY.getValue());// 1
System.out.println("Numerical value of MONDAY: " + java.util.Calendar.MONDAY);// 2
}
}
The first arg is a regexp
https://github.com/openjdk/loom/blob/master/src/java.base/share/classes/java/lang/String.java#L144
public String replaceAll(String regex, String replacement) {
return Pattern.compile(regex).matcher(this).replaceAll(replacement);
}
//CheckOperatingSystemMXBean.java, since 14
import com.sun.management.OperatingSystemMXBean;
import java.lang.management.ManagementFactory;
public class CheckOperatingSystemMXBean {
public static void main(String[] args) {
System.out.println("Checking OperatingSystemMXBean");
OperatingSystemMXBean osBean = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
System.out.println(String.format("Runtime.availableProcessors: %d", Runtime.getRuntime().availableProcessors()));
System.out.println(String.format("OperatingSystemMXBean.getAvailableProcessors: %d", osBean.getAvailableProcessors()));
System.out.println(String.format("OperatingSystemMXBean.getTotalPhysicalMemorySize: %d", osBean.getTotalPhysicalMemorySize()));
System.out.println(String.format("OperatingSystemMXBean.getFreePhysicalMemorySize: %d", osBean.getFreePhysicalMemorySize()));
System.out.println(String.format("OperatingSystemMXBean.getTotalSwapSpaceSize: %d", osBean.getTotalSwapSpaceSize()));
System.out.println(String.format("OperatingSystemMXBean.getFreeSwapSpaceSize: %d", osBean.getFreeSwapSpaceSize()));
System.out.println(String.format("OperatingSystemMXBean.getSystemCpuLoad: %f", osBean.getSystemCpuLoad()));
}
}
check container
bash-5.2# java -XshowSettings:system -version
Operating System Metrics:
Provider: cgroupv2
Effective CPU Count: 10
CPU Period: 100000us
CPU Quota: -1
CPU Shares: 1024us
List of Processors: N/A
List of Effective Processors, 10 total:
0 1 2 3 4 5 6 7 8 9
List of Memory Nodes: N/A
List of Available Memory Nodes, 1 total:
0
Memory Limit: Unlimited
Memory Soft Limit: 0.00K
Memory & Swap Limit: Unlimited
Maximum Processes Limit: Unlimited
Memes
https://docs.oracle.com/javase/9/docs/api///java/util/Map.html#of--