实现一个“内存缓存”服务器,完成以下功能,可以分步实现。
===========考察内存管理
1)分配1GB内存,锁定为不换出,用于缓存数据对象;数据对象大小相等,数据区划分为2^8B大小的缓冲。
===========考察IPC
2)利用服务器,接受客户端网络socket传入的读写请求。写入请求包括<数据id,数据大小,数据内容>,服务器接收到该请求后,将对应数据保存到上述缓冲区中,返回<数据id,“ok”>到客户端。
读出请求为<数据id>,返回的数据为<数据id,数据长度,数据内容>,如果待读出的数据id还未写入,则返回(也就是说FFFFFFFF不用于数据id)。
如果写入时全部缓冲区都被占用,则返回<数据id,“FULL”>
java ByteBuff类可以实现此功能。具体实现可以参照netty 的ByteBuf的实现方式
https://blog.csdn.net/qq_30146831/article/details/101444670
https://www.cnblogs.com/my_life/articles/7344725.html
参考一下这两篇文章
https://download.csdn.net/download/sj1231/8209429
看这个完整的例子,如果你没有分,采纳本回答,留下email,我给你