JVM字节码指令集,寄存器,栈(方法栈和本地方法栈),垃圾回收详解

本文详细介绍了JVM的相关知识,包括字节码指令集、内存分配策略如栈与堆、TLAB(Thread Local Allocation Buffer)的作用,以及垃圾回收机制。讲解了JVM内存结构,如方法区、堆和栈,以及Hotspot虚拟机的后台系统线程。同时,还探讨了Java线程同步与交互的方法,如同步、锁和信号量等,并提到了直接内存的使用。
摘要由CSDN通过智能技术生成

JVM

包括字节码指令集,寄存器,栈(方法栈和本地方法栈),垃圾回收,堆,方法区,运行在操作系统上,与硬件无交互

这里给大家整理了一些面试题有需要完整版的朋友可以点一点领取:点这里即可领取下面资料!!!,获取码:CSDN在这里插入图片描述

新建出来的对象一定会分配在堆上吗

还有可能分配在栈上或者是 和TLAB(Thread Local Allocation Buffer)。
棧:利用逃逸分析来确定是否要分配在堆上,逃逸分析,是一种可以有效减少Java 程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析,Java Hotspot编译器能够分析出一个新的对象的引用的使用范围从而决定是否要将这个对象分配到堆上。在计算机语言编译器优化原理中,逃逸分析是指分析指针动态范围的方法,它同编译器优化原理的指针分析和外形分析相关联。当变量(或者对象)在方法中分配后,其指针有可能被返回或者被全局引用,这样就会被其他过程或者线程所引用,这种现象称作指针(或者引用)的逃逸(Escape)。沒有逃逸就分配在棧上

TLAB:JVM在内存新生代Eden Space中开辟了一小块线程私有的区域,称作T

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值