导航:首页 > 编程语言 > java解释型语言

java解释型语言

发布时间:2025-02-20 17:07:50

java和C的区别

Java和C都是指令式语言(Imperative Language),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象。

另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM来解释Java程序,而C、C++、C#则是与平台相关的,有些指令只在某些操作系统中才能执行。具体原因是,Java是解释型语言,所有代码都会翻译成统一的、与系统无关的bytecode,然后放到JVM上运行;而C是编译式语言,代码要先通过编译器转换成与系统相关的中间代码,然后才能运行。

再一个不同是,Java不支持系统调用,既无法与操作系统进行交互,这是由它跨平台的特点决定的,而C则可以调用系统中的指令,如fork()。这也就是为什么Java中只有线程(Thread)概念而没有进程(Process)概念,而C两者均有。

再者,Java无法对内存进行控制,而C则可以通过指针对内存进行人为分配。
还有一点,Java有Gabbage Collection机制,可以自动回收不再使用的空间,而C则要用free()函数释放空间。

总的来说,Java比较容易上手,学得快,但对于了解编程语言来说帮助不如C大。
当然Java和C之间的区别还有很多很多。

Ⅱ JAVA语言是解释型还是编译型语言

java的编译器先将其编译为class文件,也就是字节码;然后将字节码交由jvm(java虚拟机)解释执行;
所以很回多地方都说“答java是一种半编译、半解释执行”的语言;
近来(其实也不是很"近")Oracle的(以前是Sun的)HotSpot VM采用了jit compile(just in time compilation)技术,将运行频率很高的字节码直接编译为机器指令执行以提高性能, 所以当字节码被jit编译为机器码的时候,要说它是编译执行的也可以...
不过总体来讲,java的编译结果是被jvm“解释执行”的,所以这么说也能说通,而其实这个“是编译还是解释”这个概念在这里已经有点模糊了,理解它的过程就行了,不必下一个“精确”的定义;
而我自己仍然赞成“java是编译型语言”的说法,因为“编译”其本质就是“把一个相对高级的语言转换为另一个相对低级的语言”,而由java -> class文件的编译已经满足了这个特征; 而后面你要说jvm是“解释执行”的,那其实硬件对于机器码又何尝不是“解释执行”呢?

阅读全文

与java解释型语言相关的资料

热点内容
c盘垃圾文件放哪里 浏览:757
ec1308网络机顶盒怎么设置 浏览:337
有什么淘宝优惠券app 浏览:961
淄博周村编程怎么样 浏览:10
微擎数据库结构 浏览:195
电工编程和编程哪个难 浏览:471
戴尔笔记本升级主板bios设置密码 浏览:132
微信夫妻情感交流群 浏览:73
word提取1000个文件名 浏览:961
ug编程后怎么过切 浏览:295
ipad上微信文件下载到哪里 浏览:484
电脑游戏目录在哪文件 浏览:95
股票哪里会用到数据分析 浏览:218
数据分析怎么做编程 浏览:664
精仿苹果好还是三星好 浏览:995
四川机器人离线编程软件哪个好 浏览:932
制作薪酬都需要哪些数据表 浏览:405
编程为什么语言库乱 浏览:510
lua文件用什么打开 浏览:462
网站图标素材下载 浏览:101

友情链接