首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JVM
JavaEdge在掘金
创建于2022-01-29
订阅专栏
JVM
等 6 人订阅
共14篇文章
创建于2022-01-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Java服务器宕机解决方法论
1 宕机概要 1.1 定义 向服务器的请求都没有响应或者响应非常慢。 1.2 分类 进程闪退 内部崩溃 外部终止 线程锁死或者无限等待 内存溢出 下面分别进行详解 2 进程闪退 2.1 内部崩溃 JV
掌握JDK21全新结构化并发编程,轻松提升开发效率!
1 概要 通过引入结构化并发编程的API,简化并发编程。结构化并发将在不同线程中运行的相关任务组视为单个工作单元,从而简化错误处理和取消操作,提高可靠性,并增强可观察性。这是一个预览版的API。 2
华为技术专家万字讲清JVM内存模型(建议收藏!)
内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。 寄存器存储指令相关的现场信息,由于CPU时间片轮限制,众多线程在并发执行过程中,任何一个确定的时刻,一个处理器或者多核处理器中的一个内核,只会执行某个线程中的一条指令。这样必然导致经…
全网最细讲解JVM类加载、验证、准备、解析、初始化、卸载一条龙服务讲解
任何程序都需要加载到内存才能与CPU进行交流,同理, 字节码.class文件同样需要加载到内存中,才可以实例化类。 ClassLoader的使命就是提前加载.class 类文件到内存中,在加载类时,使用的是Parents Delegation Model(溯源委派加载模型)。 …
最新版JDK15下的JVM类加载器原理详解
由C/C++实现,启动类加载器,属最高层,JVM启动时创建,通常由与os相关的本地代码实现,是最根基的类加载器。 在JVM启动时,通过Bootstrap ClassLoader加载rt.jar,并初始化sun.misc.Launcher从而创建Extension ClassLo…
还不知道JVM双亲委派模型的bug?
说是双亲,其实单亲,无奈迎合历史的错误翻译吧。 因此所有的类加载请求最终都应该被传入到启动类加载器(Bootstrap ClassLoader)中,只有当父级加载器反馈无法完成这个列的加载请求时(它的搜索范围内不存在这个类),子级加载器才尝试加载。 在类路径下找到的类将成为这些…
JVM源码实战 - OOP-Klass模型
1OOP-Klass(OrdinaryObjectPointer)模型OOP-Klass模型用来描述class的属性和行为设计为OOP和Klass两部分是因为不希望每个对象都有一个C++vtbl指针,
带你从JVM源码看透对象头
JVM对象头 JVM是由一个对应角色的oop对象来描述Java对象: instanceOopDesc 描述普通实例对象 arrayOopDesc 描述数组对象 这些类型的oop对象均是继承自oopDe
一个RPC调用引发的生产系统OOM!直接祭天一个程序员
1 案例 一般线上系统OOM,都不会是简单的由你的业务代码导致,大多可能因为系统使用的某开源技术内部源码有问题。 2 系统架构 服务间RPC通信时,采用基于xxx框架封装的RPC框架。 3 事故现场
Java NIO为何导致堆外内存OOM了?
某天报警:某台机器部署的一个服务突然无法访问。谨记第一反应登录机器查看日志,因为服务挂掉,很可能因OOM。这个时候在机器的日志中发现了如下的一些信息: 表明确实为OOM,问题是哪个区导致的呢?可以看到
Metaspace内存溢出原因分析
Metaspace如何触发内存溢出? 如下两个参数专门设置Metaspace区大小: -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m 图中就限定Met
如何优化生产环境的Full GC?
大部分工程师开发完一个系统后,部署生产环境的时候往往不对JVM进行参数设置,直接用默认JVM参数,这绝对是系统负载逐渐增高的时最大问题 如你不设置-Xmx、-Xms之类的堆内存大小,你启动一个系统,可
手把手教你如何写出完美的JVM的Young GC
JVM参数示范(基于JDK 1.8) 用如下JVM参数运行代码: 如何打印JVM GC日志? GC日志打印选型: 加上该参数后,JVM参数如下: 实例 对象是如何分配在Eden 该行会在JVM Ede
一文搞懂Y-GC和Full GC的触发条件
1 Young GC触发时机 一般在新生代Eden区满后触发,采用复制算法回收新生代垃圾。 2 Old GC和Full GC的触发时机 2.1 发生Young GC前检查,若 $老年代可用连续内存空间