在编程语言排行榜中,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芯片进行编译,生成机器代码,该代码的运行就和特定的CUP有关.例如,在C语言中,我们都碰到过类似下面的问题 int 型变量的值是10 ,那么下面代码的输出结果是什么呢 printf("%d,%d",x,x=x+1)

如果上述语句的计算顺序是从左到右,结果是 10,11 但是,有些机器会从右到左计算,那么结果就是11,11.Java不像C++,它不针对特定的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 Applet ,不必担心病毒的感染和恶意的企图,Java小应用程序将限制在 Java运行环境中,不允许它访问计算机的其它部分.

    8.动态

Java 程序的基本组成单元就是类,有些类是自己编写的,有一些是从类库中引入的,而类又是运行时动态装载的,这就使得 Java 可以在分布环境中动态地维护程序及类库,而不像C++那样,每当其类库升级之后,相应的程序都必须重新修改、编译.

新手入门推荐:Java300集课程!Java初学者必备最新版!

如果还需要其他学习资料的小伙伴可以随时联系我,别忘了点赞关注支持一下!

Java语言的八大优点相关推荐

  1. java语言有哪些优点?

    1)java是纯面向对象编程的语言: 2)平台无关性 (一次编译,到处运行:Write Once,Run Anywhere): 3)java提供了许多内置的类库,通过这些类库,简化了开发人员的设计工作 ...

  2. 【面试题】Java语言有哪些优点

    Java为纯面向对象的语言 <Java编程思想>提到Java语言是一种 "Everything is object" 的语言,它能够直接反应现实生活中的对象,例如火车. ...

  3. java程序并行机制_Java语言具有多种优点和特点,下列选项中,______反映了Java程序并行执行机制的特点。A.多线程B.健...

    Java语言具有多种优点和特点,下列选项中,______反映了Java程序并行执行机制的特点.A.多线程B.健 更多相关问题 根据句意及首字母完成单词1. -What c__________ is i ...

  4. 2017 9月java答案_西安交通大学17年9月课程考试《Java语言程序设计》作业考核试题 (答案)...

    试卷总分:100    得分:0 一. 单选题 (共 25 道试题,共 50 分) 1.  设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则 ...

  5. java语言的技术可行性_可行性分析的主要内容( )。

    [简答题]简述逻辑操作(&,|,^)与条件操作(&&,||)的区别. (3.0分) [单选题]下面数据结构中,属于非线性的是( ). [简答题]以下程序的输出结果为 publi ...

  6. 为什么说java语言是支持跨平台的

    1.反问:为什么c语言不支持跨平台. c语言不支持跨平台原因:编译时候,需要指定机器cpu,即平台, 所以为什么说C语言不能实现跨平台运行,就是因为它编译出来的 输出文件的格式,只适用于某种cpu,其 ...

  7. java语言的编译器命令_Java编译器的命令是( )

    [填空题]在应用广泛采用间歇喷射方式的多点电控燃油喷射系统中,按各缸喷油器的喷射顺序又可分为____________._____________.______________. [单选题]绝对商行为是 ...

  8. JAVA语言中 文本框类的类名是_这是什么?

    [简答题]设计一个Printer类继承Output和Product接口,实现数据的获取和输出 (25.0分) [多选题]一般Java程序的类主体由哪两部分组成( ). [多选题]如果子类中的( )与父 ...

  9. android开发是java语言吗_android开发是用java语言吗?

    android开发的主流语言是java语言,但也可以使用其他语言,例可以通过Android NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程. Andro ...

  10. 安卓是用java语言写的吗_android开发是用java语言吗?

    android开发的主流语言是java语言,但也可以使用其他语言,例可以通过Android NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程. Andro ...

最新文章

  1. php和架构,结构和架构的区别是什么?
  2. 帮助子女养成良好的读书习惯 胜过1000亿财富
  3. 洛谷 4568 [JLOI2011] 飞行路线
  4. 计算机分组教学,中职计算机教学分组协作式学习论文
  5. 剑指-从尾到头打印链表
  6. SQL Server之索引解析(二)
  7. Python网络爬虫开发实战使用XPath,xpath的多种用法
  8. Python编程各种推导式详解
  9. 帷幕的帷是什么意思_公务员最低服务年限是什么意思,被录用后辞职,还能考公务员吗...
  10. Activity的LaunchMode情景思考
  11. 安全漏洞问题6:SQL注入
  12. 通信原理 | 信道特性及其数学模型
  13. Chromedriver和Chrome浏览器版本
  14. 因为毕业半年挣了100万,帅地在CSDN被喷上热榜
  15. python美化excel_简单介绍python在CMD界面读取excel所有数据
  16. unity3D 下雨效果实现
  17. java设计奥运图标_15组优秀的奥运会、体育运动类图标系列网页素材
  18. 基于OpenCV的图像形状检测(含源码)
  19. 公司内部打印机自动安装批处理文件
  20. Java中的escape,unescape方法

热门文章

  1. java 普通方法_Java普通方法与static方法的多态
  2. python 视频转图片和图片转视频
  3. Qt_Error QObject: Cannot create children for a parent that is in a different thread. 线程注意!!!
  4. CSS 画一条横线/竖线
  5. HashMap源码剖析(代码基于JDK11)
  6. 普中科技51单片机_【笔记】-普中科技-51单片机-按键
  7. 64位和32位的寄存器和汇编的比较
  8. 十款常见的开源数据库学习资料大汇总
  9. 不同行业的软件都爱用什么编程语言开发?
  10. Python利用情感词典做情感分析