1、环境依赖问题,JAVA的软件要依赖JRE/JDK,无论在Windows还是Linux平台上基本都不是预装的,而且要命的是这玩意儿体积还比较大;
2、JAVA在桌面应用程序方面确实有点弱,而个人PC现在离不开桌面应用;
3、运行速度确实要略慢于native code的C/C++,当然也没慢得那么离谱,不过内存占用确实要大很多;
JAVA开发的程序可以通过JVM for windows在Windows上运行,但并不能用来开发Windows原生程序,正如现在的HTML5开发的应用可以再Andriod上运行,但并不是安卓的原生应用一样。Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机(Java Virtual Machine)是实现这一特点的关键。JVM是(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)