单例的7种设计思路 1:饿汉式:final类不允许被继承,static实例能利用jvm的<clinit>确保同步,缺点就是无法保证被ClassLoader加载的singleton04在什么时候使用, 这就意味着singleton04实例所开辟的堆内存空间会驻留更久的时间,这种情况对轻资源的类来说影响 ...
分类:
其他好文 时间:
2020-08-17 16:42:17
阅读次数:
61
阅读文档 1.管道 yum install nc 安装netcat 建立socket连接 管道,直接给redis发值 nc localhost 6379 set k1 test (ctrl+c结束)然后在客户端查询 2.发布订阅:help @pubsub 监听之后才能接收到 redis-cli : ...
分类:
其他好文 时间:
2020-08-10 22:10:33
阅读次数:
84
基本的套接字编程 socket函数 想要执行网络I/O,首先需要调用socket函数创建套接字,需要头文件#include <sys/socket.h> int socket (int domain, int type, int protocol); 参数: domain : 执行协议域,取值如下: ...
分类:
其他好文 时间:
2020-08-03 00:47:48
阅读次数:
82
# coding: utf-8 import socket from urllib.parse import urlparse def get_url(url): url = urlparse(url) host = url.netloc path = url.path if path == "": ...
分类:
编程语言 时间:
2020-08-02 16:13:18
阅读次数:
115
某些具体程序要求待未发送完的数据发送出去后再关闭socket,可通过设置让程序满足要求: struct linger { u_short l_onoff; u_short l_linger; }; struct linger m_sLinger; m_sLinger.l_onoff = 1; //在 ...
分类:
其他好文 时间:
2020-08-02 12:49:38
阅读次数:
84
一、Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 这样我们就可以自己实现Web框架了。 1.1 半成品自定义web框架 import socket sk = socket.socket() sk.bind(("127. ...
分类:
Web程序 时间:
2020-07-30 10:42:25
阅读次数:
80
一、Java NIO几个核心部分 Channel Buffer Selector 二、IO和NIO的区别 IO 基于流(Stream oriented), 而 NIO 基于 Buffer (Buffer oriented) 在一般的 Java IO 操作中, 我们以流式的方式顺序地从一个 Strea ...
分类:
编程语言 时间:
2020-07-30 01:26:12
阅读次数:
79
从MySQL源码看其网络IO模型 前言 MySQL是当今最流行的开源数据库,阅读其源码是一件大有裨益的事情(虽然其代码感觉比较凌乱)。而笔者阅读一个Server源码的习惯就是先从其网络IO模型看起。于是,便有了本篇博客。 MySQL启动Socket监听 看源码,首先就需要找到其入口点,mysqld的 ...
分类:
数据库 时间:
2020-07-29 15:39:15
阅读次数:
75
# 实现JerryMice的启动类 实现这个需求分为以下几点: 1. 定义本地端口号 2. 在本地端口号上开ServerSocket 3. 通过ServerSocket获取Socket 4. 使用socket获取浏览器客户端的请求 5. 给客户端输出请求的结果 实现代码如下: 1 import cn ...
分类:
其他好文 时间:
2020-07-29 10:08:09
阅读次数:
54
Socket层 Socket有一个缓冲区,缓冲区是一个流,先进先出,发送和取出的可自定义大小的,如果取出的数据未取完缓冲区,则可能存在数据怠慢。造成粘包的问题 黏包问题:文件大小和文件内容,一起在缓冲区发送给服务端,就会产生粘包的现象 Socket发送两条连续数据时,可能最终会拼接成一条进行发送 解 ...
分类:
其他好文 时间:
2020-07-28 22:26:39
阅读次数:
69