************* - object 变量名存储在栈里面,存储的是引用地址 ,指向堆里面的对象内容数据; - 内存泄漏 + 发生条件:新对象不断创建,旧对象却不清除; 为了避免内存泄漏,有垃圾及回收机制 - 垃圾回收机制(gc) + 当对象的引用地址在栈中没有引用时,内存占比过高,垃圾回收车 ...
分类:
Web程序 时间:
2019-12-26 09:55:30
阅读次数:
95
垃圾回收: 垃圾回收分为年轻代,年老代,持久代。 新创建的对象属于年轻代,有A、B区,A区满了,就会调用垃圾回收机制,通过引用计数法或者引用可达法就行筛选,没有的进行回收,有用的进行复制,复制到B区。 B区满了,再重复以上操作。 循环15次之后,就会属于年老代,进入年老区,C区,当C区达到一定比例之... ...
分类:
其他好文 时间:
2019-12-25 23:45:19
阅读次数:
83
[TOC]一引入?解释器在执行到定义变量的语法时,会申请内存空间来存放变量的值,而内存的容量是有限的,这就涉及到变量值所占用内存空间的回收问题,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,那什么样的变量值是没有用的呢??由于变量名是访问到变量值的唯一方式,所以当一个变量值不再关联任何变量名时,我们就无法再访问到该变量值了,该变量值就是没有用的,就应该被当成一个垃圾回收。毫无疑问,
分类:
编程语言 时间:
2019-12-24 09:17:10
阅读次数:
75
垃圾回收算法 1.标记清除 标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。 在标记阶段首先通过根节点(GC Roots),标记所有从根节点开始的对象,未被标记的对象就是未被引用的垃圾对象。然后,在清除阶段,清除所有未被标记的对象。 适用场合: 存活对象较多的情况下比较高效 适用于年老代( ...
分类:
编程语言 时间:
2019-12-23 00:31:31
阅读次数:
83
图解JVM垃圾内存回收算法 这篇文章主要介绍了图解JVM垃圾内存回收算法,由于年轻代堆空间的垃圾回收会很频繁,因此其垃圾回收算法会更加重视回收效率,下面博主和大家来一起学习一下吧 前言 首先,我们要讲的是JVM的垃圾回收机制,我默认准备阅读本篇的人都知道以下两点: JVM是做什么的 Java堆是什么 ...
分类:
编程语言 时间:
2019-12-22 16:29:12
阅读次数:
71
起因是因为想了解闭包的内存泄露机制,然后想起《js高级程序设计》中有关于垃圾回收机制的解析,之前没有很懂,过一年回头再看就懂了,写篇博客与大家分享一下。 #内存的生命周期: 分配你所需要的内存: 由于字符串、对象等没有固定的大小,js程序在每次创建字符串、对象的时候,程序都会分配内存来存储那个实体。 ...
分类:
Web程序 时间:
2019-12-22 14:34:05
阅读次数:
101
基础常识基础常识 软件 即一系列按照特定顺序组织计算机数据和指令的集合 分为 系统软件 和应用软件 系统软件 : windows mac os linux unix android ios.. 应用软件 word ppt 画图板 人机交互:图形化界面 vs 命令行方式 常用的DOS命令: dir 列 ...
分类:
编程语言 时间:
2019-12-21 00:29:48
阅读次数:
85
闭包的实现原理和作用 闭包: 有权访问另一个函数作用域中的变量的函数。 创建闭包的常见方式就是,在一个函数中创建另一个函数。 闭包的作用: 访问函数内部变量、保持函数在环境中一直存在,不会被垃圾回收机制处理 因为函数内部声明 的变量是局部的,只能在函数内部访问到,但是函数外部的变量是对函数内部可见的 ...
分类:
编程语言 时间:
2019-12-20 12:06:06
阅读次数:
122
一 前言 本节内容将会提到方法重载,对象的初始化,对象的构造器,和this关键字的使用,以及会简要的概括一下java中对象回收机制。觉得文章不错的读者可以关注一下作者的博客和公众号(同博客名称) 二 方法重载 2.1 方法重载的定义 方法重载是指同名的方法具有不同的参数列表;不同的参数列表是指参数列 ...
分类:
编程语言 时间:
2019-12-18 09:17:49
阅读次数:
88
JVM的垃圾回收机制,在内存充足的情况下,除非你显式的调用System.gc(),否则不会进行垃圾回收;在内存充足的情况下垃圾回收会自动运行。 一、引用计数算法 1.定义:引用计数算法会给对象添加一个引用计数器,每当有一个地方引用他的时候,计数器就加1;当引用失效的时候计数器值就减1。当计数器为0的 ...
分类:
编程语言 时间:
2019-12-15 10:22:16
阅读次数:
110