一.问题引出. Hadoop 的Server 采用了Java 的NIO,这样的话就仅需要为每一个socket 连接建立一个线程,读取socket 上的数据.在Server 中,只需要一个线程,就可以accept 新的连接请求和读取socket上的数据.为什么只需一个线程就解决问题了? 二.java NIO的分析 Java NIO旨在快速搬运大量东西,大大提高I/O效率. (1)    引入了buffer和channel.Buffer:是一块连续的内存块.NIO 数据读或写的中转地.Channel…
最近遇到 NetworkStream.ReadAsync 在 Linux 上高并发读取数据的问题,由此激发了阅读 corefx 中 System.Net.Sockets 实现源码(基于 corefx 2.2)的兴趣. 这篇随笔是阅读 NetworkStream.ReadAsync 相关源码的简单笔记,基于在 Linux 上运行的场景. NetworkStream 继承自 System.IO.Stream ,System.IO.Stream.ReadAsync 方法签名是 public Task<…
import pymysql conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='test_db',charset='utf8') cur = conn.cursor() cur.execute("select * from users") # print(cur.description) # print() for row in cur: print(row) cur.…
前些天在调试公司系统的时候发现这样的一个问题:mysql数据库服务停止一段时间后再次重启后吗,tomcat服务无法请求数据库服务,调试了半天对这个问题进行定位解决,期间也搞了很多有关mysql数据库的知识,包括数据库连接池的问题,以前没有遇到问题的时候只知道数据库连接池这个概念和如何配置,但是当遇到问题的时候就要去看怎么实现了,比如很简单的默认的数据库连接池的个数是多少呢,我相信没有看过源代码的是不知道的,答案是8.下面就针对最近学习的org.apache.commons.dbcp.BasicD…
把之前的CRUD的代码src下的代码都复制过来 依赖项也都复制过来, 配置文件 整理一番 执行findAll方法的测试 查看日志的输出部分 修改程序池 再来执行findAll方法 Plooled从连接池中拿到连接,又扔回去了. 每次都会创建新的链接.用完直接关闭 Ctrl+N弹出对话框 输入unpooleddata就找到了.UnpooledDataSource 就打开了UnpooledDataSource 再去搜索PooledDataSource 打开了.PooledDataSource 两个类…
之前的jar包有问题,现已修改. 需要的jar包,已修改 自己去Maven中央仓库下载jar包. excel数据: 直接上代码. 程序再度优化了一遍.之后如果想再度精准,可能需要建模,最近没空继续做了. 实体类: package org.analysisitem20181016.pojo; public class Item { private int index; private int match_text_length; private String item_name; private…
本文在linux环境下编译live555工程,并用cgdb调试工具对live555工程中的testProgs目录下的openRTSP的执行过程进行了跟踪分析,直到将从socket端读取视频数据并保存为对应的视频和音频数据为止. 进入testProgs目录,执行./openRTSP rtsp://xxxx/test.mp4 对于RTSP协议的处理部分,可设置断点在setupStreams函数中,并跟踪即可进行分析. 这里主要分析进入如下的while(1)循环中的代码 void BasicTaskS…
 本章分析Nio Channel的数据读取功能的实现. Channel读取数据需要Channel和ChannelHandler配合使用,netty设计数据读取功能包括三个要素:Channel, EventLoop和ChannelHandler.Channel有个read方法,这个方法不会直接读取数据,它的作用是通知持有当前channel的eventLoop可以从这个这个channel读取数据了,这个方法被调用之后eventLoop会在channel有数据可读的时候从channel读出数据然后把数…
本文在linux环境下编译live555工程,并用cgdb调试工具对live555工程中的testProgs目录下的openRTSP的执行过程进行了跟踪分析,直到将从socket端读取视频数据并保存为对应的视频和音频数据为止. 进入testProgs目录,执行./openRTSP rtsp://xxxx/test.mp4 对于RTSP协议的处理部分,可设置断点在setupStreams函数中,并跟踪即可进行分析. 这里主要分析进入如下的while(1)循环中的代码 void BasicTaskS…
mysql,mysqldump,Mysqladmin,php连接mysql服务常会提示下面错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 当使用host参数为"localhost"连接Mysql服务时,会优先使用"sock文件"进行连接,而不是使用"IP:端口"进行连接,而Mysql…