
JVM
文章平均质量分 87
慕城南风
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用Intellij IDEA远程debug服务器Java代码
JAVA 支持调试功能,本身提供了一个简单的调试工具JDB,支持设置断点及线程级的调试同时,不同的JVM通过接口的协议联系,本地的Java文件在远程JVM建立联系和通信。此篇是Intellij IDEA远程调试的教程汇总和原理解释,知其然而又知其所以然。.........原创 2022-08-18 21:07:37 · 2012 阅读 · 0 评论 -
JAVA垃圾回收机制-史上最容易理解看这一篇就够了
1.JDK构成2. JAVA执行过程Java程序从源文件到程序运行要经过两大步骤:1、编译源代码xxx.java文件生成字节码文件xxx.class2、JVM类加载器把字节码文件加载到内存,JVM中的执行引擎找到入口方法main(),执行其中的方法2.1 第一步:编译阶段创建完源文件之后,程序先要被JVM中的java编译器进行编译为.class文件。1、java编译一个类时,如果这个类所依赖的类还没有被编译,编译器会自动的先编译这个所依赖的类,然后引用。2、如...原创 2021-11-19 18:51:55 · 15569 阅读 · 0 评论 -
JAVA之JVM知识汇总
Java虚拟机(JVM)你只要看这一篇就够了!_Java笔记-CSDN博客_jvmJVM GC 机制与性能优化_橙子wj的博客-CSDN博客为什么新生代内存需要有两个Survivor区_橙子wj的博客-CSDN博客JDK内置工具使用https://blog.csdn.net/qq_41701956/article/details/81664921Jstatd命令(Java Statistics Monitoring Daemon)_冯立彬的博客-CSDN博客_jstatd 命令J原创 2021-10-27 21:37:16 · 192 阅读 · 0 评论 -
为什么新生代内存需要有两个Survivor区
在我的上一篇博客中,介绍了JVM堆内存的结构以及在堆中进行的GC机制,链接是浅谈JAVA GC机制与性能优化那么,在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区?1 为什么要有Survivor区先不去想为什么有两个Survivor区,第一个问题是,设置Survivor区的意义在哪里?如果没有Survivor,Eden区每进行一次Minor GC,存活的对象就会被送到老年代。老年代很快被填满,触发Major GC(因为Major GC一般伴随着Minor GC,也原创 2021-10-27 21:27:54 · 259 阅读 · 0 评论 -
JAVA之JVM GC 机制与性能优化
1 背景介绍与C/C++相比,JAVA并不要求我们去人为编写代码进行内存回收和垃圾清理。JAVA提供了垃圾回收器(garbage collector)来自动检测对象的作用域),可自动把不再被使用的存储空间释放掉,也就是说,GC机制可以有效地防止内存泄露以及内存溢出。JAVA 垃圾回收器的主要任务是:分配内存确保被引用对象的内存不被错误地回收回收不再被引用的对象的内存空间凡事都有两面性。垃圾回收器在把程序员从释放内存的复杂工作中解放出来的同时,为了实现垃圾回收,garbage collecto原创 2021-10-28 19:48:54 · 511 阅读 · 0 评论 -
JAVA之JVM之内存分配与回收策略(二)
前言 对象的内存分配,往大的方向上讲,就是在堆上分配,少数情况下也可能会直接分配在老年代中,分配的规则并不是百分之百固定的,其细节决定于当前使用的是哪种垃圾收集器组合,当然还有虚拟机中与内存相关的参数。垃圾收集器组合一般就是Serial+Serial Old和Parallel+Serial Old,前者是Client模式下的默认垃圾收集器组合,后者是Server模式下的默认垃圾收集器组合,文章使用对比学习法对比Client模式下和Server模式下同一条对象分配原则有什么区别。TLAB...原创 2021-10-27 21:23:17 · 283 阅读 · 0 评论 -
JAVA之JVM分代垃圾回收策略(一)
一、为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。 在Java程序运行的过程中,会产生大量的对象,其中有些对象是与业务信息相关,比如Http请求中的Session对象、线程、Socket连接,这类对象跟业务直接挂钩,因此生命周期比较长。但是还有一些对象,主要是程序运行过程中生成的临时变量,这些对象生命周期会比较短,比如:String对象,由于其不变类的特性,系统会产生大量的这些对...原创 2021-10-27 21:21:32 · 525 阅读 · 0 评论 -
JAVA之JVM调优-从eclipse开始
一、概述 什么是jvm调优呢?jvm调优就是根据gc日志分析jvm内存分配、回收的情况来调整各区域内存比例或者gc回收的策略;更深一层就是根据dump出来的内存结构和线程栈来分析代码中不合理的地方给予改进。eclipse优化主要涉及的是前者,通过gc日志来分析。本文主要是通过分析eclipse gc日志为例来示例如何根据gc日志来分析jvm内存而进行调优,像根据关闭eclipse启动项、关闭各种校验等措施来优化eclipse本文不再阐述,网上有很多,本次测试的eclipse已经进行了配置上面的优...转载 2021-10-27 21:18:13 · 241 阅读 · 0 评论 -
Java之JVM的内存分配策略
周末有小伙伴留言说上周面试时被问到内存分配策略的问题,但回答的不够理想,小伙伴说之前公号里看过这一块的文章的,当时看时很清楚,也知道各个策略是干嘛的,但面试时脑子里清楚,心里很明白,但嘴里就是说不清楚,说出来的就是像云像雾又像风,最后面试官说他应该是不清楚这一块的内容这里给小伙伴要再次说明下,任何知识点,先抓主干,再摸细节。对于面试来说,能把各个主干捋清楚,只要面试官要求不是太高,都是能过关的。毕竟jvm参数那么多,难不成面试官揪着各个参数的作用不放?如果真遇到这种太过揪细节的,只能说江湖路远,有缘再见原创 2021-10-27 21:13:30 · 318 阅读 · 0 评论 -
JAVA之JVM垃圾回收(GC)机制详解
一、为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。所以,垃圾回收是必须的。二、哪些内存需要回收?哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径使用的对象。那么如何找到这些对象?1、引用计数法这个算法的实现是,给对象中添加一个引用计数器,每当一个地方引用这个对象时,计数器值+1;当引用失效时,计数器值-1。任何时刻计转载 2021-10-27 21:10:25 · 1448 阅读 · 0 评论 -
什么是OOM,内存溢出和内存泄漏的区别是什么?为什么会OOM及一些解决方法
1)什么是OOM?OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于java.lang.OutOfMemoryError。看下关于的官方说明:Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory...转载 2020-03-04 11:44:21 · 25790 阅读 · 2 评论