不同于C/C++,像Python这样的语言是不需要程序员写代码来管理内存的,它的GC(Garbage Collection)机制 实现了自动内存管理。GC做的事情就是解放程序员的双手,找出内存中不用的资源并释放这块内存。 下面我们来看看Python的GC是怎么做的: Python自带的解释器CPyt ...
分类:
编程语言 时间:
2019-06-27 00:49:36
阅读次数:
138
在中断处理函数中,调用gpio_get_value/gpio_set_value()函数来获取/设置gpio端口的值,在这里简单分析一下内核的实现流程。 gc = { .base = (S5P_VA_GPIO + 0xC40), .config = &gpio_cfg_noint, .irq_bas ...
分类:
其他好文 时间:
2019-06-26 22:02:50
阅读次数:
1506
Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内 ...
分类:
编程语言 时间:
2019-06-25 13:28:12
阅读次数:
114
一.如何判断对象已经死亡 1.引用计数 无法处理循环引用的情况 2.可达性分析 目前主流实现方式。 原理: 从GC Roots对象作为起点开始查询,如果有引用链说明对象存活,反之就是已经死亡。 GC Roots对象: (1)栈(栈帧)中引用的对象。 (2) 方法区中类静态变量引用的对象。 (3)方法 ...
分类:
其他好文 时间:
2019-06-23 20:42:11
阅读次数:
106
finalize()是由JVM自动调用的,你可以用System.gc(),但JVM不一定会立刻执行,JVM感觉内存空间有限时,才会开始执行finalize(),至于新的对象创建个数和被收集个数不同是因为收集的对象只和JVM的垃圾收集策略有关。 finalize()和gc()(1)问题:finaliz ...
分类:
其他好文 时间:
2019-06-23 17:34:47
阅读次数:
102
JVM内存模型如上图,需要声明一点,这是《Java虚拟机规范(Java SE 7版)》规定的内容,实际区域由各JVM自己实现,所以可能略有不同。以下对各区域进行简短说明。 1.1程序计数器 程序计数器是众多编程语言都共有的一部分,作用是标示下一条需要执行的指令的位置,分支、循环、跳转、异常处理、线程 ...
分类:
编程语言 时间:
2019-06-21 11:11:42
阅读次数:
83
https://scut.online/p/354 跟多项式一点关系都没有。 注意到其实两个多项式在1处求值,那么就是他们的系数加起来。 列一列发现系数就是n以内两两求gcd的值,还自动把0去掉了。 那么就是 $\sum\limits_{i=1}^{n}\sum\limits_{i=1}^{n}gc ...
分类:
其他好文 时间:
2019-06-19 20:08:58
阅读次数:
113
简单分享一下Java的垃圾回收机制 Java和C++之间有一堵由内存动态分配和垃圾收集技术所为围城的高墙,墙外的人想进去,墙外的人想出来。简单可以理解为:JAVA虚拟机(JVM)将程序员和内存分离,所以相应的在JVM中,程序员不能直接操作内存也就成为它的劣势了。 那么垃圾收集机制(GC Gabage ...
分类:
编程语言 时间:
2019-06-17 12:40:42
阅读次数:
110
1. js 的闭包概念 闭包的定义:当一个内部函数被其外部函数之外的变量引用时,就形成了一个闭包。 例子: 分析一下: 定义普通函数 A 在 A 中定义普通函数 B 在 A 中返回 B 执行 A,并把 A 的返回结果赋值给变量 C 执行 C 用途: 先了解一下 Javascript 中的 GC 机制 ...
分类:
Web程序 时间:
2019-06-16 15:40:10
阅读次数:
140
第三阶段 JAVA常见对象的学习 System类 System类包含一些有用的字段和方法,他不能被实例化 arraycopy方法的使用案例 currentTimeMills()使用案例 System.gc() 可用于垃圾回收.当使用System.gc() 回收某个对象所占用的内存之前,通过要求程序调 ...
分类:
编程语言 时间:
2019-06-16 09:58:05
阅读次数:
143