JVM

深入探索JVM:理解Java程序在虚拟机中的存储和管理

大家好,我是大圣,很高兴又和大家见面。 今天给大家带来图解 JVM 系列的第四篇文章,我们写的 Java 程序是怎么在JVM 里面存储的。本次大纲如下: 前面知识回顾 上一篇 图解JVM系列:揭秘运行时数据区的设计与实现 文章说了JVM 运行时数据区的设计理念,我们是通过 冯·诺依曼结构 来类比引出 ......
程序 Java JVM

【JVM】记录一次线上服务频繁FGC的排查过程

一.背景 最近在Grafana关注到线上推送服务push-service在运行一段时间后,内存占用非常高,并且频繁发生FGC,这里记录下问题排查过程 二.排查过程 推送服务主要作用为,消息推送,因此JVM内存这里分配的是 Xmx 和Xms 均为2G 1. 首先在Grafana上的监控指标,可以看到F ......
过程 JVM FGC

JVM内存参数设置

Spring Boot程序的JVM参数设置格式(Tomcat启动直接加在bin目录下catalina.sh文件里): java ‐Xms2048M ‐Xmx2048M ‐Xmn1024M ‐Xss512K ‐XX:MetaspaceSize=256M ‐XX:MaxMetaspaceSize=256 ......
内存 参数 JVM

JVM学习-Class文件结构

文章原文:https://gaoyubo.cn/blogs/844dc0e7.html 一、Class类文件的结构 任何一个Class文件都对应着唯一的一个类或接口的定义信息。 但是反过来说,类或接口并不一定都得定义在文件里(譬如类或接口也可以动态生成,直接送入类加载器中)。 Class 文件是一组 ......
结构 文件 Class JVM

[转帖]解Bug之路-记一次JVM堆外内存泄露Bug的查找

https://zhuanlan.zhihu.com/p/245401095 解Bug之路-记一次JVM堆外内存泄露Bug的查找 前言 JVM的堆外内存泄露的定位一直是个比较棘手的问题。此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而实锤了Bug的源头。笔者将 ......
Bug 内存 JVM

《实战Java虚拟机 JVM故障诊断与性能优化》读书

最近读了《实战Java虚拟机 JVM故障诊断与性能优化》这本书,有一些收获,特此记录 1.有Java虚拟机规范,各大厂商根据规范自己实现VM,大家平常用的是Hotspot 2.堆一般分为 新生代,老年代。新生代里又分成 伊甸园区,from区,to区。一般对象是在伊甸园区出生,经过垃圾回收进入from ......
实战 故障 性能 Java JVM

JVM---内存分析工具

离线工具 需要先使用 jmap 导出dump文件 IBM HeapAnalyzer https://www.ibm.com/support/pages/ibm-heapanalyzer 在线工具 arthas profiler https://arthas.aliyun.com/doc/profil ......
内存 工具 JVM

演示JVM中对象分配内存过程和OOM发生原因

工具:jvisualvm 测试代码: public static void main(String[] args) throws Exception{ List<byte[]> list = Lists.newArrayList(); System.in.read(); while (true){ ......
对象 内存 原因 过程 JVM

简单介绍JDK、JRE、JVM三者区别

简单介绍JDK vs JRE vs JVM三者区别 文编|JavaBuild 哈喽,大家好呀!我是JavaBuild,以后可以喊我鸟哥,嘿嘿!俺滴座右铭是不在沉默中爆发,就在沉默中灭亡,一起加油学习,珍惜现在来之不易的学习时光,等工作之后,你就会发现,想学习真的需要挤时间,厚积薄发啦! 1995年S ......
JDK JRE JVM

JVM优化:如何进行JVM调优,JVM调优参数有哪些

Java虚拟机(JVM)是Java应用运行的核心环境。JVM的性能优化对于提高应用性能、减少资源消耗和提升系统稳定性至关重要。本文将深入探讨JVM的调优方法和相关参数,以帮助开发者和系统管理员有效地优化他们的Java应用。 JVM调优通常涉及到对堆内存、垃圾回收策略和线程堆栈大小等方面的调整。优化的 ......
JVM 参数

jvm

三种JVM Sun公司的 HotSpotJava Hotspot™ 64-Bit Server VM (build 25.181-b13,mixed mode) BEA JRockit IBM J9VM 我们学习和使用的大都是:Hotspot JVM体系结构 jvm的位置 JVM体系结构 方法区 方 ......
jvm

Jvm Java虚拟机学习

Jvm Java虚拟机学习 内存模型 先由类装载子系统 把 class 文件装载到运行时数据区(.java ->.class) 运行时数据区包括 (堆,栈(线程),本地方法栈(运行 native修饰的方法时 的数据区 ),方法区元空间(常量+静态变量+类信息 such as :静态对象user的引用 ......
Java Jvm

一文搞定JVM字节码

公众号《鲁大猿》,寻精品资料,帮你构建Java全栈知识体系 www.jiagoujishu.cn (架构技术.cn) 多语言编译为字节码在JVM运行 计算机是不能直接运行java代码的,必须要先运行java虚拟机,再由java虚拟机运行编译后的java代码。这个编译后的java代码,就是本文要介绍的 ......
字节 JVM

JVM和GC技术

一、JVM 1、Java Virtual Machine(Java虚拟机) java的跨平台得以实现就是靠的这个JVM,比如你的java程序可以在window上运行,也可以在linux上运行,其实就是java在每个平台上都放了一个虚拟机,而真正的java程序都是在这个虚拟机上运行。 2、JVM的生命 ......
技术 JVM

关于JVM

JVM Java虚拟机(Java Virtual Machine,缩写:JVM),一种能够执行Java字节码的虚拟机,以堆栈结构机器来实现。最早由Sun微系统所研发并实现第一个实现版本,是Java平台的一部分 作为一种编程语言的虚拟机,实际上不只是专用于Java语言,只要生成的编译文件符合JVM对加 ......
JVM

Java中JVM、JRE和JDK三者有什么区别和联系

Java 语言的开发运行,也离不开 Java 语言的运行环境 JRE。没有 JRE 的支持,Java 语言便无法运行。当然,如果还想编译 Java 程序,搞搞小开发的话,JRE 是明显不够了,这时候就需要 JDK。其实啊,JDK 就是 JRE 加上一些常用工具组成的。JDK 不仅能运行已经被编译好了 ......
Java JVM JRE JDK

JVM

内存运行模型 常量优先被jvm加载; 方法区:关于类的信息都存在方法区,是共享的; 堆:存储对象和数组,也是共享 程序计数器:存储程序运行到哪个位置; 本地方法栈:是Native; 栈区:每个方法运行的过程,运行完压栈 动态连接:对象的内存地址; 垃圾回收 垃圾回收器回收的是堆里的; 回收对程序没有 ......
JVM

面试官:说说JVM内存整体结构?

Java JVM内存结构的面试常问知识 说说JVM内存整体的结构?线程私有还是共享的? JVM 整体架构,中间部分就是 Java 虚拟机定义的各种运行时数据区域。 Java 虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线 ......
整体 内存 结构 JVM

JVM大页内存的学习与使用

JVM大页内存的学习与使用 原理和背景 操作系统是计算机的重要组成部分. 现代的操作系统一般都采用 段页式内存管理. 段一般是为了管理和权限 页主要是为了虚拟内存和物理内存的映射. 分页管理可以让物理上不连续的内存在程序看来是逻辑地址连续的. 但是这也意味着分页分页内存管理需要有一个虚拟内存和物理内 ......
内存 JVM

【JVM】一文掌握JVM垃圾回收机制

作为Java程序员,除了业务逻辑以外,随着更深入的了解,都无法避免的会接触到JVM以及垃圾回收相关知识。JVM调优是一个听起来很可怕,实际上很简单的事。 感到可怕,是因为垃圾回收相关机制都在JVM的C++层实现,我们在Java开发中看不见摸不着;而实际很简单,是因为它说到底,也只是JVM替我们实现的 ......
JVM 机制 垃圾

使用 JVM 进程缓存 Caffeine

使用 JVM 进程缓存的优点就是没有网络开销,性能速度最快;缺点就是容量有限,无法共享;比较适合性能要求高,缓存数据量小的场景。如果我们自己实现 JVM 进程缓存的话,会使用到 Map 数据类型,相关的过期移除策略以及容量控制都得自己实现,比较麻烦。Caffeine 是一个基于 Java8 开发的提 ......
缓存 Caffeine 进程 JVM

JVM如何线上调优?

晚上8点是我和们的业务高峰,—到高峰的时候,发现TP8的蚝时会变高,有明显的手剩,通过排查发现内存使用率也会增大,然后再释放,其他各项指标证正常,于是怀疑是GC导致的,观察服务器的GC情况,发现yongGC情况如下,大概每5分钟,GC55次,峰值最高可以达到20次。FiulGC比较频繁,每5分钟大概 ......
JVM

JVM-实战篇-GC调优

1 GC调优 GC调优指的是对垃圾回收进行调优。GC调优的主要目标是避免由垃圾回收引起的程序性能下降。 GC调优的核心分为三部分: 通过JVM参数的设置; 特定垃圾回收器的JVM参数的设置; 解决由频繁的FULLGC引起的程序性能问题。 GC调优没有唯一的标准答案,重点学习调优的工具和方法。 2 G ......
实战 JVM GC

【Flink系列二十一】深入理解 JVM的类型加载约束,解决 Flink 类型加载冲突问题的通用方法

class ByteArrayDeserializer is not an instance of org.apache.kafka.common.serialization.Deserializer Debugging Classloading 类似的 X cannot be cast to X ......
类型 Flink 方法 问题 JVM

JVM-实战篇-内存调优

1 内存溢出和内存泄漏 概念:内存泄漏:在Java中如果不在使用一个对象,但是该对象依然在GC ROOT的引用链上,这个对象就不会被垃圾回收器回收,这种情况就称之为内存泄漏。 内存泄漏绝大多数情况都是由堆内存泄漏引起的,所以后续没特殊说明讨论的均为堆内存泄漏。 若持续发生内存泄漏,不管有多大的内存迟 ......
实战 内存 JVM

JVM的GC学习

JVM的GC学习 2023-12-28T17:20:25.182+0800: 7.363: [Full GC (Metadata GC Threshold) [PSYoungGen: 29067K->0K(13002752K)] [ParOldGen: 16K->26768K(16252928K)] ......
JVM

JVM虚拟机-基础篇1-初识JVM(一)

1 初识JVM 1.1 什么是JVM 概念:JVM 全称是 Java Virtual Machine,中文译名 Java虚拟机。 本质:JVM 本质上是一个运行在计算机上的程序,它的职责是运行 Java字节码文件。 1.2 JVM的功能 1)解释和运行 对字节码文件中的指令,实时的解释成机器码,让计 ......
JVM 基础

JVM跟踪类型参数

JVM里有一系列的跟踪相关的参数,如下图(JAVA 8) bool TraceBiasedLocking = false {product} bool TraceClassLoading = false {product rw} bool TraceClassLoadingPreorder = fa ......
参数 类型 JVM

学一点关于JVM类加载的知识

要研究类加载过程,我们先要知道关于 Java 处理代码的流程是怎么样的。 第一步:编写源代码 这一步是我们最熟悉的,就是我们在 idea 上写的业务代码,生成 Example.java 文件。 public class Example { public static void main(String ......
知识 JVM

2、jvm虚拟机垃圾回收机制

一、首先了解一下堆栈内存 1、jvm内存结构 从上图可以看出,整个JVM内存是由栈内存、堆内存和永久代构成。 年轻代(New generation) = eden + s0 + s1堆内存 = 年轻代 + 老年代(Old generation)JDK1.8以前: JVM内存 = 栈内存 + 堆内存 ......
机制 垃圾 jvm
共507篇  :1/17页 首页上一页1下一页尾页