简述java的工作机制。为什么它能实现跨平台?
Java的跨平台即跨操作系统的平台,也就是说你写的JAVA程序不需要修改就可以在不同的操作系统上运行windows,linux,unix,当然有个前提就是你的操作系统必须有j***a环境了,即安装了对应的jdk。应为j***a程序编译成class文件都交给JVM来处理了。
在j***a之前,跨平台是很痛苦的事情,主要是因为所有对于系统的调用,在不同的操作系统下结果都不一样,简单的来说,int的长度在不同操作系统里面就不一样,甚至于连字节排列的顺序都不同。调用同一个函数返回的格式也不同,因此,写程序的人自己要对不同的系统非常了解,如果真的需要对不同操作系统进行兼容,要在程序里面写很多if,编译的时候要先判断使用的操作系统,创造很多环境变量才能编译,而且编译好的二进制可执行文件只能在本系统上运行。如果你写的是个功能库供别人调用的,那么光对操作系统的判断就占了代码的绝大部分,而且,还要你在不同平台下进行测试,这可是个艰苦卓绝的工作。
自从有了j***a之后,就把操作系统兼容的工作丢给了jvm了,对于程序员来说就再也不要关心int有几位,还有高位在前还是地位在前的问题了,你只要用j***a的代码把你程序的逻辑实现出来就可以了,这些兼容的问题就交给jvm去处理吧。这样,如果你写一个程序交付给客户使用,如果客户的环境是运行AIX的,你就不需要在本地也装一个AIX来开发和运行,你可以在windows上完成所有的开发,然后把编译好的文件交给客户就可以了,以后有别的客户需要在Solaris上运行这个程序,你都不用修改,直接拿过去就可以运行,很方便!只有被跨平台开发折磨过的人才能更深得体会到用j***a开发跨平台应用的优势。
因为j***a程序是用j***a虚拟机(JVM)执行的,不论是用什么平台开发的j***a代码,最终都会被转换成只被JVM识别的代码。 所以只要下载各个平台的j***a虚拟机就可以实现代码的跨平台运行。
Linux和j***a的关系?
这两者有什么关系吗?J***a是一门编程语言,而且J***a是跨平台的,所以如果是为了学习编程,要学J***a。Linux是一种操作系统,但由于其优秀的特性,所以好多服务或者程序运行在Linux系统中,学会Linux的操作可能会帮你更好地做应用。
net编程语言为什么要统一?
从技术的角度来说不必过度解读,.net和j***a类似,使用了虚拟机技术,也就是说各种编程语言面向一个抽象的计算机而不是具体的计算机生成中间代码。.net框架使用即时编译器在运行时再转换为本地代码。这样做的好处就是跨平台。而且这也不是微软的首创,先前有j***a,现在有js。这么做的目的就是为了让net编程语言可以应用到任何的平台上并被广泛使用。
c语言和j***a三大结构有什么区别?
1、语法不同;
2、单文件的编译时间j***a比C语言快;
3、C语言可以直接操作内存,j***a不能直接操作;
4、C语言可以封装动态库,j***a不行;
5、C语言的代码不容易跨平台,j***a的代码容易跨平台;
7、C语言可以直接操作串口,j***a需要第三方jar包支持;
8、C语言的线程更加灵活,j***a的线程都已经封装好了;
9、C语言做单独功能,可以增加效率,j***a适用做web应用开发;
10、unix是C语言编写的,j***a也是C语言编写的;
到此,以上就是小编对于j***a语言为什么可以跨平台的问题就介绍到这了,希望介绍关于j***a语言为什么可以跨平台的4点解答对大家有用。