编程语言
首页 > 编程语言> > Java是编译型还是解释型语言,2021年Java程序员职业规划

Java是编译型还是解释型语言,2021年Java程序员职业规划

作者:互联网

定义:解释型语言的源代码不是直接翻译成机器码,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。在运行的时候才将源程序翻译成机器码,翻译一句,然后执行一句,直至结束。

优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。

缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。

总结:执行速度慢、效率低;依靠解释器、跨平台性好。

代表语言:JavaScript、Python、Erlang、PHP、Perl、Ruby。

混合型语言

定义:既然编译型和解释型各有缺点就会有人想到把两种类型整合起来,取其精华去其糟粕,就出现了半编译,半解释型语言。

比如C#,C#在编译的时候不是直接编译成机器码而是中间码,.NET平台提供了中间语言运行库运行中间码,中间语言运行库类似于Java虚拟机。.NET在编译成IL代码后,保存在dll中,首次运行时由JIT在编译成机器码缓存在内存中,下次直接执行。严格来说混合型语言属于解释型语言,C#更接近编译型语言。

Java即是编译型的,也是解释型语言,总的来说Java更接近解释型语言

2.动态类型语言和静态类型语言


动态类型语言

动态类型语言:在运行期间才去做数据类型检查的语言,说的是数据类型。动态类型语言的数据类型不是在编译阶段决定的,而是把类型绑定延后到了运行阶段。

代表语言:Python、Ruby、Erlang、JavaScript、Swift、PHP、Perl。

静态类型语言

静态类型语言的数据类型是在编译期间(或运行之前)确定的,编写代码的时候要明确确定变量的数据类型。

代表语言:C、C++、C#、Java、Object-C。

3.动态语言和静态语言


动态语言

动态类型语言和动态语言是完全不同的两个概念。

动态语言:说的是运行时改变结构,说的是代码结构。在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。通俗点说就是在运行时代码可以根据某些条件改变自身结构。

代表语言:Object-C、C#、JavaScript、PHP、Python、Erlang。

标签:解释,Java,语言,职业规划,机器码,编译,2021,运行
来源: https://blog.csdn.net/m0_60721695/article/details/120131556