课件和 Demo 地址
https://gitee.com/geektime-geekbang/geek_netty
作者回复: 那肯定的,不然他就不是java了啊,哈,所以我每次看代码都使劲找它最后调用的地方,找到了,以后它的代码看不懂也关系不大,因为自己也能搞出来了。
作者回复: 不好意思,回复的有点晚,是的,因为堆外还是堆内相当于图书馆本身从哪进书,池化和非池化相当于书的使用模式,一个是借还模式,一个是买卖模式,池化的也只能是引用,引用指向堆外内存。
作者回复: 每节内容的视频下面都有一个github的连接,那个里面有,我标记了,最近上传过了。
作者回复: 好像每周三更新五节
作者回复: 不好意思,回复的有点晚! 不够准确,比如安卓平台就默认不使用堆外和池化等高级特性; 可能我要说句废话:“除了使用堆外都是使用堆内”, 堆外的比如接受请求的数据存储。
作者回复: 堆外内存,主要是想存更多的对象,同时也减少对象都放堆里带来的GC压力,内存池主要是为了复用对象,直接减少对象产生; 两个是不同:有时候能用堆外内存,但是不见得能用对象/内存池(假设对象不能复用); 相同点在于都可以减少GC压力,减少STW时间,间接带来处理的平滑度。
作者回复: 这个问题很好,可以参考这个文章里面的图有个比较,可以直观感受下: https://blog.twitter.com/engineering/en_us/a/2013/netty-4-at-twitter-reduced-gc-overhead.html