
Java平台对程序运行有影响,主要是因为Java虚拟机(JVM)的存在。Java程序在编译后并不是直接转化为机器码,而是转化为一种称为字节码的中间代码,这样的好处是可以在不同的平台上运行,而不需要重新编写代码。但是,这些字节码需要在Java虚拟机上运行才能执行,而JVM的效率和性能的高低直接影响到程序的运行效果。
另外,Java平台还提供了许多内置库和框架,这些库和框架可以帮助开发者更快地开发应用程序,但是如果这些库和框架不正确地使用或者版本过旧,也会对程序的性能和稳定性产生影响。
因此,对于Java程序的运行效果,除了程序本身的质量外,还需要考虑JVM的性能和版本、内置库和框架的使用等因素。开发者需要在开发和部署Java应用程序时,综合考虑这些因素,以确保程序的性能和稳定性。
Draconious 的观点有点片面了,Java做程序很慢吗?要看做什么程序,桌面程序的话当然比不过Windows旗下的winform了,自己家东西当然支持的很好喽!但也不是说Java桌面程序没有发展了,但也不是Draconious 所说的那么慢。目前Java的主要运用公认的还是在Web上,Java在Web市场的主导地位还是毋庸置疑的,多用在大型企业级应用上,比如银行政府的,当然,显示中可能一个应用使用了多种语言结合多种技术和框架来解决,所以说现实开发中要取百家之所长了:)
mac上我没开发过java,但应该是可以的,jdk和IDE都有相应的mac版本,下载时注意对应的平台就行了。
声明:以上言论并未夸赞Java的意思,每种语言都有其优缺点不是吗?能灵活应用的人才是最牛的人。
C/C++语言都直接编译成针对特定平台机器码。如果要跨平台,需要使用相应的编译器重新编译。
Java源程序(java)要先编译成与平台无关的字节码文件(class),然后字节码文件再解释成机器码运行。解释是通过Java虚拟机来执行的。
字节码文件不面向任何具体平台,只面向虚拟机。
Java虚拟机是可运行Java字节码文件的虚拟计算机。不同平台的虚拟机是不同的,但它们都提供了相同的接口。
Java语言具有一次编译,到处运行的特点。就是说编译后的class可以跨平台运行,前提是该平台具有相应的Java虚拟机。但是性能比C/C++要低。
跨平台的意思就是,java程序编译为字节码文件class文件之后,拷到哪个平台的机器上面都能够无差别的运行,不管你是苹果,还是windows,是32位还是64位,这依赖于java虚拟机,java虚拟机是用各个平台的语言编写的,它能把java字节码文件翻译为相应平台的语言。。。。
Java的确做到了跨平台,但不是完全的跨平台,同时也作出了许多的牺牲
官方所谓"Write once,run everywhere"就被广大程序员朋友们调侃成了"Write once,debug everywhere!"由此可见一斑尽管如此,但Java还是提供了一个较为理想的跨平台方案,要比起其他一些语言更容易进行移植,甚至不需移植然而这是付出了代价的
众所周知,Java既是编译型语言,又是解释型语言,它同时拥有编译器(jre)与解释器(jdk),同时作为一个面向对象语言,许多的功能都已经封装在了标准库中这就是其跨平台能力的真相然而由于这一点,也使得Java速度减慢,再加之标准库的臃肿,使得Java的运行速度极慢在国际性的算法竞赛中,Java的时间限制通常是c/c++等语言的两倍
综上,Java是跨平台项目一个不错的选择,但一定不是最好的选择
java的跨平台即跨 *** 作系统的平台,也就是说你写的java程序不需要修改就可以在不同的 *** 作系统上运行windows,linux,unix,当然有个前提就是你的 *** 作系统必须有java环境了,即安装了对应的jdk。应为java程序编译成class文件都交给JVM来处理了。\x0d\\x0d\在java之前,跨平台是很痛苦的事情,主要是因为所有对于系统的调用,在不同的 *** 作系统下结果都不一样,简单的来说,int的长度在不同 *** 作系统里面就不一样,甚至于连字节排列的顺序都不同。调用同一个函数返回的格式也不同,因此,写程序的人自己要对不同的系统非常了解,如果真的需要对不同 *** 作系统进行兼容,要在程序里面写很多if,编译的时候要先判断使用的 *** 作系统,创造很多环境变量才能编译,而且编译好的二进制可执行文件只能在本系统上运行。如果你写的是个功能库供别人调用的,那么光对 *** 作系统的判断就占了代码的绝大部分,而且,还要你在不同平台下进行测试,这可是个艰苦卓绝的工作。\x0d\\x0d\自从有了java之后,就把 *** 作系统兼容的工作丢给了jvm了,对于程序员来说就再也不要关心int有几位,还有高位在前还是地位在前的问题了,你只要用java的代码把你程序的逻辑实现出来就可以了,这些兼容的问题就交给jvm去处理吧。这样,如果你写一个程序交付给客户使用,如果客户的环境是运行AIX的,你就不需要在本地也装一个AIX来开发和运行,你可以在windows上完成所有的开发,然后把编译好的文件交给客户就可以了,以后有别的客户需要在Solaris上运行这个程序,你都不用修改,直接拿过去就可以运行,很方便!只有被跨平台开发折磨过的人才能更深得体会到用java开发跨平台应用的优势。
以上就是关于为什么Java平台对程序运行有影响全部的内容,包括:为什么Java平台对程序运行有影响、Java程序是跨平台的,那么mac上能运行java程序吗,安装JRE后,是不是windows平台上能跑的java程序都可跑、java跨平台原理,其他语言为什么不可以等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)