• 35648

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

技术展望

欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/0813/105606.html 1190000020045491
  • 1、为什么GraphQL是API的未来

https://baijiahao.baidu.com/s...
GraphQL: 一种用于 API 的查询语言
960a304e251f95ca1e4e7bfbafead83a650952c2.jpeg?token=5bab581bfa56e62106ff52b8d263c904&s=78803C720F2A45200864D0CA0000E0B1

  • 2、Go与Rust比较

https://blog.csdn.net/luoie/a...

golang学习,go语言中文网:《Go周刊》
对比 Go 语言,Rust 有什么优势和劣势?

  • 3、编译时、运行时

编译时:编译时就是简单的作一些翻译工作
运行时:代码跑起来,被装载到内存中去了
参考《什么叫编译时和运行时》

  • 4、php垃圾回收与内存泄漏

php的COW(copy-on-write 写时复制)
参考官方:https://www.php.Xdebug安装与...
Xdebug安装与使用

//调试可见 xdebug_debug_zval( 'a' );
$a = "new string"; //==> a: (refcount=1, is_ref=0)='new string'
$c = $b = $a; //==> a: a: (refcount=3, is_ref=0)='new string'
unset( $b, $c ); //==> a: (refcount=1, is_ref=0)='new string'
//复合类型
$a = array( 'meaning' => 'life', 'number' => 42 ); 
/** ==> 
a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=1, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42
) **/

引用次数

变量容器在”refcount“变成0时就被销毁。任何关联到某个变量容器的变量离开它的作用域(比如:函数执行结束),或者对变量调用了函数 unset()时,”refcount“就会减1

内存泄漏

清理变量容器的问题(Cleanup Problems)
-- 尽管不再有某个作用域中的任何符号指向这个结构(就是变量容器),由于数组元素“1”仍然指向数组本身,所以这个容器不能被清除 。因为没有另外的符号指向它,用户没有办法清除这个结构,结果就会导致内存泄漏。
-- 如果你要实现分析算法,或者要做其他像一个子元素指向它的父元素这样的事情,这种情况就会经常发生。当然,同样的情况也会发生在对象上,实际上对象更有可能出现这种情况,因为对象总是隐式的被引用。
-- 如果上面的情况发生仅仅一两次倒没什么,但是如果出现几千次,甚至几十万次的内存泄漏,这显然是个大问题。这样的问题往往发生在长时间运行的脚本中,比如请求基本上不会结束的守护进程(deamons)或者单元测试中的大的套件(sets)中。后者的例子:在给巨大的eZ(一个知名的PHP Library) 组件库的模板组件做单元测试时,就可能会出现问题。有时测试可能需要耗用2GB的内存,而测试服务器很可能没有这么大的内存。

回收周期

-- 首先,我们先要建立一些基本规则,如果一个引用计数增加,它将继续被使用,当然就不再在垃圾中。如果引用计数减少到零,所在变量容器将被清除(free)。就是说,仅仅在引用计数减少到非零值时,才会产生垃圾周期(garbage cycle)。
-- 其次,在一个垃圾周期中,通过检查引用计数是否减1,并且检查哪些变量容器的引用次数是零,来发现哪部分是垃圾。
-- 当垃圾回收机制打开时,每当根缓存区存满时,就会执行上面描述的循环查找算法。
当垃圾回收机制关闭时,如果根缓冲区存满了可能根,更多的可能根显然不会被记录。那些没被记录的可能根,将不会被这个算法来分析处理。如果他们是循环引用周期的一部分,将永不能被清除进而导致内存泄漏。

相关文章

暂住......别动,不想说点什么吗?
  • 全部评论(0
    还没有评论,快来抢沙发吧!