关于实时性与垃圾回收的思考

  • 展望未来,垃圾回收会从语言中消失吗?
    我觉得不会,虽然无GC的语言更快更省电效率更高,不影响吞吐量,但GC很难从语言中消失,除非机器比程序员贵很多,写着爽是对一门语言最高的肯定。科技以人为本。
  • JVM的GC
    最大的问题就是Stop The World,或者说最大的问题是无法预估的延时,这也正是实时系统与非实时系统的区别,GC导致的最长停顿是多长?100ms?1s?10s?100s?无法确定这个值。线程在执行一段代码时,有时候没有办法脱离出来,去执行更高优先级的任务,而我们系统中的任务,有的是可以忍受停顿,甚至1分钟的停顿也没关系,有的不行(比如刹车,等一分钟再刹车可以吗?)
  • Reactor
    如果建立一个跟cpu的核数一样的线程池,每个线程池配一个任务队列,并且这个任务队列是优先队列,即高优先级任务会优先执行,并且,还有一点,可以限制一个任务能使用的资源,比如,它最多能用多少个时间片,最多能用多少内存,如果这样来实现,系统的响应性会不会好一下,如果还能配置可忍受停顿时间那就更好了。
  • Erlang与协程
    协程或者说erlang中的轻量级进程,可以控制进程消耗的cpu,越过操作系统的调度,让虚机去调度任务执行,并且分进程GC,每个进程的内存量非常小,并且不可变的特性可以使GC分析变得简单粗暴,这些共同作用,可以使erlang实现软实时的目标,值得借鉴。
  • 引用计数和GC 与可达性分析相比,感觉引用计数是一种效率很好的回收算法。但是循环引用不容易处理,特别是java这种面向对象的开发形式。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值