- 什么是jvm? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Jav... 什么是jvm? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Jav...
- jvm的结构 image.png 标准参数 -help -server -client -version -showversion -cp -classpath X参数,非标准参数 -Xint -- 解释执行 -Xcomp -- 第一次使用就编译成本地代码 -Xmixed -- 混合模式,jvm自己决定 XX参数 非标准参数 相对不稳定 主要是用来JVM... jvm的结构 image.png 标准参数 -help -server -client -version -showversion -cp -classpath X参数,非标准参数 -Xint -- 解释执行 -Xcomp -- 第一次使用就编译成本地代码 -Xmixed -- 混合模式,jvm自己决定 XX参数 非标准参数 相对不稳定 主要是用来JVM...
- 前言 有8总内存泄漏,详细可以建该文 8 types of OutOfMemoryError. 其中5种OutOfMemoryError 发生在JVM heap,他们分别是: Java heap space GC overhead limit exceeded Requested array size exceeds VM limit Permgen space Metas... 前言 有8总内存泄漏,详细可以建该文 8 types of OutOfMemoryError. 其中5种OutOfMemoryError 发生在JVM heap,他们分别是: Java heap space GC overhead limit exceeded Requested array size exceeds VM limit Permgen space Metas...
- 写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注... 写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注...
- 前言 本系列系统的介绍了jvm调优及相关工具的使用。 笔者会先介绍jvm的基本概念,然后介绍常用命令、常用工具,最后通过一篇实战讲解内存泄漏查找方法。 目录 准备知识-jvm参数 命令篇 查看jvm运行时参数 jinfo 查看虚拟机统计信息 jstat 内存快照 jmap 线程死循环与死锁 jstack 工具篇 JVisualVm可视化监控 htop 实战-诊断内... 前言 本系列系统的介绍了jvm调优及相关工具的使用。 笔者会先介绍jvm的基本概念,然后介绍常用命令、常用工具,最后通过一篇实战讲解内存泄漏查找方法。 目录 准备知识-jvm参数 命令篇 查看jvm运行时参数 jinfo 查看虚拟机统计信息 jstat 内存快照 jmap 线程死循环与死锁 jstack 工具篇 JVisualVm可视化监控 htop 实战-诊断内...
- 如果想要查看正在运行的jvm就需要借助于jinfo命令查看。 首先,启动一个tomcat用于测试,来观察下运行的jvm参数。 cd /tmp/ rz 上传 tar -xvf apache-tomcat-7.0.57.tar.gz cd apache-tomcat-7.0.57 cd bin/ ./startup.sh #http://192.168.40.133... 如果想要查看正在运行的jvm就需要借助于jinfo命令查看。 首先,启动一个tomcat用于测试,来观察下运行的jvm参数。 cd /tmp/ rz 上传 tar -xvf apache-tomcat-7.0.57.tar.gz cd apache-tomcat-7.0.57 cd bin/ ./startup.sh #http://192.168.40.133...
- 什么是jvm? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Jav... 什么是jvm? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Jav...
- 本文转自微信公众号:石杉的架构笔记 目录: 前文回顾JVM在什么情况下会加载一个类?从实用角度出发,来看看验证、准备和初始化的过程核心阶段:初始化类加载器和双亲委派机制 1、前文回顾 咱们今天先来回顾一下昨天讲到的JVM整体的一个运行原理。 我们首先从“.java”代码文件,编译成“.class”字节码文件,然后类加载器把“.class”字节码文... 本文转自微信公众号:石杉的架构笔记 目录: 前文回顾JVM在什么情况下会加载一个类?从实用角度出发,来看看验证、准备和初始化的过程核心阶段:初始化类加载器和双亲委派机制 1、前文回顾 咱们今天先来回顾一下昨天讲到的JVM整体的一个运行原理。 我们首先从“.java”代码文件,编译成“.class”字节码文件,然后类加载器把“.class”字节码文...
- 大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客... 大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只有csdn这一个平台,博客...
- 欢迎小伙伴订阅我的新专栏“Java高薪面试宝典”,在这里我将和大家分享在Java面试中常见的核心考点和技术,为大家的Java学习之路助一臂之力! 开胃菜谱 1、JDK、JRE、JVM是什么? 2、什么是面向对象 3、Java的数据类型有哪些? 4、解释一下构造方法 5、如何理解方法的重载和重写? 6、解释this和super关键字 7、解释字符串... 欢迎小伙伴订阅我的新专栏“Java高薪面试宝典”,在这里我将和大家分享在Java面试中常见的核心考点和技术,为大家的Java学习之路助一臂之力! 开胃菜谱 1、JDK、JRE、JVM是什么? 2、什么是面向对象 3、Java的数据类型有哪些? 4、解释一下构造方法 5、如何理解方法的重载和重写? 6、解释this和super关键字 7、解释字符串...
- #JVM进阶(十二)——JAVA 可视化分析工具 经过前几篇博文对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!本篇博客就根据已有的理论知识,通过可视化工具来实践一番。 我们今天要讲解的工具位于JDK目录的bin目录下,大家可以发现该目录下有很多可执行文件,这里都是JDK为我们提供用于分析内存的一些工具。我们重点看看jconsole.e... #JVM进阶(十二)——JAVA 可视化分析工具 经过前几篇博文对堆内存以及垃圾收集机制的学习,相信小伙伴们已经建立了一套比较完整的理论体系!本篇博客就根据已有的理论知识,通过可视化工具来实践一番。 我们今天要讲解的工具位于JDK目录的bin目录下,大家可以发现该目录下有很多可执行文件,这里都是JDK为我们提供用于分析内存的一些工具。我们重点看看jconsole.e...
- #JVM进阶(四)——利用MAT排查堆溢出 堆已经讲得差不多啦,这章我们以一个例子来说说如何设置以及当发生堆溢出的时候怎么排查问题。先看一小段代码: 代码中使用了一个无限循环来为list添加对象,如果采用默认的堆大小的话可能要等待好久才能出现堆溢出的错误,因此我们要将其设置小一点: -Xms10m -Xmx10m -XX:+HeapDumpOnOutOfM... #JVM进阶(四)——利用MAT排查堆溢出 堆已经讲得差不多啦,这章我们以一个例子来说说如何设置以及当发生堆溢出的时候怎么排查问题。先看一小段代码: 代码中使用了一个无限循环来为list添加对象,如果采用默认的堆大小的话可能要等待好久才能出现堆溢出的错误,因此我们要将其设置小一点: -Xms10m -Xmx10m -XX:+HeapDumpOnOutOfM...
- #JVM进阶(一)——初识JAVA栈 若想使自己编写的Java程序高效运行,以及进行正确、高效的异常诊断,JVM是不得不谈的一个话题。本”JVM进阶“专栏大部分内容均来源于经典书籍《深入理解Java虚拟机》。 下面言归正传,本文重点从虚拟机内存模型(运行时数据区域)入手。先看图: 这是一张比较官方的虚拟机模型图,今天讲的就是虚线框中栈的部分。 栈是我... #JVM进阶(一)——初识JAVA栈 若想使自己编写的Java程序高效运行,以及进行正确、高效的异常诊断,JVM是不得不谈的一个话题。本”JVM进阶“专栏大部分内容均来源于经典书籍《深入理解Java虚拟机》。 下面言归正传,本文重点从虚拟机内存模型(运行时数据区域)入手。先看图: 这是一张比较官方的虚拟机模型图,今天讲的就是虚线框中栈的部分。 栈是我...
- #JVM进阶(六)——鲜为人知的二次标记 上一章我们讲到了标记,但是不是被标记了就肯定会被回收呢?不知道小伙伴们记不记得Object类有一个finalize()方法,所有类都继承了Object类,因此也默认实现了这个方法。 这个方法的用途就是:在该对象被回收之前,该对象的finalize()方法会被调用。这里的回收之前指的就是被标记之后,问题就出在这里,有没有一... #JVM进阶(六)——鲜为人知的二次标记 上一章我们讲到了标记,但是不是被标记了就肯定会被回收呢?不知道小伙伴们记不记得Object类有一个finalize()方法,所有类都继承了Object类,因此也默认实现了这个方法。 这个方法的用途就是:在该对象被回收之前,该对象的finalize()方法会被调用。这里的回收之前指的就是被标记之后,问题就出在这里,有没有一...
- #JVM进阶(十三)——阶段回顾 各位小伙伴,到上一篇博文为止,我们的内存模型相关知识就已经讲完了!讲!完!了!不知道大家吸收了多少,这里我们简单的来回顾一下吧! 内存基本分为JAVA栈、本地方法栈、堆和方法区。 首先栈存放的是基本类型变量,局部变量,和对象的引用,他在内存中是一块连续的区域,有大小限制,是由系统自动分配的,因此它的读写速度比较快,而且会自动... #JVM进阶(十三)——阶段回顾 各位小伙伴,到上一篇博文为止,我们的内存模型相关知识就已经讲完了!讲!完!了!不知道大家吸收了多少,这里我们简单的来回顾一下吧! 内存基本分为JAVA栈、本地方法栈、堆和方法区。 首先栈存放的是基本类型变量,局部变量,和对象的引用,他在内存中是一块连续的区域,有大小限制,是由系统自动分配的,因此它的读写速度比较快,而且会自动...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签