002-JVM-什么是垃圾
上一篇:001-JVM-知识点总括 https://blog.csdn.net/fsjwin/article/details/111304644
- 垃圾就是你先分配了内存,后来这块儿内存不用了。就成了垃圾
1. 不同语言分配和回收垃圾的方式
1.1 C语言
申请malloc 释放free
1.2 C++语言
申请new 释放内存delete
1.3 Java语言
申请new ,自动回收
2. C&&C++手动回收的问题
- 忘记回收:申请了,但是忘记回收了,内存泄漏。
- 多次回收:释放了两次,第二次是把别人申请的数据给回收了。
3. Jvm调优是干什么的?
主要就是:垃圾回收机制的选择和在其上选择垃圾回收器及参数设置。
4. 什么是垃圾
4.1 没有任何引用指向的一个对象
状态1 :
状态2:
状态2时,new Addr就是一个垃圾!
4.2 没有任何引用指向的者多个对象(循环引用)
下图是heap中的三个对象,相互引用,但是没有其他对象指向他们,他们就是垃圾了。一堆垃圾:
5. 总结
就是一句话,没有人要的就是垃圾。
从上面的例子可以看出什么是垃圾。下面会介绍怎么具体判断垃圾。
下一篇:
002-JVM-什么是垃圾相关推荐
- JAVA之JVM分代垃圾回收策略(一)
一.为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的.因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率. 在Java程序运行的过程中,会产生大量的对 ...
- JVM内存管理------垃圾搜集器精解
转载自 JVM内存管理------垃圾搜集器精解 引言 在上一章我们已经探讨过hotspot上垃圾搜集器的实现,一共有六种实现六种组合.本次LZ与各位一起探讨下这六种搜集器各自的威力以及组合的威力 ...
- JVM内存管理------垃圾搜集器参数精解
转载自 JVM内存管理------垃圾搜集器参数精解 垃圾搜集器选择参数 UseSerialGC:开启此参数使用serial & serial old搜集器(client模式默认值). U ...
- JVM分代垃圾回收策略的基础概念
JVM分代垃圾回收策略的基础概念 由于不同对象的生命周期不一样,因此在JVM的垃圾回收策略中有分代这一策略.本文介绍了分代策略的目标,如何分代,以及垃圾回收的触发因素. 文章总结了JVM垃圾回收策略为 ...
- 【JVM基础】垃圾回收算法详解(引用计数、标记、清除、压缩、复制)
前言 笔记参考 Java 全栈知识体系.星羽恒.星空茶 文章目录 前言 垃圾回收概述 引用计数法 案例 优点 缺点 标记.清除.压缩 标记 清除 压缩 标记清除算法 优点 缺点 标记压缩算法 优点 缺 ...
- 深入理解JVM虚拟机之垃圾回收
深入理解JVM虚拟机之垃圾回收 什么叫做垃圾? 没有引用指向得对象都称为垃圾,好比如我们放风筝,哪些断了线得风筝都称之为垃圾. JVM怎么查找这些垃圾 一般又两种算法,1.可达性分析.2.引用计数 引 ...
- JVM常见的垃圾回收器
一.常见垃圾收集器 现在常见的垃圾收集器有如下几种: 新生代收集器: Serial ParNew Parallel Scavenge 老年代收集器: Serial Old CMS Parallel O ...
- JVM内功心法-GC垃圾回收之GC垃圾回收过程
JVM内功心法-GC垃圾回收之GC垃圾回收算法 GC 全称garbagecollection,垃圾回收.JAVA 为了屏蔽操作系统和平台之间的差异.选择的是采用 java 虚拟机来运行 java 应用 ...
- jvm内存与垃圾回收重点总结
文章目录 一.jvm简介 1.jvm的位置 2.JVM的整体结构 3.java代码执行流程 二.类加载子系统 1.类的加载过程 2.类加载器分类 ⭐3.双亲委派机制 三.运行时数据区及线程 四.程序计 ...
- JVM内存管理------垃圾搜集器简介
引言 上一章我们已经探讨过GC的各个算法,那么垃圾搜集器是什么呢? 通俗的讲,使用编程语言将算法实现出来,产生的程序就是垃圾搜集器了.既然谈到了编程语言的实现,那么在讨论垃圾搜集器的时候,就已经涉及到 ...
最新文章
- SWIG和PInvoke学习(1)
- Spark 1.6发布:引入Dataset接口
- MS SQL巡检系列mdash;mdash;检查重复索引
- partition by 函数
- python神经网络作用_Python · 神经网络(三*)· 网络
- 使用Flask-SocketIO完成服务端和客户端的双向通信
- 2014年3月计算机四级网络工程师考试试题及答案,某年3月计算机等级考试四级网络工程师笔试试题...
- 2011-08-15 “can’t create transaction lock on /v...
- Python数据结构与算法笔记(二):递归介绍及汉诺塔问题
- android 图片上传图片 报Socket: Broken pipe
- 关于iostream与using namespace std 的解析
- 完美解决鼠标单击变双击问题^_^
- 出中的意思是什么_从里出来是什么意思
- 给自己一个618消费的理由 飞利浦B8905回音壁有料分享
- ANSYS经典界面出图技巧总结
- 微信小程序上实现 table 表格
- Jetpack-Compose之三附带效应(副作用)
- GO在windows环境下的下载以及环境配置
- 通过ZPL指令调用zebra打印机打印面单(java版)
- Office拼音助手第二版(一键给文档里的汉字注音)
热门文章
- 如何用AI绘图画出超真实细节感超强的小姐姐?(Lora篇)
- G - 小晴天老师系列——可恶的墨水瓶
- 有符号一个字节取值范围
- C++ web框架drogon 使用对象关系映射ORM(Object Relational Mapping)模式
- unescape弃用后的代替方法
- Embarcadero Delphi XE317.0.4625.53395版安装过程
- 我心目中的北京大学:从薛定格到王恩哥
- 单页营销网站关键词keyword和描述description写法
- laravel carbon时间处理组件开发文档-中文版
- 从Apple最新的OS Yosemite的LaunchPad中删除旧的iMovie