2 Star 4 Fork 1

零声社区/一线互联网大厂社招面试题解析归纳整理-持续更新

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
2.5 讲一下NIO和网络传输 1.50 KB
一键复制 编辑 原始数据 按行查看 历史
NIO Reactor反应器模式,例如汽车是乘客访问的实体reactor,乘客上车后到售票员处Acceptor登记,之后乘客 便可休息睡觉了,到达乘客目的地后,售票员Aceptor将其唤醒即可。持久TCP长链接每个client和server之间有存在一 个持久连接,当CCU(用户并发数量)上升,阻塞server无法为每个连接运行1个线程,自己开发1个二进制协议,将 message压缩至3-6倍,传输双向且消息频率高,假设server链接了2000个client,每个client平均每分钟传输1-10个 message,1个messaged的大小为几百字节/几千字节,而server也要向client广播其他玩家的当前信息,需要高速处 理消息的能力。Buffer,网络字节存放传输的地方,从channel中读写,从buffer作为中间存储格式,channel是网络连 接与buffer间数据通道,像之前的socket的stream。
15.  内存泄漏
未对作废数据内存单元置为null,尽早释放无用对象的引用,使用临时变量时,让引用变量在推出活动域后自动设置为null,暗示垃圾收集器收集;程序避免用String拼接,用StringBuffer,因为每个String会占用内存一块区域;尽量少用静态变量(全局不会回收);不要集中创建对象尤其大对象,可以使用流操作;尽量使用对象池,不再循环中创建对象,优化配置;创建对象到单例getInstance中,对象无法回收被单例引用;服务器session时间设置过长也会引起内存泄漏。
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zero-sound-community/interview-question-bank.git
git@gitee.com:zero-sound-community/interview-question-bank.git
zero-sound-community
interview-question-bank
一线互联网大厂社招面试题解析归纳整理-持续更新
master

搜索帮助