J Forum

I joined an online conference called J Forum which explored the current state of Java ecosystem, ahead of this September's release of Java 19. Here are some takeaways:

  • Garbage Collector Ergonomics. There are several GC selections for various situations. Here are the recommendations:
    • Serial: single core, smal heaps
    • Parallel: multi-core small heaps; batch jobs with any heap size
    • G1: responsive in medium to large heaps (request-response/DB interactions); only when processors 2+ and memory 1728MB+
    • Z: responsive in medium to large heaps (request-response/DB interactions); JDK 17+; Pause < 1ms
    • Shenandoah: responsive in medium to large heaps (request-response/DB interactions); JDK 17+; Pause <10ms
  • GC Tuning does not only rely on setting heap size (-Xmx for well-sized workloads, -XX:MaxRAMPercentage for workloads to be scaled along container memory limits, -XX:ActiveProcessorCount), but also understanding the workload. You should select appropriate GC and have enough CPUs (check Runtime.getRuntime().availableProcessors() and -XX:+PrintFlagsFinal)
  • Analyze VM data with JDK Flight Recorder (JFR)
  • Contract Testing for testing an integration point by checking each application in isolation to ensure the messages it sends or receives conform to a shared understanding that is documented in a "contract".
  • Introduction to JCP
  • References:

 

Comments

Popular posts from this blog

Event: Developer Productivity Engineering: What's in it for me?

Ethical Hacking 101

Mark Six Analyst