I'm a noob to corda. So take my answer with a pinch of salt.
With Corda a JVM will be created - is this also a 1 for 1 (smart contract to JVM), assuming the short answer is yes?
In Corda, the smart contract biz logic is spread across many( small number of) nodes. And it is 1 JVM per node.
Typically the smart contract( application) is developed as a cordApp that typically forms a network of nodes upon execution. the Flows defined in the cordApp effects the node's behaviour.
Thus depending on the complexity of the contract application, it is handful of JVM across distributed set of machines. The network of nodes mapping to machines is again specific to the application engg.
Given a smart contract cordApp, measuring resource usage on a typical transaction's lifecycle might throw insights on resource efficiency of corda.