.Net要生存,怎么办?我开源还不行吗?我放弃.net framework,搞新框架.net core,我跨平台不行吗?我大力推广,我......我求你们了,试着用一下不行吗?来帮我们试验一下咱微软牛逼的技术好不好,现在咱不怎么收钱了.......
前端的兴起,搞得Android和IOS原生开发也失去了往日的辉煌,以前还有WP(又一个坑程序员的技术),不管什么技术,没有人用,没有开发者、没有用户,你说它一文不值也不算太过分,因为技术是第一生产力,而前提是要给社会创造它应有的价值。做程序员也一样,你掌握的技术再牛逼,没有人用,就你一个人孤芳自赏,也是枉然!价值衡量的一个最粗暴的标准:就是用户数和影响力。通常技术影响的用户越多,影响面越广,它给社会带来的价值越大。
前端的发展,真的要感谢微软、感谢.net、感谢后端。为什么这么说?在WPF和Siverlight出现之前,前端根本就没有什么所谓的MVVM(vue 、react、 angular)。前端不断的在借鉴(抄袭)后端的架构、设计思想、语法和框架。而node.js的实现,让这一切抄袭变成了可能。你看现在css(less、sass 、scss、stylus)和js(typescript、ES6+)等都和C#、Java这样的高级语言一样要先预编译,也有了封装、继承、多态、组件化、模块化的概念,要知道这些东西,以前都是后端高级语言的专利。
Netty先向系统申请一整块连续内存,称为chunk,默认大小chunkSize = 16Mb,通过PoolChunk对象包装。为了更细粒度的管理,Netty将chunk进一步拆分为page,默认每个chunk包含2048个page(pageSize = 8Kb)
不同大小池化内存对象的分配策略不同,下面首先介绍申请内存大小在(pageSize/2, chunkSize]区间范围内的池化对象的分配原理,其他大对象和小对象的分配原理后面再介绍。在同一个chunk中,Netty将page按照不同粒度进行多层分组管理:
|