实际上,Java本来就是从C++衍生出来的, 而且Java语言的对象模型几乎就是C++对象模型的简化版。然而,C++和Java之间仍存在一些显著的差异。
java语言另辟蹊径,充分考虑程序员们为了应对复杂多变的应用开发,降低开发成本,提高代码复用,选择了编程效率优先这条路。java语言的设计者希望语言可以做到跨平台(write once,run anywhere)。那么如何做到跨平台呢,java的解决方案是:在操作系统和应用程序间加入一层虚拟机,虚拟机负责屏蔽平台差异,而应用程序编译后生成的是字节码(bytecode),虚拟机通过加载字节码执行,这样就能够满足一份程序在不同平台都生成相同规范的字节码从而做到跨平台,此外各大商业公司、开源社区提供了功能强大的库供java程序员使用,效率能不高吗? 为了消除内存分配和内存回收工作量,虚拟机还需要负责内存的分配和回收。
Java是一种优秀的程序设计语言,相对而言,Java更容易学习,并且编程环境更为简单。
1.Java为纯面向对象的语言,能够直接反应现实生活中的对象,容易理解,编程更容易。
2.跨平台,java是解释性语言,编译器会把java代码变成中间代码,然后在JVM上解释执行,由于中间代码和平台无关因此,java语言可以跨平台执行,具有很好的移植性。
3.Java提供了很多内置的类库,简化了开发人员的程序设计工作,缩短了项目的开发时间。例如,Java语言提供了对多线程的支持,提供了对网络通信的支持,最重要的是提供了垃圾回收器,这使得开发人员从对内存的管理中解脱出来。
4.去除了C++语言中难以理解、容易混淆的特性,例如头文件、指针、结构、单元、运算符重载、虚拟基础类、多重继承等,使得程序更加严谨、简洁。
Java 是纯粹的面向对象语言,它因统一的字节码文件和差异化的 JDK 而具有平台无关的特性。
Java 内置丰富的类库,使开发者效率大为提升。它支持 web,广泛应用于各大互联网企业的网站后台,像阿里美团都在使用。
Java 的安全性也很出众,通过沙箱安全模型保证其安全性,能够有效防止代码攻击。
Java 也具备很强的健壮性,比如它是强类型的,支持自动化的垃圾回收器,有完善的异常处理机制和安全检查机制。
一般学大数据首先学的就是java基础,java很多时候虽然复杂,或者是运行有些慢,但是很稳定。
总结:
Java其实也是由C++发展而来,保留了C++的大部分内容,其编程方式类似于C++,但是摒弃了C++的诸多不合理之处,从根本上解决了C++的固有缺陷。使得Java句法更清晰,规模更小,更易学,同时更趋于健壮性,安全性和平台无关性。