work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 59 下一页

2019年8月11日

摘要: 读取一个文件的内容,然后写入另外一个文件 通过NIO读取文件涉及3个步骤 1、从FileInputStream获取FileChannel对象 2、创建Buffer 3、将数据从Channel读取到Buffer中 绝对方法与相对方法的含义 1、相对方法: limit值与position值会在操作时被考 阅读全文

posted @ 2019-08-11 22:20 work hard work smart 阅读(139) 评论(0) 推荐(0)

摘要: 关于NIO Buffer中的3个重要状态属性的含义: postion, limit与capacity。 输出结果: 阅读全文

posted @ 2019-08-11 17:10 work hard work smart 阅读(441) 评论(0) 推荐(0)

摘要: 一、IO与NIO的区别 java.io 中最核心的一个概念是流(Stream),面向流的编程。一个流要么是输入流,要么是输出流,不可能同时即是输入流又是输出流。 java.nio中3个核心概念: Selector(选择器), Channel(通道)与Buffer(缓冲区)。在java.nio中,我们 阅读全文

posted @ 2019-08-11 15:15 work hard work smart 阅读(177) 评论(0) 推荐(0)

2019年8月10日

摘要: 上一篇只有Person的message,如果多了一个message,如Dog,这样就会有问题。 解决方法: 定义多协议 一、定义proto文件 然后用命令生成 D:\workspace\study\basic\netty_demo>protoc --java_out=src/main/java sr 阅读全文

posted @ 2019-08-10 21:03 work hard work smart 阅读(543) 评论(0) 推荐(0)

摘要: 一、创建Personproto.proto 创建Personproto.proto文件 2、重新生成 D:\workspace\study\basic\netty_demo>protoc --java_out=src/main/java src/protobuf/Person.proto 二、创建N 阅读全文

posted @ 2019-08-10 20:17 work hard work smart 阅读(294) 评论(1) 推荐(0)

摘要: 一、protobuf环境搭建 Github 地址: https://github.com/protocolbuffers/protobuf 然后进入下载页 https://github.com/protocolbuffers/protobuf/releases 下载系统对应版本编译器 我这里使用的是 阅读全文

posted @ 2019-08-10 19:36 work hard work smart 阅读(571) 评论(0) 推荐(0)

2019年8月4日

摘要: WebSocket长连接 一、创建服务端代码 1、MyServer 类 2、WebSocketChannelInitializer 类 3、TextWebSocketFrameHandle 类 二、编写客户端WebSocket代码 三、测试 1、启动服务端 2、打开页面 http://localho 阅读全文

posted @ 2019-08-04 21:59 work hard work smart 阅读(518) 评论(0) 推荐(0)

摘要: 一、创建服务端 1、MyServer 类 增加日志处理器 2、MyServerInitializer 5秒钟没有读事件 7秒钟没有写事件 10秒钟没有读写事件 3、处理器MyServerHandle 二、客户端代码同上一篇一致 三、测试 启动服务端和客户端 1、读空闲 可以发现,5秒钟没有读到消息, 阅读全文

posted @ 2019-08-04 15:41 work hard work smart 阅读(408) 评论(0) 推荐(0)

2019年8月3日

摘要: 实现场景: 聊天 服务端,客户端A,客户端B,客户端C。当客户端发送消息给服务端后,服务端在将这条消息广播个所有客户端户端A,客户端B,客户端C。 需求1: 客户端上线后,会通知所有客户端上线。 如客户端A先建立连接,不需要通知。 当客户端B与服务端建立连接,服务端告诉A,客户端B上线。 A和B建立 阅读全文

posted @ 2019-08-03 22:22 work hard work smart 阅读(3523) 评论(0) 推荐(0)

摘要: 工程结构图 一、Socket服务端 1、创建MyServer 类 2、服务端处理器类MyServerHandle 当接收到请求后,向客户端写数据。 3、创建MyServerinitializer类 二、客户端 1、MyClient 类 2、客户端处理器MyClientHandle 客户端channe 阅读全文

posted @ 2019-08-03 21:22 work hard work smart 阅读(496) 评论(0) 推荐(0)

摘要: 一、Netty能做什么 1、Netty可以作为Http服务器,和Tomcat一样,可以处理请求,处理响应。表现形式和SpringMVC,Struct2类似。只不过Netty并没有实现Servlet标准(规范) 如前面两篇的介绍 Netty执行流程分析与重要组件介绍 Netty回调与Channel执行 阅读全文

posted @ 2019-08-03 15:40 work hard work smart 阅读(173) 评论(0) 推荐(0)

摘要: 在上一篇的基础上修改代码 1、TestHttpServerHandle 类 2、增加公共类CommonUtil 3、运行结果 使用postman调用 控制台打印如下图 阅读全文

posted @ 2019-08-03 15:36 work hard work smart 阅读(799) 评论(0) 推荐(0)

摘要: 一、环境搭建 创建工程,引入Netty依赖 二、基于Netty的请求响应Demo 1、TestHttpServerHandle 处理器。读取客户端发送过来的请求,并且向客户端返回hello world响应 2、TestServerInitializer 类 3、TestServer 类 启动main 阅读全文

posted @ 2019-08-03 14:25 work hard work smart 阅读(769) 评论(0) 推荐(0)

2019年7月27日

摘要: 1、HBase的能做什么 1、海量数据存储(上百亿行*上百万列) 2、准实时查询(百毫秒之内查询) 最多上百万行的数据,不建议使用Hbase。不能发挥Hbase的优势 2、HBase的应用场景和特点 交通 (如GPS数据,长江河道的船舶的GPS,城市十字路口的摄像头违章拍照) 金融:支付交易(取款信 阅读全文

posted @ 2019-07-27 22:39 work hard work smart 阅读(251) 评论(0) 推荐(0)

摘要: 文件上传下载原理 在TCP/IP中,最早出现的文件上传机制是FTP。它是将文件由客户端发送到服务器的标准机制。 但是在jsp编程中不能使用FTP方法来上传文件,这是由jsp运行机制所决定的 文件上传原理: 通过为表单元素设置Method=“post” enctype=“multipart/form- 阅读全文

posted @ 2019-07-27 15:52 work hard work smart 阅读(1115) 评论(0) 推荐(1)

2019年7月24日

摘要: 监控nginx的请求信息,总共收到了多少个请求,有哪些成功的,有哪些失败的 ngxtop安装 1、安装python-pip 1) yum install epel-release 出现如下错误:No package epel-release available 解决方法: wget http://d 阅读全文

posted @ 2019-07-24 23:58 work hard work smart 阅读(826) 评论(0) 推荐(0)

摘要: 1、开启监控with-http_stub_status_module ./configure --with-openssl=/usr/local/ssl --with-http_stub_status_module make & make install 2、查看nginx的版本 ./nginx - 阅读全文

posted @ 2019-07-24 22:18 work hard work smart 阅读(865) 评论(0) 推荐(0)

2019年7月21日

摘要: 接上一篇文章 上一篇讲到了doGetTransaction方法 一、模板方法设计模式 这里涉及到了一个经典的设计模式:模板方法 如下图: AbstractPlatformTransactionManager实现了PlatformTranscationManager接口 DatasourceTrans 阅读全文

posted @ 2019-07-21 17:03 work hard work smart 阅读(1629) 评论(0) 推荐(0)

2019年7月20日

摘要: Spring 事务的原理 AOP 动态代理 + 声明式事务管理 + 底层数据源连接控制 ┌─────────────────────────────────────────────────────────┐ │ 1. 扫描标注 @Transactional 的类和方法 │ └──────────── 阅读全文

posted @ 2019-07-20 19:33 work hard work smart 阅读(351) 评论(0) 推荐(0)

摘要: JdkDynamicAopProxy类的invoke方法 1、获得拦截器链 进入方法 然后进入getInterceptorsAndDynamicInterceptionAdvice方法 2、递归 proceed方法 进入proceed方法 目标方法执行之前的一系列的逻辑。 所有的拦截器执行完毕后,执 阅读全文

posted @ 2019-07-20 14:38 work hard work smart 阅读(389) 评论(0) 推荐(0)

上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 59 下一页