JVM 是用什么语言写的?
JAVA中就虚拟机是其它语言开发的,用的是C语言+汇编语言 基于此之上就是JAVA本身了 虚拟机只起到解析作用
另外,JAVA并不比C语言慢,说JAVA慢一般是九十年代那时候的JAVA, 而现在 在一段优秀的JAVA程序和C程序执行效率上来比较是没有多大差距的 并且现在JAVA已经可以像C语言那样,直接编译为可执行文件(不用虚拟机,跨平台为代价)了
不知道你看过 卓越编程之道二(运用底层思维编写高级代码) 没有,那里面详细的讲述了高级语言从编写到编译执行的过程,通过目标文件的反汇编对比,发现C,C++,JAVA,dephi等语言在同等质量下的目标文件长度上基本上没多大区别,一门语言的运行速度快慢,与你编写代码过程中是否符合编译器规则息息相关。 有空你可以去看看这本书。
Java底层实现是用C语言写的,因为做了很多封装,所以比C语言速度慢?
JVM是c写的,所以对JVM常用的攻击就是buffer overflow。
c语言写的, java6.0都已经开源了。
在windows平台的JVM实现是用VC写的,你下载的JDK其实都有一个src.zip,那就是Java的源码
原始是用C写的,如javac命令等,后面的功能是java自身写的,如api,现在大多都开源了,有兴趣可以看看那个项目,叫openjdk,你也可以提供代码,说不定后续版本会采用。
JAVA中就虚拟机是其它语言开发的,用的是C语言+汇编语言 基于此之上就是JAVA本身了 虚拟机只起到解析作用
另外,JAVA并不比C语言慢,说JAVA慢一般是九十年代那时候的JAVA, 而现在 在一段优秀的JAVA程序和C程序执行效率上来比较是没有多大差距的 并且现在JAVA已经可以像C语言那样,直接编译为可执行文件(不用虚拟机,跨平台为代价)了
不知道你看过 卓越编程之道二(运用底层思维编写高级代码) 没有,那里面详细的讲述了高级语言从编写到编译执行的过程,通过目标文件的反汇编对比,发现C,C++,JAVA,dephi等语言在同等质量下的目标文件长度上基本上没多大区别,一门语言的运行速度快慢,与你编写代码过程中是否符合编译器规则息息相关。 有空你可以去看看这本书。
Java底层实现是用C语言写的,因为做了很多封装,所以比C语言速度慢?
JVM是c写的,所以对JVM常用的攻击就是buffer overflow。
c语言写的, java6.0都已经开源了。
在windows平台的JVM实现是用VC写的,你下载的JDK其实都有一个src.zip,那就是Java的源码
。
原始是用C写的,如javac命令等,后面的功能是java自身写的,如api,现在大多都开源了,有兴趣可以看看那个项目,叫openjdk,你也可以提供代码,说不定后续版本会采用。
JVM 是用什么语言写的?的更多相关文章
- JAVA调用C语言写的SO文件
JAVA调用C语言写的SO文件 因为工作需要写一份SO文件,作为手机硬件IC读卡和APK交互的桥梁,也就是中间件,看了网上有说到JNI接口技术实现,这里转载了一个实例 // 用JNI实现 // 实例: ...
- 【jvm】05-为什么你写的代码有时候和预期不一致
[jvm]05-为什么你写的代码有时候和预期不一致 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请 ...
- 自己用C语言写dsPIC / PIC24 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). HyperBootlo ...
- 自己用C语言写单片机PIC18 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). HyperBootlo ...
- 自己用C语言写单片机PIC16 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 为什么自己写bootl ...
- C语言写的流氓关机程序及破解
记得大二刚开始接触电脑的那个时候,偶尔会弹出一个强制关机的窗口,当时没有办法,如下: 现在看来只是一个小程序而已,用C语言编写的: #include<windows.h> int main ...
- php调用一个c语言写的接口问题
用php调用一个c语言写的soap接口时,遇到一个问题:不管提交的数据正确与否,都无法请求到接口 1.用php标准的soap接口去请求 2.拼接xml数据去请求 以上两种方式都不正确 解决办法:php ...
- PIC12F629帮我用C语言写个程序,控制三个LED亮灭
http://power.baidu.com/question/240873584599025684.html?entry=browse_difficult PIC12F629帮我用C语言写个程序,控 ...
- java环境中基于jvm的两大语言:scala,groovy
一.java环境中基于jvm的两大语言:scala,groovy 可以在java项目里混编这两种语言: scala:静态语言,多范式语言,糅合了面向对象.面向过程:可以与java和net互操作:融汇了 ...
随机推荐
- 初探计算机网络之HTTPS请求
HTTPS自诞生以来,我们总是对它充满着很多的疑问,HTTPS到底是啥?HTTPS多出来的S指的是什么?HTTPS安全可靠吗?访问一个HTTPS的网站的流程等等,带着这些疑问,我们一起来揭开HTT ...
- The Data Way Vol.4|开源是创造软件诸多方法中最好的一种形式
关于「The Data Way」 「The Data Way」是由 SphereEx 公司出品的一档播客节目.这里有开源.数据.技术的故事,同时我们关注开发者的工作日常,也讨论开发者的生活日常:我们聚 ...
- 易华录 X ShardingSphere|葫芦 App 后台数据处理的逻辑捷径
"ShardingSphere 大大简化了分库分表的开发和维护工作,对于业务的快速上线起到了非常大的支撑作用,保守估计 ShardingSphere 至少为我们节省了 4 个月的研发成本.& ...
- L1-017 到底有多二 (15 分) java解题
1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String args[]){ 5 doub ...
- 在Vue&Element前端项目中,对于字典列表的显示处理
在很多项目开发中,我们为了使用方便,一般都会封装一些自定义组件来简化界面的显示处理,例如参照字典的下拉列表显示,是我们项目中经常用到的功能之一,本篇随笔介绍在Vue&Element前端项目中如 ...
- 【c++ Prime 学习笔记】第12章 动态内存
对象的生存期: 全局对象:程序启动时创建,程序结束时销毁 局部static对象:第一次使用前创建,程序结束时销毁 局部自动对象:定义时创建,离开定义所在程序块时销毁 动态对象:生存期由程序控制,在显式 ...
- MySQL:提高笔记-2
MySQL:提高笔记-2 学完基础的语法后,进一步对 MySQL 进行学习,第一篇为:MySQL:提高笔记-1,这是第二篇内容 说明:这是根据 bilibili 上 黑马程序员 的课程 mysql入门 ...
- HTTP请求如何带参
这两天正好作一份API的接口文档,关于HTTP request如何传递参数不是很清楚,这里转载了他人的文档,让我明白了很多.. http://tomfish88.iteye.com/category/ ...
- OO第三次博客作业--第三单元总结
一.JML 语言的理论基础及应用工具链 JML 是一种行为接口规格语言,提供了对方法和类型的规格定义手段.通过 JML 和其支持工具,不仅可以基于规格自动构造测试用例,并整合了 SMT Solver ...
- 单片机stm32 USART串口实际应用解析
stm32作为现在嵌入式物联网单片机行业中经常要用多的技术,相信大家都有所接触,今天这篇就给大家详细的分析下有关于stm32的出口,还不是很清楚的朋友要注意看看了哦,在最后还会为大家分享有些关于stm ...