“原生”一般想说明的是程序直接编译成单独的可执行文件(机器码)在本机的操作系统层面(用的是本机线程,可以直接访问本机硬件)执行,而不是编译成字节码在虚拟机上执行(Java),或者解释型编程语言直接有虚拟机解释执行( JavaScript)。编译成原生程序有执行速度的优势(没有任何中间层解释的负担),缺点就是不能跨平台(不同的平台可以指不同的操作系统,也可以指底层硬件架构比如不同的CPU架构指令集),能在虚拟机上执行的编程语言只要在不同平台上有相同的虚拟机实现,就被声明为可以跨平台。前者比如 C/C++写的程序,在Windows下编译的exe程序你拿到Linux系统是没法执行的,另外比如你给NVIDIA显卡写的Cuda C++程序拿到装有AMD显卡的机器上也是不能执行的。后者比如Java,所谓的编写一次到处执行(只要该平台装有Java虚拟机)。你也可以看到很多在Java平台上的新兴的编程语言比如kotlin /scala / clojure,其实仅仅意味着它们可以编译成Java 虚拟机执行的字节码而已。

是否是原生执行,这里的界限其实是非常模糊的,因为即使是虚拟机执行,虚拟机底层还是有机器来承载的。你也可以开发编译器直接把Scala代码编译成原生的机器码直接执行。再比如Hotspot Java 虚拟机,可以动态检测热点代码,把这部分热点代码动态编译成机器码执行以获得更快的速度。

当你慢慢看过更多的例子,就能更深刻的理解,特别在前端领域,比如JavaScript引擎,WebAssembly等去了解一下。

原生开发什么意思_编程领域的“原生”一词是什么意思?相关推荐

  1. 原生开发什么意思_什么是原生开发?什么是混合开发?两者有什么区别?

    各行各业都已经转型进入互联网发展,面对这个必然趋势,普通行业线下销售模式已经是走不通了,眼看大家都在往互联网上转型.也都有了自己的网上平台店铺或APP,自己想开发一款APP,但是又不了解行情,对于原生 ...

  2. 原生开发什么意思_成都APP开发:原生APP开发与Web APP开发有什么区别呢?

    智能手机上的APP应用软件对于人们来说已经成为日常工作生活当中必不可少的工具,无论是工作生活中的聊天交流,购物,饮食,出行,娱乐都会有相应的APP软件.目前常见的APP软件开发模式有两种,一种是原生A ...

  3. 原生开发什么意思_网站打包生成的APP和原生开发APP有什么区别?

    原标题:网站打包生成的APP和原生开发APP有什么区别? 1.首先从开发方面: 原生开发的App 每一种移动操作系统都需要独立的开发项目 每种平台都需要独立的开发语言.Java(Android), O ...

  4. 以下环境不可用于python编程开发的是_编程论剑, Python 开发环境哪个最强?

    Python被戏称为胶水语言,贯穿了小到桌面程序开发.网页开发,大到企业级管理开发.Python已成为编程界的宠儿,被用来编写所有流行的项目.Python程序员编写程序的编辑器选项非常丰富.有那么一部 ...

  5. android开发 问卷调查案例_安卓 问卷调查Demo 原生代码

    [实例简介] android 问卷调查Demo,android原生代码,不是webView加载H5,比较容易理解,大家可以改改 [实例截图] [核心代码] QuestionDemo └── Quest ...

  6. AndroidStudio安卓原生开发_UI高级_自定义主题和样式---Android原生开发工作笔记129

    然后我们再来看android中的主题和样式,首先我们去看主题, 主题就是我们看到的一个app的整体样式.但是他可以设置给某个activity,所以也可以具体点说, 他是activity窗体级别的. 而 ...

  7. python原生字符串可以参与比较_正则表达式中对于原生字符串的理解

    在正则表达式中,有些字符是有特殊意义的字符.因此如果想要匹配这些字符,那么就必须使用反斜杠进行转义.比如$代表的是以...结尾,如果想要匹配$,那么就必须使用\$.示例代码如下: text = &qu ...

  8. AndroidStudio_安卓原生开发_v4v7升级到androidx方法---Android原生开发工作笔记147

    自己的程序版本太久了,导致要集成进一些网路上找的自定义控件等都集成不进来...就升级了: 1.首先在项目的: TestApp\gradle.properties 文件中: 添加 # 表示使用 andr ...

  9. 调查了 17,000 多位程序员,当前的云原生开发现状究竟如何?

    整理 | 弯月,责编 | 郭芮 头图 | CSDN 下载自东方IC 出品 | CSDN(ID:CSDNnews) 容器的标准化使用改变了软件的开发方式,我们迎来了开发运维的时代,基于云原生的开发能够帮 ...

最新文章

  1. 基于pytorch的模型压缩和模型剪枝Model Prune示例
  2. .NetCore Docker
  3. openstack的云主机相关命令
  4. 城里城外看SSDT[转]
  5. HashMap,LinkHashMap和TreeMap的区别
  6. lacp静态和动态区别_lacp静态与动态区别
  7. 常用的数据统计Sql 总结
  8. centos-安装ifconfig
  9. 映月城与电子姬服务器维护,映月城与电子姬11月16日更新公告 加强玩家作弊检测增加举报功能...
  10. python可以做什么工作-python都能干什么用
  11. Java 调用 pytorch_5分钟!用Java实现目标检测 | PyTorch
  12. 7 年零故障支撑双 11,消息中间件 RocketMQ 如何做到?
  13. 推荐系统的几种常用算法总结
  14. 微信小程序 在wxml写过滤器 脱敏手机号
  15. 2020COSMO时尚盛典即将闪耀启幕
  16. apache - mod_rewrite配置指令RewriteBase
  17. 基于EMC的共模干扰与差模干扰以及抑制方法(转载)
  18. 【svn】svn的Replacing来历及解决办法
  19. 秋季天凉易感冒 冷水洗脸来预防
  20. 01Node.js入门+留言本实操

热门文章

  1. java 36 进制_数学-在Java中如何将十进制数转换为以36为底的数字?
  2. 多因子模型之因子(信号)测试平台----计算因子值
  3. 真机调试/打包测试/程序发布/内购的具体操作流程
  4. java jps命令使用解析
  5. 你好请问计算机房在几楼,电梯机房一般在几楼
  6. c语言打印字母菱形————用绝对值
  7. Shader 之——rampTex使用(崩坏3)
  8. 4-CNN-demo-0502-BNorm_work
  9. 1737C - Ela and Crickets
  10. TensorFlow学习笔记之图像大小调整(最全可运行的代码)