清风吹过脸庞

戒骄戒躁,努力积累

Netty入门到精通

系统的学习Netty,以源码实战为主,主要参考《Netty权威指南第2版》学习,学习目的是掌握Netty网络开发。 源码参考,源码基于4.1.31.Final版本。 0、一个基本的Netty客户端和服务端程序 1、解决TCP粘包拆包问题,几种编解码器的应用 2、编解码、序列化、Google...

2019-01-20 11:57:35

阅读数 232

评论数 0

C语言入门(一)之写在前面

学习方法: 1. 不要依赖视频教程、多做上机练习、多看官方文档、敲代码验证案例 2. 遇到问题,首先自行google和stackoverflow,需要学会搜索引擎使用技巧 3. 抓住重点,不会的先放放,记下来,先继续进度。 4. 练习一定要自己思考去做,想5-10分钟想不出来,才去看答案解...

2018-10-04 23:48:07

阅读数 70

评论数 0

美团点评技术团队文章《工作中如何做好技术积累》阅读笔记

原文链接https://tech.meituan.com/study_vs_work.html 目录 如何学习 贵在坚持 重视实践 重视交流 重视总结和输出 重视规划 长期规划 短期规划 那些令人纠结的困惑 学无止境吗 没有绝对高明的技术,只有真正的高手 不做项目就无法成...

2018-09-09 22:37:36

阅读数 1351

评论数 1

算法呀算法——两数之和

刷题这种事,拖得越久,越难受 给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], ...

2019-04-25 14:19:40

阅读数 27

评论数 0

sofaboot使用总结认识

SOFABoot 是基于 Spring Boot 的一套研发框架。 在完全兼容 Spring Boot 的基础上,SOFABoot 还提供了启动期监控检查,上下文隔离,模块化开发,类隔离,日志空间隔离等等能力。 同时 SOFAStack 中间件体系提供了很多组件,例如 RPC 框架、动态配置、消息...

2019-03-05 15:56:39

阅读数 590

评论数 0

一些关于Spring的思考

public class RedisMessageListenerContainer implements InitializingBean, DisposableBean, BeanNameAware, SmartLifecycle InitializingBean 生命周期接口 Bean...

2019-03-05 09:26:25

阅读数 75

评论数 0

开发IDEA定位到.class文件的插件(一)

开发IDEA定位到.class文件的插件   原始需求: 发布补丁的时候,需要找到.class文件放到jar包里。 想开发一个IDEA插件,直接右键.java文件,定位到对应的.class文件,可以是复制.class文件路径,最好的是,直接右键打开.class所在目录 IDEA如何不显示...

2019-02-18 17:13:38

阅读数 590

评论数 1

项目启动流程概述

1. idea根据配置的tomcat地址,找到catalina.bat并运行: D:\apache-tomcat-8.5.16\bin\catalina.bat run 2. tomcat启动,使用配置的JVM运行,JVM开启并连接到JMX服务,提供监控功能,可以通过java工具和命令行等监控系...

2019-02-13 14:23:37

阅读数 183

评论数 1

git使用总结

乱码解决 create mode 100755 "\350\257\276\347\250\213\350\265\204\346\226\231/\350\256\242\345\215\225\346\250\241\345\235\227\346\216\245\345...

2019-01-29 21:44:39

阅读数 51

评论数 0

5、私有协议开发

协议栈功能概述 1、异步通信,基于Netty的NIO 2、提供消息的编解码 3、提供基于IP地址的白名单接入认证机制 4、链路的有效性校验机制 5、链路的断连重连机制 通信模型 1、客户端发送握手请求消息,携带节点ID等有效身份认证信息 2、服务端对握手请求消息进行合法性校验,...

2019-01-29 15:17:49

阅读数 440

评论数 0

4、WebSocket协议开发

概述: HTTP通信是客户端控制的一请求一应答模式。 不适用低延迟应用。 如果有新数据可用时,立即将数据发送到客户端。需要通过长轮询等方式实现。   而WebSocket将网络套接字引入客户端和服务端,浏览器和服务器可以通过套接字建立持久的连接,双方随时都可以互发数据给对方。 HTTP...

2019-01-29 10:55:08

阅读数 53

评论数 0

Objective-C入门(一)

Objective-C与C语言的关系 Objective-C是C语言的严格超集,完全兼容C,C语言编写的程序可以不经修改直接被Objective-C编译。 Objective-C的文件扩展名 扩展名 内容类型 .h 头文件。可以包含类,类型,函数和常数的声明 .m ...

2019-01-28 23:08:19

阅读数 962

评论数 0

Ant编译脚本改造为Maven编译脚本

给maven项目加上ant编译 https://blog.csdn.net/10km/article/details/77161045   在学netty,netty权威指南提供的源文件,编译打包是用ant的,打算后期有空折腾成maven打包。 先以学netty为主线。...

2019-01-27 18:28:47

阅读数 116

评论数 0

使用nginx配置反向代理服务器

安装 ubuntu 系统直接执行下面命令安装: sudo apt-get install nginx 查看配置文件位置 安装后,查看安装在哪,以及配置文件这些信息,可以使用如下命令: whereis nginx  Linux系统下的软件配置一般都在/etc目录下,nginx的配置在...

2019-01-27 09:38:52

阅读数 76

评论数 0

3、Netty HTTP协议开发

关于HTTP的介绍,参见HTTP协议介绍 FileServer应用开发 Netty HTTP服务端开发: public class HttpFileServer { private static final String DEFAULT_URL = "/src/...

2019-01-25 13:32:44

阅读数 103

评论数 1

HTTP协议介绍

什么是HTTP协议 HTTP(超文本传输协议)协议是建立在TCP协议传输协议之上的应用协议。应用层协议。 HTTP协议的主要特点: 1、支持Client/Server模式 2、简单,请求只需要指定URL、参数和请求体 3、灵活,HTTP允许传输任意类型的数据对象,传输的内容类型由HTTP...

2019-01-25 13:32:06

阅读数 69

评论数 1

2、编解码、序列化、Google Protobuf编解码

Java的序列化 Java提供的序列化机制,涉及到两个对象输入输出流类,ObjectInputStream,ObjectOutputStream。 Java序列化的目的是网络传输和对象持久化。 序列化,在网络传输中,将Java对象编码为字节数组或者ByteBuffer对象 反序列化,将从远...

2019-01-23 22:20:16

阅读数 289

评论数 0

Ajax+Spring MVC前后端交互问题

这两天在做导出改造,将以前的导出功能拆分,前后台都要改。 现状: 要导出的表头我们叫tableMap,是一个JSON字符串,也是用来匹配查询结果集的。 项目中有的模块做的导出功能,是后台拼接这个tableMap的,也有的模块做的导出,是前台传过来的tableMap,两种使用方式。 前台传过...

2019-01-23 18:22:44

阅读数 341

评论数 0

分阶段提示导出和下载

导出分阶段显示进度,两种状态,“查询完成”和“可以下载”(不是下载进度) 导出的一般流程: 1、用户点击导出,发起导出请求,传入要导出的字段参数 2、后台根据传入的参数,去数据库中查询,如果数据量大,会很慢。(多线程查询,然后合并数据返回) 3、数据查询后返回结果集,经过service处理,返...

2019-01-22 08:46:00

阅读数 72

评论数 1

1、解决TCP粘包拆包问题,几种编解码器的应用

粘包拆包问题 粘包拆包问题是基于流的协议所特有的,因为基于流的协议不知道传输的内容是什么。TCP协议是一个基于流的协议,一个完整的数据包可能会被TCP拆分成多个包发送,也有可能多个小的数据包被封装成一个大包发送。 什么决定了拆包规则?粘包拆包的原因是什么?   粘包:服务端一次接收了多...

2019-01-21 19:57:56

阅读数 115

评论数 0

提示
确定要删除当前文章?
取消 删除