01
Java是什么
Java是一门面向对象编程语言,吸收了C++语言的面向对象特点,但摒弃了C++里难以理解的多继承、指针等概念,功能强大并且简单易用。
02
Java与C++有什么区别?
(1)编译运行方式:Java项目源代码通过编译器生成.calss文件而不是机器语言代码,意味其不能在电脑直接运行,必须通过JVM环境解释才能运行,也就是说,如果通过在不同的操作系统(OS)下安装相应的JVM运行环境,.class文件就可以在多种OS环境下运行,实现“一处编译,多处运行”。而C++通过IDE编译链接生成机器语言代码,也就是说特定的编译器生成的代码只能在特定的操作系统环境下运行,不具备移植性。
(2)内存安全:Java是一种内存安全型语言,由JVM负责内存的管理。C++则是通过new和delete实现手动的内存管理,比较灵活,但容易引起错误甚至严重崩溃(例如内存泄露)。
(3)性能:由于Java的简单灵活所以人气极高,但其代码(.class文件)需要通过JVM解释才能运行因此性能表现一般。而C++会被编译为机器语言,因此其能够立即运行且速度更快。
(4)指针:指针是一种C++结构,允许您直接在内存空间中进行值管理。Java不支持指针,因此您可能使用值引用的方式进行值传递。
(5)重载:重载是指对某种方法或者运算符的功能进行“重新定义”。Java允许方法重载,而C++则同时支持进行运算符重载。
03
Java适合做什么开发
Java与C++没有哪个更好,只有哪个更合适。他们都可用于创建各类程序,但具体选择取决于您希望开发的实际内容。Java在Andriod开发和Web开发占据重要的位置。
C++通常适合那些需要“硬件级”操作的软件。二者之间的最大区别在于,C++更接近机器语言,因此其软件运行速度更快且能够直接与计算机内存、磁盘、CPU或者其它设备进行协作。另外,C++也能为游戏提供良好的运行性能。Java更适合较高级别的应用。
04
Java语言的发展史
Sun 公司在 1995年年初发布了 JAVA 语言,同时放到了互联网上, 免费给大家使用。Sun公司虽然推出了 JAVA , 但这只是一种语言, 如果想要开发复杂的应用程序,必须要有一个强大的开发类库。因此,Sun 在 1996年年初发布了 JDK 1.0 。
这个版本包括两部分: 运行环境(即 JRE) 和 开发环境(即JDK)运行环境包括核心 API 、 集成 API 、 用户界面 API 、 发布技术 、 JAVA虚拟机(JVM) 5个部分;开发环境包括编译 JAVA 程序的编译器 (即 javac 命令)。
Java分为三个版本:
J2SE:整个 JAVA 技术的核心, 它是 J2ME 和 J2EE 编程的基础。
J2ME:主要用于控制移动设备和信息家电等有限存储的设备。
J2EE:JAVA 技术中应用最广泛的部分, J2EE 提供了企业应用开发相关的完整解决方案。
三者的联系是:SE是Java标准开发工具包,主要用于开发桌面应用;EE是企业版开发工具包,即除了包含SE的内容,还包含了Web开发需要的一些基础包,例如selvlet等。ME是手机等嵌入式设备使用的开发工具包,早期的一些山寨手机等应用开发使用。