当前位置: 首页 > news >正文

化妆品购物网站建设目的常州想做个企业的网站找谁做

化妆品购物网站建设目的,常州想做个企业的网站找谁做,google官方下载,深圳教育网站建设最近因为公司的一些原因#xff0c;我也开始学习一些 JAVA 的知识。虽然我一直是以 .NET 语言为主的程序员#xff0c;但是我并不排斥任何其它语言。在此并不讨论 JAVA .NET 的好坏#xff0c;仅仅是对 .NET 跟 JAVA 程序的编译执行过程进行一些简单的介绍跟比较。因为有些内… 最近因为公司的一些原因我也开始学习一些 JAVA 的知识。虽然我一直是以 .NET 语言为主的程序员但是我并不排斥任何其它语言。在此并不讨论 JAVA .NET 的好坏仅仅是对 .NET 跟 JAVA 程序的编译执行过程进行一些简单的介绍跟比较。因为有些内容还是超出自己原来的认知的所以整理一下做个记录。.NET.NET 程序的执行过程大概分以下几个步骤1.代码2.语言编译器编译3.IL4.JIT 编译5.运行.NET 平台的程序编译的时候是分多步的。当我们写好代码开始编译的时候需要选择一个合适的编译器比如csc 、vbc 。经过这一次编译之后我们的程序会被打包成 dll 或者 .exe 文件。这些 dll 里面其实包含的是 MSIL 。IL 做为一种中间语言为跨平台提供了基础。当我们把这些文件复制到目标机器上需要真正运行的时候JIT just-in-time compilation编译开始工作了。CLR 为我们在每个支持的平台上都实现了一个 JIT 编译器当一个方法在第一次运行的时候JIT 编译会把 IL 编译成目标机器的机器码这样我们的程序才能真正运行。这也是为什么 .NET 程序第一次运行的时候会慢一点的原因。解决这个问题我们可以使用工具 Ngen.exe 在第一次运行前进行一次预编译这样就可以提升 .NET 程序的启动速度。分层编译上面大概描述了 .NET 程序编译过程。但是 JIT 编译可能还有一些特性需要讲一下比如分层编译。分层编译是从 .NET core 2.1 开始引入的一个特性。我们的 IL 到机器码需要 JIT 进行一次编译这会影响 .NET 程序的第一次运行的速度。微软为了解决这个问题引入了分层编译。分层编译把 JIT 编译分成两次。当一个方法第一次被执行的时候JIT 编译器会进行第一次快速编译这次编译并不会进行特别的优化操作追求的是编译的速度。当我们的程序运行一段时间后CLR 会自动感知到频繁运行的代码这些代码被称为热点代码。当出现热点代码的时候 JIT 编译器会重新进行一次优化编译来提高热点代码的执行效率从而提高整个程序的性能。通过 JIT 分层编译, .NET 程序很好的在编译速度跟性能之间找到了平衡。JAVAJAVA 程序的执行过程大概分以下几个步骤1.代码2.语言编译器编译3.字节码4.解释/JIT编译5.运行下面说说 JAVA 程序的编译过程。当我们编写好 JAVA 程序想要执行的时候跟 .NET 程序一样同样会选择一个语言编译器来进行第一次编译。因为 JVM 语言有好多种比如 JAVA kotlin 所以同样会有多种语言编译器比如 javac,kotlinc 等等。这里还是以标准的 JAVA 为例在语言编译器编译完源代码后会生成一堆 .class 的文件这些文件包含的内容被称之为字节码。字节码的存在跟 MSIL 类似同样为跨平台提供了一种很好的方案。只要为每个平台实现接口一致的 JVM , 让这些 JVM 来运行字节码就可以跨平台了。解释执行当我们真正要执行 JAVA 程序的时候这些字节码会被 JVM 执行。JVM 执行的时候首先会在 CodeCache 内查找这个方法有没有编译好的机器代码如果没有那么交给“解释执行器”来解释执行。所谓解释执行就是将代码一行行的经过解释器进行翻译成机器码后让目标机器执行。但是这些翻译的产物并不会被记录下来也就是说同样的代码每次执行的时候都需要解释器进行翻译。JIT 编译显然对于一些重复执行的方法解释器执行效率会很低。为了解决这个问题设计 JVM 的工程师们想出了办法。以 Hotspot 为例当程序经过一段时间的解释执行后JVM 会记录这些方法的执行次数当一些方法反复被执行的时候JVM 会认为这些方法是热点代码。这时候 JVM 会对这些热点代码进行一次 JIT 编译这次 JIT 编译还会根据运行时的 profile 进行优化。编译完成后把 JIT 编译的产物固定下来存储在 CodeCache 中。这样当一个方法下次再次被执行的时候 JVM 会从 CodeCache 中直接读取机器码来执行。这样热点代码的执行效率就会大大的提供这也是为啥有些 JAVA 程序需要进行预热。总结通过以上我们分别描述了 .NET 跟 JAVA 程序编译执行的过程。他们之间的区别在于 .NET 程序不管什么时候都是进行 JIT 编译并且通过分层编译技术在首次执行速度跟性能之间找到了平衡。而 JAVA 虽然做为一门静态语言但是它的代码一开始竟然是解释执行的当然这是对 Hotspot JVM而言的有的 JVM 未必是这样在运行的时候才会对热点代码进行 JIT 编译优化代码。虽然大家实现的方式不同但是殊途同归都是通过对热点代码的二次编译实现了对程序的性能的优化。参考https://docs.microsoft.com/zh-cn/dotnet/standard/managed-execution-processhttps://www.zhihu.com/question/37389356/answer/73820511关注我的公众号一起玩转技术
http://wiki.neutronadmin.com/news/191215/

相关文章:

  • 解析网站怎么做室内设计平面图案例
  • 网站的意思搭建一个网站要多少
  • 广州市手机网站建设公司wordpress在php7.0
  • 东昌府区建设局网站装饰设计的变形手法有哪些
  • 网站的反链怎么做最新国际新闻50条简短
  • 甘肃省建设厅执业注册中心网站宣传广告怎么做吸引人
  • 品牌商标购买网站腾讯分分彩做号网站
  • 网站建设时间查询dw做网站 怎么做背景图片
  • 西部虚拟主机网站后台不能访问广州门户网站制作
  • 企业如何建设网站呢吉林省建设局网站
  • 公司做网站推广企业网站的设计
  • 无锡新区网站制作网站推广效果不好原因是
  • 网站结构是体现的网站开发 组织架构
  • 导航网站链接怎么做智慧旅游类网站开发商
  • 网站建设的原理传统网站布局
  • 网站推广和网络推广广州 环保 凡人网站建设
  • 视频网站的广告能怎么做免费ppt模板app有哪些
  • 湖南常德广宇建设网站北京住房和城乡建设厅网站
  • 建设网站需要哪些备案东莞保安公司排名前十
  • 曲靖市网站建设长沙建网站
  • 旅游营销的网站建设求好用的seo软件
  • wordpress怎样创建门户网站最便宜的酒店网站建设
  • 检测ai写作的网站网络营销运营策划
  • 网站建设公司如何拓宽业务扬州大学第四届网站建设评比
  • 兰州易天网站建设公司有哪些自助建网站的平台 数据库
  • 电商平台网站 建设目标网络规划设计师2023论文
  • 哈尔滨市营商环境建设监督局网站艺术学院网站模板
  • 指定网站长期建设 运营计划呼和浩特网站推广
  • php做网站自动生成前台吗有哪些网站做简历比较好
  • 安全的响应式网站建设阿里云服务器的网站备案流程