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

网站绑定别名好吗建站公司电话

网站绑定别名好吗,建站公司电话,wordpress禁止采集,南宁较好的网站建设公司因此#xff0c;我们都知道#xff0c;Java解释缓慢且C的编译和优化运行速度非常快。 您可能知道#xff0c;图片截然不同。 TL; DR Java适用于星座#xff0c;它的速度更快#xff0c;在JIT上可以执行内联#xff0c;因为所有方法/功能都是可见的#xff0c;而C编译器… 因此我们都知道Java解释缓慢且C的编译和优化运行速度非常快。 您可能知道图片截然不同。 TL; DR Java适用于星座它的速度更快在JIT上可以执行内联因为所有方法/功能都是可见的而C编译器无法在编译单元例如库等上执行优化。 AC编译器将C代码作为输入对其进行编译和优化并生成要执行的特定CPU或体系结构的机器代码。 这导致可执行文件无需进一步步骤即可直接在给定计算机上运行。 另一方面Java有一个中间步骤字节码。 因此Java编译器将Java代码作为输入并生成字节码而字节码基本上是抽象机的机器代码。 现在对于每个流行的CPU架构都有一个Java Virual机器该机器模拟此抽象机器并执行解释生成的字节码。 这听起来很慢。 但是另一方面字节码是可移植的因为相同的输出将在所有平台上运行因此口号“ 一次写入随处运行 ”。 现在使用上述方法它会变得“ 写一次到处等待 ”因为解释器会很慢。 因此现代JVM要做的就是及时编译。 这意味着JVM在内部将字节码转换为用于CPU的机器代码。 但是由于此过程非常复杂因此Hotspot JVM 最常用的一种仅对经常执行的代码片段执行此操作因此命名为Hotspot 。 除了更快地启动解释器立即启动JIT编译器根据需要启动之外还有另一个好处热点JIT已经知道经常调用什么部分什么不经常调用-因此它可以在优化输出时使用它–这就是我们的例子发挥作用的地方。 现在在查看我的完整示例之前请注意Java具有许多功能例如动态调度在接口上调用方法它还带有运行时开销。 因此Java代码可能更容易编写但通常仍会比C代码慢。 但是当涉及纯数字运算时就像下面的示例一样有一些有趣的发现。 因此无需进一步讨论这是示例C代码 test.c int compute(int i);int test(int i);int main(int argc, char** argv) {int sum 0;for(int l 0; l 1000; l) {int i 0;while(i 2000000) {if (test(i))sum compute(i);i;} }return sum; }test1.c int compute(int i) {return i 1; }int test(int i) {return i % 3; } 现在主要功能的实际计算完全不重要。 关键是它经常调用两个函数测试和计算并且这些函数在另一个编译单元test1.c中。 现在让我们编译并运行程序 gcc -O2 -c test1.c gcc -O2 -c test.c gcc test.o test1.o time ./a.outreal    0m6.693s user    0m6.674s sys    0m0.012s 因此此过程大约需要6.6秒 。 现在让我们看一下Java程序 Test.java public class Test {private static int test(int i) {return i % 3; }private static int compute(int i) {return i 1; }private static int exec() {int sum 0; for (int l 0; l 1000; l) {int i 0; while (i 2000000) {if (test(i) ! 0) {sum compute(i); }i; }}return sum; }public static void main(String[] args) {exec(); } } 现在让我们编译并执行以下命令 javac Test.java time java Testreal    0m3.411s user    0m3.395s sys     0m0.030s 因此花费3.4秒的时间 Java可以轻松完成此简单任务甚至包括JVM的缓慢启动。 问题是为什么 当然答案是JIT可以执行C编译器无法执行的代码优化。 在我们的例子中是函数内联。 当我们在自己的编译单元中定义了两个微型函数时编译器无法在编译test.c时内联这些函数。另一方面JIT拥有所有方法并且可以执行主动内联因此编译后的代码速度更快。 那么这是一个在现实生活中从未发生过的完全异国情调的虚构例子吗 是的没有。 当然这是一个极端的情况但是请考虑一下代码中包含的所有库。 所有这些方法都不能在C语言中进行优化而在Java中字节码的来源无关紧要。 由于所有JIT都存在于正在运行的JVM中因此JIT可以对其核心内容进行优化。 当然C语言有一个卑鄙的技巧可以减轻这种痛苦Marcos。 在我看来这就是市长的原因之一为什么C中如此之多的库仍然使用宏而不是适当的功能-伴随着它们带来的所有问题和麻烦。 现在就在火焰战争开始之前这两种语言都有其长处和短处并且在软件工程领域都占有一席之地。 撰写这篇文章仅是为了吸引您的注意并想知道现代JVM每天都在发生。 翻译自: https://www.javacodegeeks.com/2016/02/c-code-always-runs-way-faster-java-right-wrong.html
http://www.pierceye.com/news/711915/

相关文章:

  • 盐城市城镇化建设投资集团网站深圳专业企业网站制作哪家好
  • 绵阳做网站哪家公司好青岛手工活外发加工网
  • 如何调用网站列表页河北建基官网
  • 灰系网站wordpress 谷歌收录
  • 怎么把网站关掉wordpress小白
  • 开发网站合作协议网站建设团购
  • 管理手机网站网站规划与建设重要性理解与体会
  • 小辰青岛网站建设自己怎么开网站
  • 天津市建设工程合同备案网站网站建设 开发 模板
  • 外贸网站建设公司报价jsp网站建设技术案例
  • 旅行社英文模板网站织梦 网站迁移
  • 北京网站开发不限年龄伊春建设银行网站
  • 通辽公司做网站网站常规seo优化步骤
  • 成都集团网站设计推荐夫唯seo系统培训
  • 服务器有了网站怎么做的零食进货渠道网
  • 网站建设的学习方法桔子建站
  • 公司网站开通长沙免费网站建站模板
  • 汕头手机建站模板建设工程合同司法解释一
  • 品牌网站建设基本流程中山外发加工网
  • 网站迁移教材xyz域名的网站有哪些
  • 茂名公司网站开发tp框架做视频网站
  • 专门做家教的网站优秀网站设计赏析
  • 美食网站的建设背景婚庆网站建设
  • 榆社网站建设销售新品牌如何推广
  • 网站制作的公司哪家比较好网页作图软件
  • 网站开发质保动态wordpress动态主题
  • 建公司网站设计网站公司百度后台登录
  • 响应式网站开发方法建设汽车行业网站
  • 51ppt模板免费下载网站浏览器下载大全免费下载
  • 阳西县建设局网站.net网站项目有哪些