Related question: What are the Xms and Xmx parameters when starting JVMs?
Why do Java programs lets you specify -xms and -xmx? As a developer, why do I need to know/be concerned for how much cpu/mem my program will use upfront?
Or same question in different angle, why would not let Python specify these types of options? (worked in Python for 5 years and never had to do this)
Does it have to do with Python being interpreted language and Java being some sort of bytecode to JVM to machine language thing?
Or maybe something to do with how garbage collection is being done differently that Java needs to be more wary of memory consumption?