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

做兼职的设计网站有哪些工作内容自己的网站怎么做seo

做兼职的设计网站有哪些工作内容,自己的网站怎么做seo,企业如何做网站推广,dedecms做门户网站即时编译器 HotSpot虚拟机中内置了两个即时编译器,分别称为Client Compiler和Server Compiler,或者简称为C1编译器和C2编译器。Java8默认开启Server模式。用户可以使用“-client”或“-server”参数去指定编译模式。 C1编译器启动速度快,关注局部简单可靠的优化,比如方法…
即时编译器

HotSpot虚拟机中内置了两个即时编译器,分别称为Client Compiler和Server Compiler,或者简称为C1编译器和C2编译器。Java8默认开启Server模式。用户可以使用“-client”或“-server”参数去指定编译模式。

C1编译器启动速度快,关注局部简单可靠的优化,比如方法内联、常量传播等。C2编译器 关注一些编译耗时较长的全局优化,甚至会根据性能监控(profiling)进行一些不可靠的激进优化。它的性能通常比 C1编译器 高30%以上,适用于长时间运行的后台程序。
在这里插入图片描述

C1和 C2编译器是由C++写成,目前还有用Java 编写的即时编译器Graal。

Java 7 引入了分层编译的概念,综合了C1的启动性能优势和 C2 的峰值性能优势。分层编译主要分为如下层级:

1)解释执行。

2)执行C1代码,根据运行情况进行profiling。

3)执行C2代码,根据profiling进行激进优化。

profiling 是指在程序执行过程中,收集能够反映程序执行状态的数据 。profiling越多,其额外的性能开销越大。其中最基本的统计数据是方法的调用次数以及循环回边的执行次数,用于判断热点代码,并触发即时编译。计数默认阈值在Client模式下是1500次,在Server模式下是10000次。
在这里插入图片描述

方法调用计数器

方法调用计数器(Invocation Counter),顾名思义,这个计数器就是用于统计方法被调用的次数。需注意该 计数器统计的非绝对次数,而是一个相对的执行频率。当超过一定的时间限度,如果方法的调用次数仍不足以触发即时编译,那这个方法的调用计数会被减少一半,这个过程称为热度的衰减 (Counter Decay),而这段时间就称为此方法统计的半衰周期 (Counter Half Life Time)。

// 假设input这个Http接口单位时间内调用doSomething方法一万次以上
@RequestMapping(value = "/input")
CommonResponse input(@RequestBody InputRequest request){// 将doSomething进行方法内联编译优化return CommonResponse.ok(doSomething(request));
}void doSomething() {// 将当前代码编译成本地机器码......
}
循环回边计数器
void loop() {int sum = 0;for (int i = 0; i < 10; i++) {sum += i;}
}

上面这段代码经过编译生成下面的字节码:

  public void loop();Code:0: iconst_01: istore_12: iconst_03: istore_24: iload_25: bipush        107: if_icmpge     2010: iload_111: iload_212: iadd13: istore_114: iinc          2, 117: goto          420: return

在上述字节码中,循环回边计数器被存储在第7行的if_icmpge指令中。if_icmpge指令用于接收两个操作数用于比较计算,以决定循环体 跳转 的位置。在解释执行时,每当运行一次该指令,该方法的循环回边计数器加1。

循环回边计数器(Loop BackEdge Counter)触发的优化技术 叫作栈上替换 (On Stack Replacement , OSR) 。假设有 一个 方法 只被 调用一次,但却包含超过一万次以上循环迭代次数,这个循环方法无法以方法调用计数来统计。而 栈上替换技术 解决了这个问题。当编译器检测到一个循环已经迭代足够次数,它会将循环中的代码动态编译成机器代码,并在适当的时机进行切换。

void largeLoop() {// 假设largeLoop是一个只被调用一次,但包含100百万次循环迭代// 1)循环回边计数器通过迭代计数统计,触发即时编译// 2)将循环中的代码编译成本地机器码for (int i = 0; i < 1000000; i++) {......}
}
提前编译器

提前 编译器 (Ahead Of Time, AOT ),是与即时编译器相对立的一个概念,指在程序运行之前将字节码转换为本地机器码,从而减少了运行时的编译开销, 提高启动速度。属于一种静态编译手段。

但Java 语言本身的动态特性带来了额外的复杂性,影响了程序静态编译代码的质量。例如 Java 语言的运行时动态类加载,因为 提前 编译器 是在程序运行前进行编译的,所以无法获知这一信息。

http://www.zhongyajixie.com/news/10735.html

相关文章:

  • 网站首页做多大分辨率网络销售怎么找客户
  • 粉色帝国网站厦门人才网最新招聘信息网
  • 个人建设视频网站搭建网站教程
  • 世界建设企业网站app推广策略
  • 网站建设中应该注意什么优化的含义是什么
  • ionic3 做网站西安seo公司哪家好
  • 比较好的建立站点能让网络非常流畅的软件
  • wordpress搭建在线教育整站优化和关键词优化的区别
  • 牛 网站建设关键词营销推广
  • 个人网站做排名seo引擎优化外包
  • 网站去哪做免费推广引流怎么做
  • 狍与女人做爰网站全网营销系统1700元真实吗
  • 郑州网站建设老牌公司大数据营销平台那么多
  • 贵阳做网站kuhugz网站规划与设计
  • 关于配色的网站推荐网站页面优化包括
  • 大讲堂123专注网站模板制作关键词优化app
  • 做购物网站小图标网页seo
  • 广东建的电商网站叫啥企业网站排名优化
  • 品牌策划案模板范文网络优化工程师前景如何
  • 长沙做网站那家好网络营销成功的案例分析
  • 商城网站租服务器安全不怎样推广一个产品
  • 北京做网站供应商餐饮管理培训课程
  • 用dw做网站 主题是哪个排名优化公司哪家好
  • 新手做网站需要哪些软件seo网络优化专员
  • html5做服装网站免费刷推广链接的网站
  • 电子商务网站平台建设预算不包括关键词热度分析
  • 免费申请域名做网站品牌战略
  • 图片网站如何做百度排名每日新闻摘抄10一15字
  • 有哪些可以在线做海报的网站游戏推广赚钱
  • 怎样做联盟网站百度seo还有前景吗