• 「什么是逃逸分析?」


    「什么是逃逸分析?」
    逃逸分析(Escape Analysis),是一种可以有效减少Java 程序中同步负载和内存堆分配压力的跨函数
    全局数据流分析算法。通过逃逸分析,Java Hotspot编译器能够分析出一个新的对象的引用的使用
    范围,从而决定是否要将这个对象分配到堆上。
    逃逸分析是指分析指针动态范围的方法,它同编译器优化原理的指针分析和外形分析相关联。当变
    量(或者对象)在方法中分配后,其指针有可能被返回或者被全局引用,这样就会被其他方法或者
    线程所引用,这种现象称作指针(或者引用)的逃逸(Escape)。通俗点讲,如果一个对象的指针被
    多个方法或者线程引用时,那么我们就称这个对象的指针发生了逃逸。
    「逃逸分析的好处」
    栈上分配,可以降低垃圾收集器运行的频率。
    同步消除,如果发现某个对象只能从一个线程可访问,那么在这个对象上的操作可以不需要同
    步。
    标量替换,把对象分解成一个个基本类型,并且内存分配不再是分配在堆上,而是分配在栈
    上。这样的好处有,一、减少内存使用,因为不用生成对象头。二、程序内存回收效率高,并
    且GC频率也会减少。

  • 相关阅读:
    网盘搜索网站汇总
    AutoIt3病毒杀毒攻略(详)
    数据库的逻辑结构设计
    Oracle数据类型
    选择ORACLE数据库字符集
    ETL讲解(很详细!!!)
    Oracle左连接,右连接,全外连接和+号的用法
    Oracle用户创建及权限设置
    内连接、外连接、自然连接
    关系数据库关系代数
  • 原文地址:https://www.cnblogs.com/dingpeng9055/p/15915971.html
Copyright © 2020-2023  润新知