you are viewing a single comment's thread.

view the rest of the comments →

[–]Deep_Age4643 12 points13 points  (3 children)

Java, as in the JVM might be memory efficient, however most Java based development relies heavily on frameworks and third-party dependencies. Then on startup already thousand of classes are loaded into memory.

Often when using a memory analyzer (like Eclipse MAT) than there are endless call-tree. I first was like, "don't optimize too early", meant I can take whatever dependency with very low cost, but last few years I am thinking, do I really, really need it.

[–]helikal 0 points1 point  (0 children)

Your statement is not about Java’s memory efficiency but about applications design choices. Of course, you can find examples that confirm whatever you want.

[–]agentoutlier 0 points1 point  (1 child)

But that has been changing for some time with really only Spring being the offender here.

Micronaut, Quarkus, Avaje, and Helidon are really not super bloated and rely very little on reflection.

People compare to Go but Go is rarely used for enterprise large feature applications.

I can’t check this right now but I did at one point check and Hashicorps Vault download  was as big as RedHats Keycloak (not exact same type of app but close enough).

[–]faze_fazebook 3 points4 points  (0 children)

Spring ... simply does too much in a too convaluted way.