- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 《redis设计与实现》读书笔记
sds (simple dynamic string)比起 C 字符串, SDS 具有以下优点:len属性维护字符串长度,常数复杂度即可获取。预先检查长度是否满足需求,如果不满足自动拓展,杜绝缓冲区溢出。空间预分配、惰性空间释放会减少修改字符串长度时所需的内存重分配次数。二进制安全。兼容部分 C 字符串函数。list链表被广泛用于实现 Redis 的各种功能, 比如列表键, 发布与订阅, 慢查询,...
2018-04-30 08:35:47 167
原创 java nio总结
标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Java NIO可以让你非阻塞的使用IO,例如:当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。当数据被写入到缓冲区时,线程可以继续处理它。从缓冲区写入通道也类似。Java NIO引入了选择器的概念,选择器用于监听多个通道的...
2018-04-29 08:48:53 148
原创 java io总结
java io框架中常见类File如果你需要跳跃式地读取文件其中的某些部分,可以使用RandomAccessFile。random随机访问文件原理: 首先把随机访问的文件对象看作存储在文件系统中的一个大型 byte 数组,然后通过指向该 byte 数组的光标或索引(即:文件指针 FilePointer)在该数组任意位置读取或写入任意数据。PipedInputStream、PipedOu...
2018-04-28 08:37:08 122
原创 jvm调优-收集器的选择
Serial、Serial Old 正如名字一样,是串行的收集器,分别对应新生代和老年代的收集器。会『stop the world』。 用于单CPU机器,避免线程交互的开销;或者client模式下的虚拟机。 ParNew 用于新生代,是serial的多线程版本,与serial共用了大量代码。 可以与CMS配合使用。 Parallel Scavenge 用于新生代,采用复制算法。 目的是达到一个可控...
2018-04-26 23:27:57 197
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人