logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

java虚拟机的逃逸分析

逃逸分析作为其他优化手段提供依据的分析技术,其基本行为就是分析对象动态作用域:当一个对象在方法中被定义后,它可能被外部方法所引用,例如作为调用参数传递到其他方法中,称为方法逃逸。甚至还有可能被外部线程访问到,比如赋值给类变量或可以在其他线程中访问的实例变量,称为线程逃逸。如果能证明一个对象不会逃逸到方法或线程之外,也就是别的方法或者线程无法通过任何途径访问到这个对象,则可能为这个变量进行一些高

#java#虚拟机
KVM/QEMU 虚拟机的两种内存运行访问机制

KVM/QEMU虚拟机的任何内存变动都会关联到底层的宿主机的变化,宿主机会确认该虚拟机变化在整个内存分页表中是否有效,可用,不允许其访问不属于他的内存页,此内存运行访问机制有两种:1)第一种是影子分页表技术。虚拟机所使用的的内存分页表与实际的内存分页表是独立的,不是同一张分页表,当虚拟机修改自己的内存分页表时,宿主机会检测到有修改动作发生,然后进行确认,之后才会修改真正的分区表,使由虚拟机发起

#openstack
垃圾回收的依据,如何判断一个对象已经毫无用处

垃圾回收的依据,如何判断一个对象已经毫无用处)可达性分析算法:通过一系列成为GC Roots的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径成为引用链,当一个对象到GC Root没有任何引用链相连的时候,则证明这个对象时不可用的。所以就会被收集。2)可作为GC Roots的对象包括以下几种:1,虚拟机栈中引用的对象2,方法区中类静态属性引用的对象3,方法区中常量引用的

#java
java虚拟机浮点值窄化转换为整数类型T(int或long类型之一),遵循的转换规则

浮点值窄化转换为整数类型T(int或long类型之一),遵循的转换规则:1)如果浮点值为NaN(Not a Number的缩写,NaN 表示为指数为 emax + 1 = 128,指数域全为 1,且尾数域不等于零的浮点数。IEEE 标准没有要求具体的尾数域,所以 NaN 实际上不是一个,而是一族),那么转换结果就是int或者long类型的0。2)如果浮点值不是无穷大的话,浮点值使用向零舍入

#java#虚拟机
java虚拟机判断代码是否是热点代码方式

判断一段代码是否是热点代码方式有两种:1)基于采样的热点探测2)基于计数器的热点探测,采用这种方法的虚拟机会为每个方法建立计数器,统计方法的执行次数,如果执行次数超过一定的阈值就认为它是热点方法。方法调用计数器统计的并不是方法被调用的绝对次数,而是一个相对的执行频率,即一段时间内方法被调用的次数,当超过一定的时间限度,如果方法的调用次数仍然不足以让它提交给即时编译器编译,那这个方法的调用计

#java#虚拟机
java虚拟机对锁的优化之锁粗化和锁消除

锁消除是指虚拟机即时编译器在运行时,对一些代码上要求同步,但是被检测到不可能存在共享数据竞争的锁进行消除。锁消除主要判定依据来源于逃逸分析的数据支持锁粗化,如果虚拟机探测到有这样一串零碎的操作都对同一个对象加锁,将会把加锁同步的范围扩展到整个操作序列的外部,这样就只需要加锁一次就够了

#java#虚拟机
jvm虚拟机的五个组成部分解析

1)程序计数器几乎不占内存,用于取下一条指令2)堆,所有通过new创建的对象的内存都在堆中分配,堆被划分为新生代和老年代。新生代有进一步划分为Eden和Survivor区,最后Survivor由FromSpace和ToSpace组成。新建的对象都使用新生代分配内存,Eden空间不足,会把存活对象移植到Survivor中。3)栈,每个线程执行每个方法的时候都会在栈中申请一个栈帧,

#java#jvm
Neutron服务安装配置

Neutron网络服务组件通过提供API使用户可以定义网络连接类型和IP网络地址、基于三层路由转发和NAT的负载均衡、防火墙和IPSec VPN等,提供了多种网络技术,丰富了网络功能,驱动了Openstack云计算网络的建设。一,安装和配置控制节点(1)创建数据库1,在操作系统终端连接数据库2,创建Neutron数据库3,Neutron数据库的访问权限设置

#openstack
KVM/QEMU虚拟机申请和释放内存的步骤

1)内存申请1,QEMU调用malloc()函数为虚拟机分配虚拟内存页,但是此时并没有申请真正的物理内存。2,虚拟机开始访问该虚拟内存页,并且认为该虚拟内存页是真正的物理内存页,但是由于该内存页没有真正分配,所以开始向宿主机申请。3,宿主机内核发现一个内存页错误,便会在已经分配的malloc()'d区域调用do_page_fault()函数,如果一切顺利,没有被打断,则宿主机开始响应虚

#openstack
    共 19 条
  • 1
  • 2
  • 请选择