JAVA基础知识笔记1:java的跨平台机制
1.1 java的跨平台机制
编译型语言VS解释型语言
编译型语言可以一次编译成平台可识别的机器码,因此它可以脱离开发环境独立运行,并且执行效率高,一般无法移植到其他平台运行。
解释型语言是通过专门的解释器对源程序逐行解释成特定平台的机器码在执行的高级语言,JAVA是典型的解释型语言,Python,Ruby等也是,同一套代码只要有特定平台的解释器,就可以在平台上运行。
java的优势
语言:面向对象
平台无关:一次编译,到处运行
开发: 功能丰富的内置库,Web应用开发,软件的模块开发。
安全:安全性和健壮性
java与C++的相同点和不同点
相同点
二者都是面向对象的语言,都使用面向对象的程序设计思想,都具有面向对象的基本特性(封装,继承,多态)
不同点
-
java是纯粹的面向对象语言,C++不是。
java所有的代码必须在类中实现,所有的方法一定是在类中定义的,,因此Java中不存在全局变量和全局函数,C++允许在类外定义main函数并定义全局变量或全局函数 -
java是解释型语言,具有平台无关性,而C++是编译型语言,是平台相关的。
-
java和C++在技术细节上存在很多差异,而这些差异也决定了java有更好的安全性,代码的可维护性更强,更加适合大型系统的开发。
(1)java没有指针的概念,避免了C++中操作指针可能引起的系统问题
(2)java不支持多重继承,但可以实现多个接口,从而有效的避免了多重继承可能产生的二义性
(3)java不需要手动释放堆上分配的内存,java语言提供了垃圾回收机制
(4)C++支持预处理,而java不支持预处理,因此java是纯粹的面向对象语言
(5)java支持运算符重载,而java不支持运算符重载
(6)C++支持自动强制类型转换,但是java不允许
(7)C++支持goto语言,java不支持goto语言,但是在java中goto仍然是保留字
(8)C++中依然存在结构和联合,而在java中没有结构和联合 -
java提供一些功能强大的标准库(用于数据库访问的JDBC库,用于实现分布式对象的RMI库等),可以缩短项目开发周期,提高开发的效率。