Java 在编程语言排行榜上经常位居榜首,是 IT 行业应用最广泛的编程语言之一。Java 具有简洁、面向对象、稳定、平台独立、解释性等八大特点,是 IT 人才必备的工具。
1. 用途广泛
Java是目前应用最广泛的网络编程语言之一,具有简单、面向对象、稳定、平台无关、解释型、多线程、动态等特点。
2. 简单
Java 语言简单,是指它易于学习和使用。不要误解简单是一种枯燥的语言。您可能同意英语比阿拉伯语更容易学习。但这并不意味着英语不能表达丰富的内容和深刻的思想。许多文学作品(如诺贝尔奖)都是用英语写的。
如果你学过C++,你会觉得Java很熟悉,因为Java中很多基本语句的语法和C++是一样的,比如常用的循环语句、控制语句,都和C++几乎一模一样。但是,千万不要误会Java是C++的增强版,Java和C++是两种完全不同的语言,各有各的优势,会长期共存,Java和C++已经成为软件开发人员应该掌握的语言。
如果从语言的简单性来看,Java 比 C++ 更简单。C++ 中许多令人困惑的概念要么被 Java 抛弃,要么以更清晰、更容易理解的方式实现。例如,Java 不再有指针的概念。
3.面向对象
基于对象的编程更加符合人们的思维模式,使人们编写程序更加简单。现实生活中我们无时无刻不在和对象打交道,我们使用的笔,骑的自行车,乘坐的公交车等等。我们经常见到的卡车、公交车、小汽车等等都涉及到以下几个重要的物理量:可载人数、运行速度、发动机的功率、油耗、重量、车轮数量等等。
另外还有几个重要的功能,比如加速、减速、刹车、转弯等,这些功能我们也可以称之为它们所具有的方法,物理量是它们的状态描述,单纯用物理量或者功能是无法很好地描述的。
在实际生活中,我们利用这些常用的属性和功能,给出一个概念上的车辆类,具体的汽车就是车辆类的一个实例对象。Java 语言和其他面向对象语言一样,引入了类的概念,类是创建对象的模板,里面包含了创建对象的状态描述和方法定义。
4. 与平台无关
Java语言最大的优点就是平台无关性,用其它语言编写的程序面临的一个主要问题是操作系统的变化、处理器的升级、核心系统资源的变化都可能导致程序失败或者无法运行。
Java的虚拟机成功地解决了这个问题,用Java编写的程序可以在任何安装了Java虚拟机JVM的计算机上正确运行,Sun公司实现了“一次编写,到处运行”的目标。
5. 解释性

我们知道C、C++等语言只能针对特定的CPU芯片进行编译,生成机器码,代码的运行和具体的CPU有关,比如在C语言中我们都遇到过类似这样的问题:int变量的值为10,那么下面的代码输出结果是什么(“%d,%d”,x,x=x+1)
上述语句如果从左到右计算的话,结果就是10,11。但有些机器是从右到左计算的,结果就是11,11。与C++不同,Java不是针对特定的CPU芯片进行编译,而是将程序编译成一种被称为字节码的“中间代码”。
字节码是一种非常接近机器码的文件,可以在任何提供了 Java 虚拟机 JVM 的系统上解释执行。Java 被设计为解释型程序,即它每次只翻译并执行一句,而不生成整个机器码程序。如果翻译过程中没有错误,则继续执行到最后,否则在错误点停止执行。
同一个程序,如果解释执行,通常比编译成可执行的机器码要慢。不过,对于 Java 来说,差别并没有那么大。Java 字节码经过精心设计,可以很方便地利用 JIT 编译技术直接转换成高性能的本机机器码。Sun 在 Java 2 版本中提供了这样的字节码编译器——JIT(Just In Time),它是 Java 虚拟机的一部分。
Java 运行系统在提供 JIT 的同时,具有平台无关性,因此“高效、跨平台”对于 Java 来说不再是矛盾的。如果把 Java 程序比作“中文”,那么字节码就相当于“世界语”。世界语与具体的“国家”无关,只要“国家”提供“翻译器”,就可以很快地把世界语翻译成当地的语言。
6.多线程
Java 的一个特性就是它内置了对多线程的支持。多线程允许同时完成多个任务。事实上,多线程给人一种错觉,好像多个任务正在同时执行。
因为,现在的计算机处理器每次只能执行一个线程,但是处理器可以快速地在不同的线程之间切换。由于处理器的速度非常快,远远超过人们接收信息的速度,感觉就像多个任务同时在执行。C++没有内置多线程机制,因此必须调用操作系统的多线程功能来设计多线程程序。
7. 安全
当你准备从网上下载一个程序时,你最大的担心就是该程序含有恶意代码,比如试图读取或删除本地机器上的一些重要文件,甚至担心该程序是一个病毒程序。
当您使用支持 Java 的浏览器时,您可以安全地运行 Java 小程序,而不必担心病毒感染和恶意攻击。Java 小程序将被限制在 Java 运行时环境中,不允许访问计算机的其他部分。
8. 动态
Java程序的基本组成单位是类,有些类是自己编写的,有些是从类库中导入的。类是在运行时动态加载的,这使得Java可以在分布式环境中动态维护程序和类库,而不像C++每次升级类库时都要重新修改、重新编译相应的程序。
初学者推荐:课程合集!最新版本,Java初学者必读!
如果还需要其他学习资料可以随时联系我,别忘了点赞关注支持我哦!