netty buttyBuf的三种复制方式 netty buttyBuf的三种复制方式copy 物理复制,复制数据构成新buf,且与原buf无关,大小等于数据长度duplicate 逻辑复制,复制原buf的索引构成新buf,和原数据一模一样slice 切片,获取原buf指定范围的映射,大小等于切片的数据长度1234567891011121314151617181920212223@Testpublic void test2() & 2019-09-17 #netty
追踪一下slf4j的工作原理 TOC{:toc} 追踪一下slf4j的工作原理slf4j 是一个java界非常流行的日志门面框架,使用它,你可以任意更换底层实现,如logback、log4j,而不需要修改代码。那他是如何做到的。 引入slf4j的包 这里采用最新稳定版,因为只引入slf4j无法打印日志,这里选择logback作为底层实现。 1234567891011<dependency> <gro 2019-08-20 #bug #java #slf4j
guava eventBus使用和分析 guava eventBus使用和分析eventBus就是类似于观察这模式,我们将监听器注册到eventBus内,调用eventBus的post(object)方法, 将任何object对象发送到eventbus中,如果某个eventbus内的监听器对该object感兴趣,则会被回掉。并将该object作为参数传进去 为什么使用eventBus使用非常方便,效率高,且监听器只需加一个注解即可,不 2019-08-09 #java
可以使用位操作存储简单一对多的情况 可以使用位操作存储简单一对多的情况需求如下数据库中 user表有字段userLevel标识用户等级 1 普通用户 2 高级用户 3 vip用户 4 管理员 5 开发人员 另一张公告表A,发布公告时,需要指定类型的用户能看到,如只给管理员发公告,或者 只给 普通用户,高级用户发公告,其他人看不到 当然可以采用中间表的形式,每个公告存储该公告能访问的对应等级的user。今天我们采用另一种方法二进 2019-08-07 #java
vertx buffer类 vertx buffer类Buffer类vertx的Buffer接口实现类 BufferImpl 对netty的ByteBuf进行封装,隐藏了复杂的读写指针操作,改写了一些基本操作进行改写,如 read 操作 -> 移除了 write 操作 -> append get -> get set -> set copy -> 2019-08-05 #vertx
vertx jsonArray jsonObject json指针 vertx jsonArray jsonObject json指针JSONjsonobject 相当于一个Map<String,Object> , jsonArray相当于一个 List<Object> JsonObject构造方法,可以通过jsonString,构造,或者map构造。 123456789String jsonStrng = "{\& 2019-08-05 #vertx
mybatis 找不到statement mybatis 找不到statement “Mapped Statements collection does not contain value for xx “我发生这样的原因是因为我的扫描配置的是 ‘classpath:mapper/*Mapper.xml’ ,而我后面新建的mapper文件命名是,userMapperEx.xml 导致命名和通配命名不一致,扫描不到。在此记录一下。 2019-07-30 #java
thymeleaf 自定义表达式,静态方法 thymeleaf 自定义表达式,静态方法1.模板内置了一些方法,比如格式化时间的${#dates.format(article.date,'yyyy-MM-dd HH:mm')} 但有时候不满足我们的需求,需要自定义方法。 2.需求,遍历list,拼接list中对象的某个字段,以逗号分隔如: List<People> list = new Arr 2019-07-24 #java
servlet-mapping 路径配置 斜杠、斜杠星区别 servlet-mapping 路径配置怎么配, / /* 区别1.匹配规则/xx 表示精准匹配xx路径 *.action 表示匹配action为后缀的 / 表示匹配所有路径,优先级较低 /* 匹配所有路径 优先级小于 /xx这种精准匹配,小于/xx/*这种路径比他更为精准的匹配 大于*.action这种后缀匹配,这将导致一些问题 2.默认servlet处理静态资源和jsp,为什么什么都 2019-07-23 #java
使用nginx后,后端无法获取真实ip 使用nginx后,后端无法获取真实ip因为nginx 是反代,后端获取的请求是nginx发出的,所以获取到的总是127.0.0.1 或者0:0:0:0:0:1解决方法就是在nginx配置文件中配置添加请求头为原始请求头即可123proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X 2019-07-15 #nginx