jvm三大特性