首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JVM 垃圾回收
订阅
hello_奥特曼
更多收藏集
微信扫码分享
微信
新浪微博
QQ
130篇文章 · 0订阅
技术问答集锦(17)JVM垃圾回收
1判断对象是否可回收有几种方式?引用计数算法可达性分析算法2"GCRoots"对象都包含哪些3Java四种引用类型分别是什么?及存活时间4Java四种引用使用场景强引用-FinalReference软
Java内存模型以及happens-before规则
1. JMM的介绍 在上一篇文章中总结了线程的状态转换和一些基本操作,对多线程已经有一点基本的认识了,如果多线程编程只有这么简单,那我们就不必费劲周折的去学习它了。在多线程中稍微不注意就会出现线程安全问题,那么什么是线程安全问题?我的认识是,在多线程下代码执行的结果与预期正确的…
深入理解JVM类加载机制
简述:虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类从被加载到内存中开始,到卸载出内存,经历了加载、连接、初始化、使用四个阶段,其中连接又包含了验证、准备、解析三个步…
你真的懂 Java 的内存管理和引用类型吗?
对于 Java 程序员来说,在 Java 虚拟机自动内存管理机制的帮助下,不再需要为每一个 new 操作去写对应的 delete/free 代码,不容易出现内存泄露和内存溢出的问题。不过,也正是因为 Java 程序员把内存控制的权力交给了 Java 虚拟机,一旦出现内存泄露和内…
可能是把Java内存区域讲的最清楚的一篇文章
哈哈 皮一下!我自己开源的一个Java学习指南文档。一份涵盖大部分Java程序员所需要掌握的核心知识,正在一步一步慢慢完善,期待您的参与。Github地址:https://github.com/Snailclimb/Java-Guide 。看一眼,我觉得你一定不会后悔,如果可以…
JVM学习笔记——Class类文件解读
Java源代码通过编译生成.class文件字节码后再被JVM解释转化为目标机器代码,从而实现一次编写到处,到处运行("Write Once,Run Anywhere")。字节码与平台无关,而且并不是只有Java语言编译为字节码文件在虚拟机上运行。 Class文件是一组以8位字节…
JVM学习笔记——节码执行引擎
在介绍虚拟机栈时就提到,每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。栈帧中需要多大的局部变量表和多深的操作数栈在编译代码的过程中已经完全确定,并写入到…
JVM系列:(九)对象的创建和访问
主要讲解了对象的创建过程、在堆内存中的存储结构和访问方式,通过对象的访问我们可以把前面讲解的JVM内存模型中的方法区、堆、栈这三者关联起来,之间相互配合完成对象的创建及访问。
JVM学习笔记——自动内存管理
在上篇文章中简单介绍了JVM内部结构,线程隔离区域随着线程而生,随着线程而忘。线程共享区域因为是共享,所以可能多个线程都用到,不能轻易回收,与C语言不同,在Java虚拟机自动内存管理机制的帮助下,不再需要为每个new操作去写配对的delte/free代码,能够帮助程序员更好的编…
基于JVM之上的并发编程模式剖析
使用并发编程并不仅仅是为了CPU多核从而使得程序能够并行执行,其本质其实就是为了消除延迟,例如访问硬盘、网络IO等慢速的设备相对单纯的CPU计算会有很高的延迟,进而导致线程阻塞在这里等待资源,这个时候CPU的资源就白白浪费了,因此我们会根据业务场景,选择开启多个线程,将这些比较耗