Java的跨平台性
来源:互联网 发布:java 读取hdfs文件 编辑:程序博客网 时间:2024/06/05 03:08
大家都知道高级语言是需要“翻译”成机器语言后才能与机器交流,我们所熟悉的java,C,C#,ruby,python等都是高级语言,当然都是需要翻译之后才能被计算机所识别并反馈交流。怎么“翻译”,有2种方式,一种是编译,一种是解释,两者各有优缺点。
一、什么是编译
编译就是源代码经过编译器并生成目标文件,然后执行目标文件后输出结果。编译性语言如c,c++,c#,编译的时候如果源代码有错误,将无法生成目标文件,直到代码无语法错误,这样的话可以一次编译,N次执行,执行效率高,但是因为编译性语言的目标文件只能在对应平台中的编译器中执行,想让其在另外一个平台上运行,只能将源代码移植到相应的平台上,重新编译,那么再次编译的时候可能会因为资源库的不同导致编译失败,进而重新修改代码再次编译,这样的话实现跨平台的难度就会增大。
二、什么是解释
解释就是源代码经过解释器后直接输出结果,不生成目标文件。解释语言如htm,js等,解释性语言因为不是预先编译,所以只有到执行的时候解释器才会知道是否有语法错误(经常报的js错误就是这种?),而且因为每执行一次就会“翻译”一次,导致重复“翻译”,执行效率不高,但是执行速度很快,而且解释性语言跨平台很容易,只需要有相应平台的解释器即可,不需要修改源代码即可运行。
总是编译性语言,解释性语言各有利弊,编译性语言执行效率高,安全性强,适用于效率高的系统,解释性语言开发速度快,简单,灵活,一般用于开发网站前台或者性能要求不高的网站。
三、Java语言是编译-解释性
java不是真正的编译语言,也不是真正的解释性语言,是编译+解释性的,java的编译过程是:源代码经过编译生成字节码文件(.class文件,该文件不能直接执行),然后在解释器中执行.class文件并输出结果。编译生成的.class文件是于平台无关的,不面向平台,只面对jvm(可以理解为解释器),只要有对应平台的解释器就可以运行.class文件,因此java是编译一次,即可到处运行,很好地实现了跨平台。
以上是初学java的一点总结!若有错误,欢迎指正。
- java的跨平台性
- Java的跨平台性
- java-java的跨平台性
- Java的跨平台
- Java的跨平台
- java语言的跨平台性
- Java语言的特点:跨平台性
- 论Java的跨平台性
- Java跨平台性的理解
- java语言的跨平台性
- 详解Java的跨平台性
- Java跨平台性
- JAVA跨平台性
- JAVA的平台无关性
- Java的平台无关性
- Java跨平台的原理
- java跨平台的注意事项
- Java跨平台的原理
- Kinect V2 + TouchDesigner Test Code Clip
- 如何把maven项目转成web项目
- 动态规划:矩阵连乘问题
- React Native-4.React Native布局属性练习之flexBox模型实战
- [WPS笔试题]实现栈的push,pop,max且时间复杂度为O(1)
- Java的跨平台性
- 做技术之旅--总要有一些钻牛角尖的精神的
- centos查看进程的绝对路径的方法
- Java的垃圾回收机制总结
- 索引大致原理
- \includes\lib_main.php on line 1329 Ecshop出现问题
- 关于IPV6问题,我得到小小的经验
- 活到81岁你会干嘛?选择为 iOS 开发软件的她厉害了!
- SD卡文件系统启动linux