Java介绍

1.Java和jdk的关系

JDK(Java development kit) Java开发工具,包括: 编译器, Java运行环境(JRE,Java Runtime environment), JVM(Java虚拟机)监控和诊断工具等。 Java表示一种开发语言。

2.Java程序的执行

1 ) Java代码编译成字节码,即 .Java文件 编译成 .class文件 。具体过程为: Java源代码->词法分析器->语法分析器->语义分析器->字节码生成器->字节码 任一过程失败均会导致编译失败;

2 ) 把class文件放置到JVM(通常指oracle官方自带的Hotspot JVM);

3 ) JVM使用类加载器(Class Loader)装载class文件;

4 ) 字节码校验->JVM解释器翻译成机器码->操作系统执行机器码;

注:针对热点代码,Hotspot JVM提供了JIT(Just In Time,动态编译器),能够在运行时将热点代码编译为机器码,这个时候字节码就变成了编译执行。

3.JVM判定热点代码

1 ) 基于采样的热点判定 JVM周期性的检查各个线程的栈顶,若某些方法经常出现在栈顶,即为“热点方法”。

优点:实现简单

缺点:很难精确一个方法的热度,容易受到线程阻塞或外界因素的影响

2 )基于计数器的热点判定 JVM给每一个方法甚至代码块建立一个计数器,统计方法的执行次数,超过一定的阀值则标记为此方法为热点方法。

方法调用计数器:在client模式下阀值为1500次,server模式下为10000次,时间段内的调用方法的次数较少,计数器就减少。

回边计数器:主要统计方法中循环体代码执行的次数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值