![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 81
ming-world
春生,夏糜,秋去,冬烬,春又来。
展开
-
NIO基础知识
NIO和传统的IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。NIO和IO最大的区别是数据打包和传输方式。IO是以流的方式处理数据,而NIO是以块的方式处理数据。缓冲区Buffer Buffer是一个对象,它包含一些要写入或读出的数据。在NIO中,数据是放入Buffer对象的,而在IO中,数据是直接写入或者读到Stream对象的...原创 2018-03-17 15:57:26 · 319 阅读 · 0 评论 -
Socket的几种实现
基于TCP协议的网络编程 TCP/IP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket,从而在通信的两端之间形成网络虚拟链路。一旦建立了虚拟的网络链路,两端的成员就可以通过虚拟链路进行通信。Java是对基于TCP协议的网络通信提供了良好的封装,Java使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信。使用ServerSocke...原创 2018-03-21 19:30:34 · 2396 阅读 · 1 评论 -
Java多线程之线程池
线程池的一些好处 通过重用线程池中的线程,来减少每个线程创建和销毁的性能开销。 对线程进行一些维护和管理,比如定时开始,周期执行,并发数控制等等。Executor框架用于任务执行,接口有一个execute方法,用于提交任务。public interface Executor { void execute(Runnable command);}...原创 2018-04-14 11:03:55 · 202 阅读 · 0 评论 -
Thread.stop()为何废弃
官方给出的说明:/** @deprecated This method is inherently unsafe. Stopping a thread with * Thread.stop causes it to unlock all of the monitors that it * has locked (as a natural consequence...原创 2018-04-24 14:34:12 · 5407 阅读 · 0 评论 -
Redis底层数据结构
简单动态字符串SDS的定义struct sdshdr { // 记录buf数组中已使用字节的数量 // 等于SDS所保存字符串的长度 int len; // 记录buf数组中未使用字节的数量 int free; // 字节数组,用于保存字符串 char buf[];};杜绝缓冲区溢出空间分配策略空间预分配...原创 2018-12-11 18:59:29 · 227 阅读 · 0 评论 -
Redis——数据库
服务器中的数据库struct redisServer { // 一个数组,保存着服务器中的所有数据库 redisDb *db; // 服务器的数据库数量 // 值由服务器配置的database选项决定,默认情况下是16个数据库 int dbnum;};切换数据库默认情况下,redis客户端的目标数据库为0号数据库,可以通过SELECT命令来...原创 2018-12-11 23:46:10 · 279 阅读 · 0 评论