It's true, per default the jvm takes a bunch of memory. I have been successful with running complex java apps in very memory constrained environments though, choosing frameworks and the right -xmx value is usually enough, but yeah, the 30mb res region is not javas sweetspot, but 100mb res mem allowes leveraging much of the java ecosystem.
Last time I tried to build a lean Java project, I end up with 300MB heap. With small Go service, it can easily live on 30MB container.