优化技术
Loop unrolling循环展开
LoopUnrollLimit必须在C2下才能使用
JVM技能篇:循环展开
https://juejin.cn/post/6876765748593688590
代码执行流水之循环展开优化
https://blog.csdn.net/qq_20880415/article/details/106080960
JVM JIT - Loop Unrolling
https://fasihkhatib.com/2018/05/20/JVM-JIT-Loop-Unrolling/
Loop Unrolling
https://blogs.oracle.com/javamagazine/post/loop-unrolling
JVM系列之:深入学习方法内联
https://juejin.cn/post/7078671997143629832
https://heapdump.cn/topic/LoopUnrollLimit
https://fasihkhatib.com/2018/05/20/JVM-JIT-Loop-Unrolling/
https://www.geeksforgeeks.org/time-taken-loop-unrolling-vs-normal-loop/
样例代码
public class LoopUnrolling1 {
public static void main(String[] args) {
long stime1 = System.currentTimeMillis();
// 执行时间(1s)
int calc1 = calc1(1000000000);
// 结束时间
long etime1 = System.currentTimeMillis();
// 计算执行时间
System.out.printf("执行时长:%d 毫秒.", (etime1 - stime1));
stime1 = System.currentTimeMillis();
// 执行时间(1s)
calc1 = calc2(1000000000);
// 结束时间
etime1 = System.currentTimeMillis();
// 计算执行时间
System.out.printf("执行时长:%d 毫秒.", (etime1 - stime1));
}
public static int calc1(int n){
int fact0=1, fact1=1;
for (int i=0; i<n; i+=2){
fact0*=i;
fact1*=i+1;
}
return fact0*fact1;
}
public static int calc2(int n){
int fact0=1, fact1=1, fact2=1, fact3=1, fact4=1;
for (int i=0; i<n; i+=5){
fact0*=i;
fact1*=i+1;
fact2*=i+2;
fact3*=i+3;
fact4*=i+4;
}
return fact0*fact1*fact2*fact3*fact4;
}
}
SafePoint安全点
-XX:+SafepointTimeout
-XX:SafepointTimeoutDelay=
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintGCDetails
-XX:+PrintSafepointStatistics
-XX:PrintSafepointStatisticsCount=1
-XX:+SafepointTimeout
-XX:SafepointTimeoutDelay=
JVM safe point 安全点和 counted loop 可数循环
https://blog.csdn.net/weixin_43735348/article/details/127580774
耗时几个月,终于找到了JVM停顿十几秒的原因
https://juejin.cn/post/7068858769706319879
JVM相关 - SafePoint 与 Stop The World 全解
https://zhuanlan.zhihu.com/p/161710652
HBase实战:记一次Safepoint导致长时间STW的踩坑之旅
https://juejin.cn/post/6844903878765314061#comment
分支预测Branch Prediction
一文告诉你CPU分支预测对性能影响有多大
https://zhuanlan.zhihu.com/p/150707004
深入理解CPU的分支预测(Branch Prediction)模型
https://zhuanlan.zhihu.com/p/22469702
Cloud-Native云原生
云原生关注的几个指标:应用启动时间,驻留内存大小,应用文件大小
Graal AOT
Oracle GraalVM Enterprise Edition 22
https://docs.oracle.com/en/graalvm/enterprise/22/docs/overview/architecture
本地预编译




jitserver
外部容器或资源的jit编译架构
JITServer - Optimize your Java cloud-native applications https://developer.ibm.com/articles/jitserver-optimize-your-java-cloud-native-applications/


被折叠的 条评论
为什么被折叠?



