1. 内存生命周期 分配小内存空间, 得到它的使用权 存储数据, 可以反复进行操作 释放小内存空间 2. 释放内存 局部变量: 函数执行完自动释放 对象: 成为垃圾对象 == 垃圾回收器回收 ...
分类:
Web程序 时间:
2020-01-27 10:58:46
阅读次数:
85
内存泄露(臭名昭著的BUG) 动态申请堆空间,用完后不归还 C++语言中没有垃圾回收机制 指针无法控制所指堆空间的生命周期 我们需要什么? 需要一个特殊的指针 指针生命周期结束时主动释放堆空间 一片堆空间最多只能由一个指针标识 杜绝指针运算和指针比较(可以避免野指针) 解决方法 指针操作符(->和* ...
分类:
其他好文 时间:
2020-01-26 22:18:36
阅读次数:
85
Java中引用类型 强引用 ~~~java Persnon p = new Person(); ~~~ 当Person对象不可reachable时,才被垃圾回收器回收。 软引用 ~~~java SoftReference sr = new SoftReference(new Person()); P ...
分类:
编程语言 时间:
2020-01-26 20:55:54
阅读次数:
78
一:面向对象与面向过程 都是解决问题的方式,都是代码的组织形式。 宏观上使用面向对象把握(把握复杂性),微观上使用面向过程实现(落地离不开面向过程) 二:对象是什么 数据无需管理时: 1.整个程序变量很少,无需做过多的管理(a+b=c) 2.用一个数组管理一个班的年龄 3.一个班的学生,除了年龄,还 ...
分类:
其他好文 时间:
2020-01-26 11:38:41
阅读次数:
56
垃圾回收器在回收垃圾之前第一件事就是判断哪些是可以被回收的对象,如何判断呢?我们可以根据该对象是否还有引用指向它来进行判断,如果有则不能回收,如果没有则可以回收,具体有以下几种算法:引用计数算法:给对象添加一个引用计数器,每当它被引用一次计数器就加一,当该引用失效时就减一,如果计数器的值为0就表示它要被垃圾收集器作为垃圾收集了。这种算法存在一个问题,就是如果对象之间互相循环引用,他们就不可能被垃圾
分类:
其他好文 时间:
2020-01-22 18:29:40
阅读次数:
115
以下文章来源于花椒技术 ,作者花椒服务端 前言 内存泄漏(Memory Leak)是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。 Java是由C++发展来的,抛弃了C++中一些繁琐容易出错的东西,程序员忘记或者错误的内存 ...
分类:
其他好文 时间:
2020-01-21 18:28:41
阅读次数:
103
一、什么是GC GC是jvm的垃圾回收,垃圾回收的规律和原则为: 次数上频繁收集新生区(Young) 次数上较少收集养老区(Old) 基本上不动永久区(Perm) 二、GC算法(分代收集算法) GC总共有四大算法,分别是: ①引用计数法 ②复制算法(Copying) ③标记清除(Mark Sweep ...
分类:
编程语言 时间:
2020-01-20 19:03:24
阅读次数:
107
接触rust是在一个前端的群里,群主推荐的。混群很久都没有引起我的注意,直到有一次百度了解,才发现它的魅力。而且它是WebAssembly首推的编程语言,自然有它的独特之处。rust标榜内存安全和线程安全,并且并不是虚拟机语言,不存在垃圾回收。基本上就是可以兼顾虚拟机语言的自由和非虚拟机语言的速度, ...
分类:
其他好文 时间:
2020-01-20 18:56:37
阅读次数:
68
堆结构分代图 堆结构分代的意义 Java虚拟机根据对象存活的周期不同,把堆内存划分为几块,一般分为新生代、老年代和永久代(对HotSpot虚拟机而言),这就是JVM的内存分代策略。 堆内存是虚拟机管理的内存中最大的一块,也是垃圾回收最频繁的一块区域,我们程序所有的对象实例都存放在堆内存中。给堆内存分 ...
分类:
其他好文 时间:
2020-01-20 14:48:57
阅读次数:
78
最近倒腾了一会vue,有点迷惑其中methods与computed这两个属性的区别,所以试着写了TodoList这个demo,(好土掩面逃~); 1. methods methods类似react中组件的方法,不同的是vue采用的与html绑定事件。给个例子 /*html*/ <input type ...
分类:
其他好文 时间:
2020-01-20 00:28:04
阅读次数:
95