B.b仅此一生,竭尽全力。
码龄6年
关注
提问 私信
  • 博客:19,840
    社区:516
    动态:17
    20,373
    总访问量
  • 29
    原创
  • 1,231,526
    排名
  • 5
    粉丝
  • 0
    铁粉

个人简介:越努力越幸运

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2019-07-16
博客简介:

xiaojianlaile的博客

查看详细资料
个人成就
  • 获得14次点赞
  • 内容获得8次评论
  • 获得23次收藏
创作历程
  • 3篇
    2022年
  • 4篇
    2021年
  • 22篇
    2020年
成就勋章
TA的专栏
  • netty
    6篇
  • java高级
    4篇
  • 笔记
    1篇
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Netty 设计模式之 reactor

高性能的网络编程都绕不开反应器模式 nginx ,redis, netty1 什么是反应器模式呢?:反应器 由reactor反应器线程,任务分发器 ,handler处理器等角色组成,2 反应器的职责是什么?负责响应IO事件,并且分发到handlers(自定义处理器)去处理具体的业务逻辑3 handler处理器的职责(非阻塞的执行业务逻辑的代码片段)这个是个简单的测试 阻塞的BIO 也就是服务端的阻塞 public static void main(String[] args)
原创
发布博客 2022.02.16 ·
953 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Netty 学习笔记

学习netty的前提(小白勿扰)1两种设计模式(reactor反应器设计模式,适配器设计模式)熟练掌握2熟练掌握Socket 套接字编程3熟悉网络协议4~7层协议(1-3)无需关注4 熟练使用JDK.5的 java.util.concurrent 包下的 Thread Atomic ConDown (以及信号类相关的辅助类)锁。jdk 1.7 之后的线程池 (7大参数)------------------------------------------------------------
原创
发布博客 2022.01.17 ·
334 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Netty Handler中使用 Spring IOC 的 @Autowired注解无效

网上有很多处理方式---(经过自己的测试,全部都是没有用的处理方式,提供一种本人测试2天的一种方式)出现装配不进去的原因:new 出来的Bean 和 Spring Bean IOC工厂提供的Bean不是在同一个管理体系中,我们使用的Netty包中的handler是使用new的方式,导致它的子类中 不能直接装配其他组件,在handler中可以使用这种方式处理的方案:@EnableScheduling@SpringBootApplication@RestControllerpubl..
原创
发布博客 2022.01.13 ·
500 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

平凡的世界

转瞬即逝是什么意思, 在年少的时光我都会发起这样的疑问,但是却得不到自己想要的答案,但是我锲而不舍依旧重复着同样的疑问,犹如圆规的针尖,始终走不出用我的心为支点规划的舒适圈,我曾经无数次想要挣脱出去,去认识到时光流失,珍惜时光,珍惜自己,珍惜身边人,珍惜这个世界的真理,无奈,每次都以失望告终, 随着时间车轮的脚步不知不觉已经褪去原先的稚嫩,对这个陌生的世界的已存在的事物有了部分的认识,我开始担忧,开始害怕,真相原来是这样原来我一直被禁锢在以自己的心为原点的舒适圈,半步没有前进。原本知道...
原创
发布博客 2021.09.30 ·
124 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

自己搭建一个docker 操作系统 ubantu,部署相关服务, 自制一个镜像服务

1 ,安装docker(1)一键安装 方式 阿里云 18.04 测试通过curl -fsSLhttps://get.docker.com| bash -s docker --mirror Aliyun2 切换用户 或者使用 管理员权限去执行命令sudo su +[命令行] 或者 su + [命令行]3. 查看docker 版本 docker -v4 安装对应的操作系统的镜像docker pull [系统镜像名称如 ubantu] ...
原创
发布博客 2021.09.18 ·
233 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Netty 抽象协议(非常简单)---万物皆对象

简介:网关使用netty作为通讯框架,redis作为缓存(处理许可,指令存储,记录存储)处理上位机(BS,CS的服务)和下位机(各种设备)之间的数据通讯, 对于不同的场景处理不同的方式。面向Web或者移动App需要网关具有认证,鉴权,缓存,服务编排,监控告警等功能。面向合作伙伴开放的API:满足业务形态对外开放,与企业外合作伙伴建立生态圈,此时的API网关注重认证,权限分级,流量管控,缓存等功能;企业内部系统互联互通:这类场景,主要是为了企业内部存在不同部门,而部门之间的技术栈不同,使用不同
原创
发布博客 2021.08.25 ·
328 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2021-03-30

springCloud的学习 ubantu 服务器的学习, docker容器的学习 hive的学习 handoop的学习MQ 的学习 , 源码的学习, 框架以及新 技术的学习, 自己写插件ubantu是一个基于debian的以桌面为主的Linux操作系统,据说其名称来自非洲南部祖鲁语,或科萨语,意思是人性,我的存在是非洲传统的一种价值观,ubantu目标为一般用户提供一个最新的又相当稳定的主要以自由软件构成的操作系统,ubantu具有庞大的社区力量支持,用户可以方便的从社区获取帮助虚拟机..
原创
发布博客 2021.03.30 ·
172 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

SQL优化

执行顺序系统角色表 ---》学生表---》系统角色部门表---》系统人员表---人员角色表----》人员部门SQL优化的一些方法1.对查询进行优化,应该尽量避免全表扫描,首先 考虑在where 及order by 设计到的列上建立索引2.应该尽量避免在where子句对字段进行null值判断,否则将导致殷勤放弃使用索引,进行全表扫描3.尽量避免在where自居中使用!=或者使用><操作符,否则将殷勤放弃使用索引而进行全表扫描4.尽量避免在where子句中使用 or来连接条件,否则将导
原创
发布博客 2020.12.02 ·
124 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Autho-Token

Auth-token1.0:(1)由于http的无状态性,前端服务器需要存储每个用户对用的 session_id,由于访问量巨大,所以服务器前端通过nginx做了集群,做(反向代理和负载均衡) 由于做了集群,每次请求发送的服务器不固定,所以使用**(沾粘性session)**(2)session-id存储到缓存服务器上去,但是redis可能也会挂了所以redis也需要做集群。(3)问题:如果不保存sessionid,不做验证就不知道是不是系统内部合法用户,容易被攻击解决方案:用户登录成功,返还一个
原创
发布博客 2020.10.30 ·
1536 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

昨天遇见一个需求,反思一下自己的问题

需求:系统下面的菜单管理中的按钮添加权限的问题。影响:和前端人员产生争执出现了分歧,主要是我返回的数据格式和她前端如何展示。产生问题的原因我的问题 :考虑问题不够全面, 从项目的局部去看待问题,只想在当前页面下去加没有考录到后期所有的按钮都需要添加这个功能过滤。我的解决方式:修改数据库表添加字段来标识这个功能按钮,另一个字段是全段是否展示0展示/1不展示大佬的解决方式和教导第一考虑问题比较全面,小健这个项目要考虑到以后面所有的按钮都需要添加这个权限过滤,你感觉应该怎末做,是不是应该单独写一个
原创
发布博客 2020.08.05 ·
160 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

今天写了几个递归工具类记录一下

package com.energetic.energetic.util;import com.energetic.energetic.pojo.DormStructure;import com.energetic.energetic.pojo.SysUser;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.text.SimpleDateFormat;im
原创
发布博客 2020.07.24 ·
230 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

今天把写的一个调度器的内容 从sql中给提取了出来,记录一下

**** * 晚归归寝 * @author Administrator */@Configurationpublic class DormScheduleStayUp implements SchedulingConfigurer { @Autowired(required = false) private DormParamSettingMapper settingMapper; @Autowired(required = false) private DormClo
原创
发布博客 2020.07.22 ·
153 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据格式的转换

public static void main(String[] args) {StringBuilder builder = new StringBuilder();builder.append("Pin = "+123456);System.out.println("字符串是"+builder); Pin = 123456Map<String, String> coditionMap = new HashMap<>
原创
发布博客 2020.07.16 ·
383 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

递归查询树列表

public class GenerateCalculatorUtil { //递归生成菜单树 public static List<DormStructure> getTree(int pid, List<DormStructure> list){ List<DormStructure> newTreeList = new ArrayList<>(); for (DormStr
原创
发布博客 2020.07.08 ·
292 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Mybatis 你可以通过这样 把传过来的参数集合变成一张临时表

SELECT tab1.val from<foreach collection="list" index="index" item="item" open="(" separator="union" close=")"> select #{item.dormUserPin} as val</foreach>tab1WHERE tab1.val not in (select hu.pin from hr_userinfo hu)注意到没有,其实就是简单的拼接 用的
原创
发布博客 2020.07.08 ·
4838 阅读 ·
3 点赞 ·
6 评论 ·
8 收藏

@Scheduled项目中用到的一个小知识点

今天写东西的时候需要在自定义的请求类中去设置请求的seeionid,于是就写了一个工具类 记录一下;package com.energetic.energetic.util.scheduler;import com.alibaba.fastjson.JSONObject;import com.energetic.energetic.service.face.sense.SenseBoxDbService;import com.energetic.energetic.util.ResponseRe
原创
发布博客 2020.06.28 ·
522 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

有关门禁系统中的人脸推送到大屏使用的webSocket布控推送记录一下

突然感觉之前紫萼的都不是很认真,从进以后写一点每天上班都用到的一些东西下面这个就是推送之前的基本逻辑,注释掉的东西是 由于原本的抓拍的图片不是很清晰,所以采用人员注册时的上传的图片保存到本地的写法;** * 商汤盒子 * @author Administrator */@RestControllerpublic class SenseBoxController { //别人给的数据 @Value("${server.port}") private String port;
原创
发布博客 2020.06.28 ·
447 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

WebSocket的原理和优缺点

websocket 是长连接,受网络限制比较大,需要处理好重连,比如用户进电梯或电信用户打个电话网断了,这时候就需要重连,如果 ws 一直重连不上,有些较复杂的业务方会不愿意的,是不是还要搞个 http 降级?所以大部分不重要的业务,使用 ws 不如使用 http 轮训来的简单、实在。ws 长连接的用户收到消息是个 push 操作,http 轮训用户收消息是 pull 操作,push 都存在单生产推多消费,为广播模型,怎么处理好连接,保障每个消费推且只推一次,很多程序员这个问题不一定能够解决。pull
原创
发布博客 2020.06.21 ·
5556 阅读 ·
3 点赞 ·
0 评论 ·
10 收藏

压缩文件的批量导入图片

/*导入图片的接口*/@RequestMapping(value = {"/load_photo"})public ResponseResult load_photo(@RequestParam(required=true)MultipartFile file,@RequestParam(name="type",required = false) String type) { return this.userInfoService.load_photo(file,type);}/*导入学生照片的
原创
发布博客 2020.06.18 ·
475 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

获取数据的两种方式 记录一下

/*获取到用户的openid和access_token*/public static String getWechatOpenId(String code, String appid, String secret){ /** * grant_type:获取access_token填写client_credential * appid :商户的唯一标识 * secert :第三方用户唯一凭证密钥 */ String url = "https://api.weixin.qq.
原创
发布博客 2020.06.16 ·
384 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多