ByteToMessageDecoder是一种ChannelInboundHandler,可以称为解码器,负责将byte字节流(ByteBuf)转换成一种Message,Message是应用可以自己定义的一种Java对象. 例如应用中使用protobuf协议,则可以将byte转换为Protobuf对象.然后交给后面的Handler来处理. 使用示例, 下面这段代码先将收到的数据按照换行符分割成一段一段的,然后将byte转换成String, 再将String转换成int, 然后把int加一后写回.…
首先我们必须知道Tcp粘包和拆包的,TCP是个“流”协议,所谓流,就是没有界限的一串数据,TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际数据进行包的划分,一个完整的包可能会被拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包进行发送.这里引用Netty官网的User guide里面的图进行说明: Dealing with a Stream-based Transport One Small Caveat of Socket Buffer In a stream-…
代码: 1 import java.util.*; 2 3 /** 4 * 学习自定义排序:继承Comparable接口,重写compareTo方法(排序规则). 5 * TreeMap容器的Key是自动排序的,Key为自定义类时,必须重写排序规则. 6 * Iterator迭代器遍历Map容器 7 */ 8 public class DiySort { 9 10 /** 11 * 测试 12 * @param args 13 */ 14 public static void main(Stri…
let只作用在当前块级作用域内使用let或者const声明的变量,不能再被重新声明let不存在`变量提升` console.log(dad); var dad = '我是爸爸!';//预定义undefined console.log(dad); let dad = '我是爸爸!';//报错 生成十个按钮 每个按点击的时候弹出1 - 10var 方法: var i = 0; for (i = 1; i <= 10; i ++) { (function(i) { var btn = document…
前几次更新博客都是每次周日晚上到周一,这次是周一晚上开始写,肯定也是有原因的!那就是我的 Tomact 忽然报错,无法启动,错误信息如下!同时我的 win10 也崩了,重启之后连 WIFI 的标志也不见了,上不了网.额.额.额...后面连 IDEA 也报错,就很无奈!不过现在能写也就是我把他折腾好了!原因很简单就是执行了下面简单的几句命令后重启就可以上网了,我对这方面的知识不是很熟悉但应该重置网络方面的东西!接着 Tomact 的报错也熟悉了 --- 端口被占用!这都是小事,改好端口就开始本周的…
一.前言 本节内容主要对小案例做一个总结: 1.如何开始搭建小项目 2.路由设计 3.模块应用 4.项目源码以及实现过程github地址: 项目演示如下: 二.主要内容 1.项目的关键性js源码: 项目的入口: /** * app.js 入门模块 * 职责: * 创建服务 * 做一些服务相关配置 * 模板引擎 * body-parser 解析表单 post 请求体 * 提供静态资源服务 * 挂载路由 * 监听端口启动服务 */ var express = require('express') v…
代码学习过滤器 过滤器介绍:过滤模型数据,在数据显示前做预处理操作: 内置过滤器:在1.x中,Vue提供了内置过滤器,但是在2.x中已经完全废除: 解决办法: (1)使用第三方库来替代1.x中的内置过滤器: (2)使用自定义过滤器: 自定义过滤器: a.全局配置:Vue.filter( id, [definition] ) b. 局部配置:在Vue实例中配置filters 详细介绍网址:https://cn.vuejs.org/v2/api/#Vue-filter 过滤器语法: 无参:{{msg…
学习了这么久,一直都是零零散散的,没有把知识串联起来综合运用一番 比如拦截器,全局异常处理,json 交互,RESTful 等,这些常见技术必须要掌握 接下来呢,我就打算通过这么一个综合案例把这段时间所学的知识串联起来做一个综合小案例,实现商品订单管理模块的开发 那么,这一块写成技术博客的原因呢,主要是督促自己每天有所行动,不要畏惧艰难,每一个大的项目都是由小小的知识点构建起来的. 不积跬步无以至千里,不积小流无以成江海.及时记录有助于自己整体把握知识点,为后面做一个大一点的项目做基础准备. 正…
一.JSONP简介 JSONP 全称 JSON with padding(填充式 JSON 或参数式 JSON),JSONP实现跨域请求的原理,就是动态创建<script>标签,然后利用<script>的”src"属性不受同源策略限制来跨域获取数据,其实凡是拥有”src”属性的标签都有跨域的能力,如<script> <img> <iframe>等.JSONP 由两部分组成:回调函数和数据.回调函数是当响应到来时应该在页面中调用的函数.回…
https://blog.csdn.net/techbirds_bao/article/details/9233599 上链接为一个不错的Mybatis进阶博客 当你把握时间,时间与你为伍. 将上一个简单的小案例完善,加入了更多的数据库SQL mapper映射 ------------ 其后还有继续更新,如动态mapper映射,动态SQL.(不知道是否为同一个意思,总之mapper就是为了将sql语句给数据库做交互) 多功能的primary3案例源码  <<注意获取SqlSession有错误,…