优点: 通过JVM实现了跨平台性,实现了一次编译,处处运行Java限制了对内存的直接操作,由JVM完成;但在C/C++中有指针直接操作内存,带来效率,但也带来了其他的混乱有自己的垃圾回收机制,不用担心对部分对象的内存回收面向对象的思想,开发起来非常方便 缺点: 封装的API需要通过JVM才能调用到OS,带来了效率问题需要运行环境JVM,不适合开发桌面应用