首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JVM
订阅
justDOit
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
再谈synchronized实现(锁重入,锁膨胀)
基本使用 synchronized放在实例方法上,锁对象是当前的this对象 synchronized放在类方法(静态方法)上,锁对象是方法区中的类对象 synchronized修饰代码块,也就是sy
并发编程——Java线程的6种状态及切换
本次主要分享一下Java线程的六种状态及其转换。线程的状态及其转换,操作系统线程的五种状态,Java线程的六种状态,Java线程的状态图
volatile,还可以有这么硬的理解
volatile 关键字作为Java虚拟机提供的轻量级同步机制,在Java并发编程中占据着重要的地位,但是深入理解volatile可不是一件简单的事,了解volatile的同学都知道,volatile变量保证了可见性,而可见性又与Java内存模型息息相关,所以本文先简单介绍内存…
为什么GC 异常,大家喜欢让Swap背锅呢
背景在公司内部技术群里,经常有人时不时的问到服务某次GC时间突然很高,有什么办法排查。基本上每次都会有人怀疑会不会Swap导致的,先看看Swap,如果真的使用了Swap区域,基本上就会让Swap区域背
深入理解JVM类加载机制
简述:虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 类从被加载到内存中开始,到卸载出内存,经历了加载、连接、初始化、使用四个阶段,其中连接又包含了验证、准备、解析三个步…
这一定是全网写JVM最好的文章之一 - JVM运行时数据区
一个Java程序,首先要经过javac编译成.class文件,.class文件是给JVM进行识别的,JVM将.class文件加载到方法区,执行引擎会执行这些字节码,执行时,会翻译成操作系统相关的函数。 JVM:JVM具体可以理解成就是一个平台,一个虚拟机,可以把class翻译成…
理解Java的强引用、软引用、弱引用和虚引用
Java执行GC判断对象是否存活有两种方式其中一种是引用计数。 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于(reachable)可达状态,程序才能使用它。 从JDK 1.2版本开始,对象的引用被划分为4种级别,…
MAT:一次线上内存泄漏排查
首先,发现线上某分析应用出现异常,连续好几天,一直没有分析数据产出。故登陆到线上查看error.log日志,发现: 明显是 YCYX-Task 这个线程出现了内存溢出,导致程序假死。 可见,最大堆容量为:4G。 如上,可以看到,除了几大基本类型外(因为各对象的底层都是几个基本类…
探究一下JDBC中的Class.forName
之前没有想过为什么需要有这么一个语句,都是按照文档直接这么做的,在这篇文章中我来试着解释这么做的原因。 在这之前我们先来说下Java中的类加载机制。 在Java中如果想要使用一个类,则必须要求该类已经被加载到Jvm中,加载的过程实际上就是通过类的全限定名来获取定义该类二进制字节…