Java的主要特性是什么?