java是什么 Java能不能像C语言不通过JVM虚拟机直接编译成二进制机器码,让计算机直接运行?

Java能不能像C语言不通过JVM虚拟机直接编译成二进制机器码,让计算机直接运行?

从语言设计的角度看,可以通过重新设计编译器来实现,但从工程实践的角度看是不可行的。

java是什么 Java能不能像C语言不通过JVM虚拟机直接编译成二进制机器码,让计算机直接运行?

首先,Java语言最大的特点是跨平台的可移植性,一次开发,一次编译,多平台执行。这个特性是通过JVM(Java虚拟机)实现的。如果重写编译器直接编译成C语言这样的可执行程序,它将失去跨平台特性。

其次,Java语言在设计之初就被设计成严重依赖JRE(Java运行时环境)的语言。一些语言设计缺陷必须依靠JVM来解决,比如GC(垃圾收集)。我们知道Java语言没有内存恢复能力,所以我们不得不依赖JVM。在工程实践中,如果软件不能进行内存恢复,后果将是灾难性的。

第三,Java语言是面向对象的,不同于同样面向对象的C语言,Java还具有动态特性。

它允许程序动态加载运行过程中所需的类,这在面向对象编程中是C语言无法实现的。在C语言编程过程中,每次向类中添加实例变量或成员函数时,引用该类的所有子类都必须重新编译,否则会导致程序崩溃。Java从以下几个方面采取措施来解决这个问题。java编译器没有将对实例变量和成员函数的引用编译成数值引用,而是将符号引用信息保存在字节码中并传递给解释器,解释器在动态连接类后将符号引用信息转换成数值偏移量。这样,在内存中生成的对象不会在编译期间确定,而是延迟到运行时并由解释器确定。这样,更新类中的变量和方法不会影响现有代码。在解释和执行字节码时,只有在出现新名称时才执行一次符号信息的搜索和转换,然后才能全速执行代码。在运行时确定引用的好处是可以使用更新的类,而不用担心影响原始代码。如果程序连接到网络中另一个系统中的类,则该类的所有者可以自由更新该类,而不会使引用该类的任何程序崩溃。这完全取决于JRE。

以上几点决定了Java不能像C语言那样直接编译成机器代码。当然,还有其他一些因素,但我认为以上几点是最重要的。

标签:

最新文章

  1. 如何在PS里简单的同时打开两张图片2025-03-08
  2. windowsvista和windows7的区别 Windows Vista和Windows 7对比2025-03-15
  3. 怎么样申请企业邮箱 企业的邮箱有哪些?怎么选择?2025-03-23
  4. 如何正确设置家庭中的二级无线路由器2025-03-08
  5. 荣耀手机如何把白点关闭 荣耀9x屏幕斜着看出现一片片白点?2025-03-18
  6. 我的华为app最新版安装包2025-03-09
  7. excel 怎么添加word文档2025-03-09
  8. 如何使用TreeMind树图制作医院就诊流程图2025-03-10
  9. iqoo手机玩游戏一直震动怎么回事 iqoo7触屏振动怎么关闭?2025-03-15
  10. 跑步什么时间段最好 早晨跑步好还是晚上跑步好?2025-03-17
  11. Docker服务器如何添加共享文件夹2025-03-09
  12. 怎么才能免费获得qq超级vip会员 如何获得更多QQ会员成长值?2025-03-10
  13. 怎么开通爱奇艺创作者收益 你在头条做的什么领域,专栏怎么开通?2025-03-16
  14. 清除内存把照片清除了怎么恢复 为什么删除的照片恢复出厂还存在?2025-03-23
  15. 易语言一机一码程序 为什么编程序要用英语而不用汉语?2025-03-28
  16. 一加手机怎么打开最近使用2025-03-13
  17. word文档域名是什么 什么叫域名限制?2025-03-29
  18. 孝感有没有美特斯邦威 孝感美特斯邦威的地址?2025-03-21
  19. 法士特9js119ta啥意思 9JS119A和9JS119B有什么区别?2025-04-01
  20. qq群怎么打卡不是签到 qq打卡是什么时候开始的?2025-03-15
  21. 如何开一家网络推广公司 新开了一家网店不知道该怎样才能推广?2025-03-30
  22. 如何找到未保存之前的Word文档版本2025-03-14
  23. 工商注册企业名称查询 如何变更公司法人?2025-03-30
  24. 沈阳塔湾到柳条湖打车得多少钱 沈阳塔湾公园离九一八都多远?2025-03-17
  25. 怎么下载古诗的音频 抖音诗词朗诵怎么加上去?2025-03-23
  26. 在健身房怎样锻炼更科学(怎样健身最科学?)2025-03-25
  27. 好搭档ab胶能粘瓷砖吗(ab胶可以粘瓷砖光面吗吗?)2025-03-24
  28. 微信不知情的自动扣费怎么办 安卓微信自动扣费怎么退款?2025-03-10
  29. iphone深夜模式在哪 苹果手机的夜览模式在什么情况下用?2025-03-26
  30. ps解除分组快捷键 PS解除分组快捷键教程2025-03-14
优质自媒体
优质自媒体 微信号:优质自媒体 扫描二维码关注公众号
优质自媒体

小编推荐

  1. 1 ps制作淘宝主图步骤 PS怎么制作图片的虚实线?

    PS怎么制作图片的虚实线?1. 打开PS软件并创建新图片(快捷键:Ctrl N)2。右键单击工具栏下的矩形,然后单击圆角矩形工具(快捷键:U)3。单击路径,然后将半径调整为15px(如果您认为半径调整不够好,可以修改它)4。在图上创建一条路

  2. 2 域名更换 wifi域名怎样设置才快?

    wifi域名怎样设置才快?1. 找运营商刷新互联网数据记录每个手机号码对应一个GPRS互联网账号,该账号记录了相应账号的互联网数据,运营商分配给每个账号的存储空间非常小。长期以来,积累的历史数据占据了大部分的空间,速度较慢。拨打本地运营商的

  3. 3 网络营销的方法有哪些? 特步官方网站和特步官方旗舰店有什么区别?

    特步官方网站和特步官方旗舰店有什么区别?特步的官方网站有特步公司直接建立网站销售,旗舰店可以放在其他电子商务平台上销售。两者质量相同。旗舰店作为一种新型的销售场所,近两年来非常受欢迎,各类旗舰店在繁华商业区异军突起。“旗舰”一词是指载有舰队

  4. 4 腾讯企业邮箱怎么添加附件 企业邮箱邮件怎么批量导出?

    企业邮箱邮件怎么批量导出?1. 网易企业邮箱网页肯定是无法实现的。2. 您可以先在客户端创建帐户;3。使用网易收集您的企业电子邮件;4。打开输入框(查找收集的企业电子邮件),选择要导出的电子邮件,然后单击打开;5。在电子邮件标题上方的功能按

  5. 5 u盘ghost系统安装教程 一键ghost恢复系统步骤?

    一键ghost恢复系统步骤?1.进入XP系统后,单击桌面上的一个按钮。此时,您什么都不做…2.单击一个按钮还原系统,然后选择下面的还原按钮。3.此时,系统界面中间会弹出一个小内容。我们会直接忽略它,然后提示您重新启动它…4.重新启动后,系统

  6. 6 鹿晗承认喜欢baby 邓超、陈赫、李晨、郑恺、王祖蓝、王宝强、包贝尔、鹿晗、baby和热巴,哪些才是你心中兄弟团?

    邓超、陈赫、李晨、郑恺、王祖蓝、王宝强、包贝尔、鹿晗、baby和热巴,哪些才是你心中兄弟团?邓超、李晨、陈鹤、郑凯、王祖兰

  7. 7 阿里云域名注册 在阿里云购买的新域名,被腾讯标记为危险网站,申诉不通过,怎么办?

    在阿里云购买的新域名,被腾讯标记为危险网站,申诉不通过,怎么办?如果您的网站没有发布非法信息,很可能是域名没有安装SSL安全证书,即没有HTTP加密安全升级。我以前写过一篇关于这方面的文章,这只是一种加密手段,以防止网络钓鱼或被监视。大型电

  8. 8 海报制作器 制作宣传海报哪个免费App好用?

    制作宣传海报哪个免费App好用?现在的应用程序不是那么容易使用的小程序。你试过制造者岗位吗?maker post应用程序不易使用,但这个小程序基本上复制了web版本的功能。海量模板非常容易使用。电脑端的在线平面设计网站,在线素材,具有基本图

  9. 9 web首页设计 网页设计就业率怎么样?自学的话会不会很难?

    网页设计就业率怎么样?自学的话会不会很难?各行各业的公司都需要网页设计师,他们更多地集中在互联网公司,从他们的网站盈利。因此,网页设计师的就业范围非常广泛。市场对网页设计师的需求不断增加,各大网站、广告公司、设计公司都在招聘大量的网页设计师

  10. 10 finereport入门教程 fastreport中文版教程之报表预览、打印导出的办法?

    fastreport中文版教程之报表预览、打印导出的办法?FastReport使用不多,但finereport一直在使用。finereport中的导出方法非常简单,如下图所示(我不知道FastReport是否设置为这样):report怎么读

Copyright 2025 优质自媒体,让大家了解更多图文资讯!百度地图 360地图