Skip to content
HOA PHAN edited this page Mar 16, 2024 · 8 revisions

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--

eye

Clone this wiki locally