JVM
-
深入理解JVM内存模型
JVM内存结构包括方法区、堆、栈、本地方法栈和程序计数器。不同的内存区域有不同的作用和管理方式,合理地使用和管理内存是编写高效、稳定的Java程序的重要方面。
-
JVM类加载器就做了这么点事?
本篇讲解jvm模块的类加载机制,学习jvm,就必须要知道类是怎么加载的。
-
Java First Hello World 程序,你了解多少?
在执行 Java 程序时,JVM 首先使用称为 类加载器的程序将类的字节码加载到内存中。如果您的程序使用其他类,则类加载器会在需要它们之前动态加载它们。加载一个类后,JVM 使用称为 字节码 验证程序的程序来检查字节码的有效性并确保字节码不违反 Java 的安全限制。Java 强制执行严格的安全性以确保 Java 类文件不被篡改并且不损害您的计算机。
-
聊聊JVM优化的常用指令
hat是用来分析jmap生成dump文件的命令,jhat内置了应用服务器,可以通过网页查看dump文件分析结果,jhat一 般是用在离线分析上。
-
实时数仓混沌演练实践
基于中间件、数据库、JVM、基础资源、网络、服务等注入常见的异常,根据实际业务中梳理的应用核心场景进行混沌演练,检验系统的脆弱性和应急响应能力,从而提升团队的稳定性保障处理能力。
-
为什么中国没有诞生世界流行的编程语言?
中国互联网行业发展得很快,二十年前国内能拿得出手的开源软件都很少,也就是LIDS, LVS, MingGUI等寥寥几个,现在仅仅是阿里巴巴就有一大批了, 从Linux内核,JVM,到分布式文件系统,微服务框架,消息队列,有一些产生了世界级的影响力。
-
JVM 与 GC 讲解,你学会了吗?
ull GC 的停顿时间较长,可能会对应用程序的性能和响应时间产生影响。因此,在设计和优化Java应用程序时,需要根据应用的需求和性能目标,合理配置堆内存大小、垃圾回收策略以及选择合适的垃圾回收器,以尽量减少Full GC的发生和影响。
-
一文吃透JVM分代回收机制
对整个堆进行整理,包括Young、Tenured和Perm。Full GC因为需要对整个对进行回收,所以比Scavenge GC要慢,因此应该尽可能减少Full GC的次数。在对JVM调优的过程中,很大一部分工作就是对于FullGC的调节。有如下原因可能导致Full GC。
-
JVM 内存大对象监控和优化实践
本文介绍了某核心服务内存问题排查与解决过程。首先在JVM与大对象优化上进行了有效的实践,其次在故障转移与大对象监控上提出了可靠的落地方案。最后,总结了内存优化需要考虑的其他问题。
-
JVM优化:垃圾回收概述
“虚引用”顾名思义,它是最弱的一种引用关系。如果一个对象仅持有虚引用,在任何时候都可能被垃圾回收器回 收。虚引用主要用来跟踪对象被垃圾回收器回收的活动。
-
JVM优化:双亲委派模型
黑客自定义一个 java.lang.String 类,该 String 类具有系统的 String 类一样的功能,只是在某个函数 稍作修改。比如 equals 函数,这个函数经常使用,如果在这这个函数中,黑客加入一些“病毒代码”。并且 通过自定义类加载器加入到 JVM 中。此时,如果没有双亲委派模型,那么 JVM 就可能误以为黑客自定义的 java.lang.String 类是系统的 String
-
JVM优化:JVM加载机制详解——类装载子系统
类的初始化阶段是类加载过程的最后一个步骤, 之前介绍的几个类加载的动作里, 除了在加载阶段用户应用程序 可以通过自定义类加载器的方式局部参与外, 其余动作都完全由Java虚拟机来主导控 制。
-
JVM优化:实战OutOfMemoryError异常
由于HotSpot虚拟机中并不区分虚拟机栈和本地方法栈, 因此对于HotSpot来说, -Xoss参数(设置本地方法栈大 小) 虽然存在, 但实际上是没有任何效果的, 栈容量只能由-Xss参数来设定。
-
JVM调优:方法区,你学会了吗?
改善堆过大时垃圾回收效率,减少停顿。Full GC时会扫描堆内存,回收效率和堆大小成正比。Native的内 存,由OS负责管理和回收。
-
Spring Loaded代码热更新实践和原理分析
Spring-loaded 使用 Java 的 Instrumentation API 在 JVM 启动时指定 Agent,使它能够在目标类加载之前进行拦截,并将目标类的字节码通过 ASM 库解析成抽象语法树(AST),然后对 AST 进行修改。修改的内容包括增加、删除、替换方法,修改方法体,添加字段等,最终替换目标类,改变其逻辑,实现对代码的热更新。