大家好,今天小编关注到一个比较有意思的话题,就是关于java语言具有哪些特征的问题,于是小编就整理了4个相关介绍j***a语言具有哪些特征的解答,让我们一起看看吧。

  1. java语言采用多种机制来保证可移植性,其中最主要的是?
  2. java编译器用什么语言写的?
  3. java语言的发展历史?
  4. 相比于其他编程语言,Java的优势在哪里?

j***a语言***用多种机制来保证可移植性,其中最主要的是?

对于程序可移植性最直接最有效的支持是与平台无关。对于J***A语言来时使用了多种机制来保证可移植性,最主要的是使用虚拟机(virtual machine)和使用虚拟机使用的J***A字节码。由于保证J***A语言的高可移植性,其程序的运行效率被降低,为了弥补这种缺陷,将J***A字节码的设计最大限度接近于机器码。

java语言具有哪些特征-java语言具有哪些特征和功能
(图片来源网络,侵删)

j***a编译器用什么语言写的?

编译器本身就是一个应用程序,编译器涉及到底层的一些操作,对执行要求比较高的地方使用汇编语言编写的,主要的还是用C语言来编写实现的,在J***a的安装路径下的bin目录下有很多的*.exe可执行文件,像jar.exe、j***ac.exe、j***a.exe等等,J***a编译器这东西它好像不是开源的,如果你对编译器的实现感兴趣的话,推荐你看一本《编译原理》这本书,这本书对你了解编译器的实现原理有很大的帮助的。

j***a语言的发展历史?

任职于太阳微系统的詹姆斯•高斯林等人于1990年代初开发J***a语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。

java语言具有哪些特征-java语言具有哪些特征和功能
(图片来源网络,侵删)

由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项***。

随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以J***a的名称正式发布。J***a伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。J***a语言的发展历史分为以下几个阶段:

java语言具有哪些特征-java语言具有哪些特征和功能
(图片来源网络,侵删)

1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。

希望用于控制嵌入在有线电视交换盒、PDA等的微处理器1994年将Oak语言更名为J***a1998年JDK1.2时,更名为J***a 2 Platform分为标准版J2SE,企业版J2EE,微型版J2MEJ***a 既安全、可移植,又可跨平台,而且人们发现它能够解决Internet 上的大型应用问题Internet使J***a成为网上最流行的编程语言J***a对Internet的影响也意义深远B/S的兴起 & C/S的没落

相比于其他编程语言,J***a的优势在哪里?

只说语言层面。

嘿嘿,我念大学时也常有“又要被迫用J***a了”的感觉。C# 和 Ruby 才是我大学后半的主要语言。当时最愤怒的莫过于明明不喜欢J***a语言但还躲不开它…

技术上说J***a语言并没有什么特别的优势。跟同质语言比,它的语言设计不如C#,而且短期内没有追近的势头(虽然从J***a 8开始有进展了,但C# 6也在进步);跟异质语言比,它对native的精确控制和灵活性不如C++,动态性或者说便利性又不如Ruby、Python、J***aScript这些,在特定领域(例如高并发)的便利性又不如别的特定语言(并发如Erlang,数据处理如R),跟新一代中间应用层面语言如Go、Swift比也没法比。

要说为啥大学要用J***a语言教学,那就是因为——它是门靠谱的民工语言。J***a语言的设计从现在的角度看非常中庸,啥都不是特别出色,但都“还行”。出来找工作,会J***a的话还是有不少选择余地的。

库方面也有非常丰富的选择,无论是核心功能还是各种扩展功能。某些核心功能如果不想用标准库的话还可以用很多第三方库来替代。例如:正则表达式不想用 j***a.util.regex ?有很多替代品,试试 joni ?GUI不想用 Swing ?试试新的J***aFX,或者 SWT ?…(此处填入您最喜欢的库)…

=================================================

话说回来,虽然我不喜欢J***a语言,但底下的JVM我还是很喜欢的。在J***aScript引擎们爆发之前,主流JVM的技术一直是业界实用的高级语言虚拟机/运行时里的领先者。现在更多热钱流向了J***aScript引擎那边,它们终于开始接近JVM的技术水平了。但像是GC方面,最先进的通用GC技术现在恐怕还是在主流JVM里。(CLR的概念跟JVM是比较同质的,但在内部看主流JVM的实现远比CLR更动态,更能够适应变化的环境,两者的很多部分目前还不在一个层面上。当然,性能特性不同,适用于两者的性能测试方面也有很大不同。)

现在能用C++实现JVM来支撑别人跑J***a的感觉很有趣

到此,以上就是小编对于j***a语言具有哪些特征的问题就介绍到这了,希望介绍关于j***a语言具有哪些特征的4点解答对大家有用。