it
文章平均质量分 56
空谷有来人
计算机软件工程师。
展开
-
Netty进阶:协议设计与解析
魔数:用来在第一时间判定接收的数据是否为无效数据包版本号:可以支持协议的升级序列化算法:消息正文到底采用那种序列化发序列化方式如:json、protobuf、hessian、jdk指令类型:是登录、注册、单聊、群聊等,跟业务相关请求序号:为了双工通信,提供异步能力正文长度消息正文。原创 2022-10-31 22:44:52 · 527 阅读 · 0 评论 -
Netty进阶:粘包与半包-解决方案
粘包与半包-解决方案原创 2022-10-17 23:53:37 · 843 阅读 · 0 评论 -
Netty进阶:粘包、半包
发生粘包、半包现象的本质是因为TCP是流式协议,消息无边界。原创 2022-10-13 09:56:53 · 740 阅读 · 0 评论 -
Netty—(七)组件:Bytebuf(二)
Netty 组件:Bytebuf原创 2022-10-10 17:43:22 · 216 阅读 · 0 评论 -
Netty—(六)组件:Bytebuf(一)
Netty—(六)组件:Bytebuf(一)原创 2022-10-08 18:13:30 · 554 阅读 · 0 评论 -
Netty—(五)组件:Handler & Pipeline
Netty—(五)组件:Handler & Pipeline原创 2022-09-30 09:23:58 · 443 阅读 · 0 评论 -
Netty—(四)组件:Future 与 Promise
Netty组件:Future 与 Promise原创 2022-09-29 00:09:14 · 422 阅读 · 0 评论 -
Netty—(三)组件:Channel
Netty之channel的学习,期待后续原创 2022-09-27 23:22:29 · 1059 阅读 · 0 评论 -
Netty — (二) 组件:EventLoop
EventLoopGroup 是一组 EventLoop,Channel 一般会调用 EventLoopGroup 的 register 方法来绑定其中一个 EventLoop,后续这个Channel 上的 IO 事件都由此 EventLoop 来处理(保证了 IO 事件处理时的线程安全)EventLoop 本质是一个单线程执行器(同时维护了一个Selector),里面有run方法处理Channel上源源不断的IO事件。上述就是EventLoop 组件的讲解,包括一些案例的实现,继续关注,后续更精彩。原创 2022-09-26 10:31:05 · 232 阅读 · 0 评论 -
Netty—(一) hello world
Netty的第一次通信,采用hello world开篇,后续更加精彩,敬请期待!原创 2022-09-22 23:44:29 · 129 阅读 · 0 评论 -
springboot集成freemarker模版引擎实现打印
在一些特定场景中,需要在项目中集成freemarker模版引擎实现打印功能,接下来就介绍一下具体的实现步骤。首先,要明确该需求是否是前后端分离的需求,有些需求仅靠后端就可以实现,所以就没有那么复杂,这里介绍的是需要后端输出html文件字符串,需要前段展示出具体模版的数据的。具体的实现思路:前端同学调用后端的生成html文件字符串的接口,参数需要传递具体的页面参数与模版文件名称,这样的做法是只需要一个接口就能适配各种业务场景。首先,需要绘制模版,这需要前端同学帮忙绘制,得到一个html文件,然..原创 2022-03-08 11:05:43 · 1348 阅读 · 0 评论 -
git:实现从一个仓库的指定分支合并代码到另一个仓库的指定分支
在工作中,会存在一下场景:有两个仓库A、B,仓库A中有dev分支,仓库B有对应的dev分支,这时候需要把仓库A中的dev分支代码合并到仓库B的dev分支中去,介绍实现步骤:1. 下载仓库A的代码git clone 仓库A地址2. 在仓库A中创建dev分支git checkout dev3. 建立本地dev分支与远程仓库的dev分支的映射关系git branch --set-upstream-to origin/dev dev4. 关联仓库Bgit remote a..原创 2022-03-02 14:28:06 · 4454 阅读 · 0 评论 -
Quartz cron定时任务表达式
1、cron 表达式:linux f1 f2 f3 f4 f5 program 分钟 小时 日 月 星期 实例: 每月每天每小时的第0分钟执行一次/bin/ls:0 * * * * /bin/ls 在12月内,每天的早上6点到12点,每隔3小时0分钟执行一次/u...原创 2019-04-25 11:03:46 · 727 阅读 · 0 评论 -
bootstrap框架中的分割线
在bootstrap前段框架中,分割线是:<div calss="divider"></div>原创 2018-11-06 08:45:39 · 7117 阅读 · 2 评论 -
封装alert弹窗样式
开发过程中,有些样式也是要注重美观的,对此,我们可以对一些基层方法做一些样式处理,是效果看起来更加的符合整体样式。function alertInfo(message){ layer.alert(message, { skin: 'layui-layer-lan' ,closeBtn: 0 });}如图: ...原创 2018-10-24 09:35:58 · 825 阅读 · 0 评论 -
Java项目http请求中文乱码
在java项目中,许多请求都是http请求,tomcat服务器,那么经常会遇到中文乱码的问题,除了常规的设置之外,还需设置一下tomcat的编码格式。即:tomcat---conf-----server.xml中的<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" ...原创 2018-10-24 09:10:57 · 2364 阅读 · 0 评论 -
eclipse启动报错:Fail to create the java Virtual Machine
1、 到eclipse安装目录下,找到eclipse.ini.2、将Xmx1024m修改成512m或者更小。 Dosgi.requiredJavaVersion=1.7 Xms256m Xmx1024m3、解决!原创 2018-05-15 09:09:20 · 279 阅读 · 0 评论 -
Windows下:Apache+php+mysql+wordpress 搭建网站环境
注意:服务器系统缺少补丁,即.dll文件,通过进入visual C++打各种补丁1、下载php、apache、mysql、wordpress2、安装apache:1)解压压缩包2)配置(conf-http.conf):DocumentRoot "D:/apache/htdocs 3)目标索引(conf-http.conf):DirectoryIndex:index.html ...原创 2018-05-15 09:19:57 · 2352 阅读 · 0 评论 -
java实现两个select框内容左右移动,js实例
js编码:$(document).ready(function (){ //双击将选中的option追加至select2中 $("#select1").dblclick(function (){ $("#select1 option:selected").prependTo("#select2"); }); //双击将选中的option追加至select1中 $...原创 2018-05-22 09:04:20 · 1550 阅读 · 2 评论 -
eclipse在svn更新之后几乎所有的类都报错,怎么解决?
解决办法:1、如果是maven项目,则是右键项目名,找到run as ,点击之后,找到maven clean,清理一下虚拟机内存,然后在run as中找到maven install,加载一下。结束!2、找到菜单栏的project,点击进入,找到clean,清理一下内存,结束!...原创 2018-05-22 16:02:09 · 2557 阅读 · 0 评论 -
mybatis中日期作为条件
mybatis中sql查询对于日期不能直接写大于、小于,要用CDATA对日期进行处理,例如希望对大家有所帮助!原创 2018-05-16 09:12:46 · 6160 阅读 · 0 评论 -
单选按钮为什么还是能够多选?
在这种情况下的单选按钮是可以多选的,只需要给input标签加上name属性,就只能单选了。例如:原创 2018-05-16 09:26:42 · 1667 阅读 · 0 评论 -
sql查询一个表不包含另一个表的数据,两种方法。
1、用minus函数的方式:select * from CMN_FUNDwhere FUND_CODE_ in (select FUND_CODE_ from CMN_FUND minus select FUND_CODE_ from CMN_PROMOTION_FUND where FUND_CODE_ in (select FUND_CODE_ from CMN_PROMOTION_...原创 2018-05-22 16:41:38 · 26536 阅读 · 0 评论 -
java封装公共参数,代码实例
在我们写需求过程中,经常会遇到在一个集合中,许多都是公共的参数,我们每次创建集合对象时,都得重新添加一遍,太麻烦了。怎么解决呢?其实我们可以把这些公共参数封装到集合对象里,这样在创建结合对象时,就不用再次进行添加了,因为对象里已经有这些参数了。例如,我们把这个channel参数封装到map里:public Map<String, Object> initMap(){ Map<S...原创 2018-05-24 11:36:58 · 3970 阅读 · 0 评论 -
mybatis实现多表联查
在大型的系统开发中,设计的表比较多,有时候会用一个条件实现多表联查,这时候用union all会方便很多: <!-- 获取撤单列表 --> <select id="queryList" parameterType="recallDealBean" resultType="hashmap"> select fs.APP_SNO_ as "oappSn...原创 2018-06-21 10:12:18 · 1857 阅读 · 0 评论 -
ajax异步请求的list集合,怎么循环添加到select下拉框中?
在jsp页面中,通过异步请求,返回的list集合,需要循环添加到select下拉框中,如下:$("#fundCode").change(function(){ var fundCode = $(this).val(); var financeAcc = $("#financeAcc2").val(); $.ajax({ url: "${pageContext.request.con...原创 2018-06-21 11:28:41 · 6689 阅读 · 4 评论 -
js控制输入框禁止输入和允许输入
初始,部分输入框禁止输入:$(document).ready(function(){ $("#fundCode").prop("disabled",true); $("#convertFundCode").prop("disabled",true); $("#allowtradeVol").prop("disabled",true); $("#appVol").原创 2018-06-07 11:35:20 · 8782 阅读 · 0 评论 -
spring的事物管理
spring将事务管理分为了两类: * 编程式事物管理: * 手动编写代码进行事务管理。(很少使用) * 声明式事务管理: * 基于TransactionProxyFactoryBean的方式。(很少使用) * 需要为每个进行事务管理的类,配置一个TransactionProxyFactoryBean进行增强。 ...原创 2018-09-21 08:45:56 · 88 阅读 · 0 评论 -
spring事物管理之声明式事务管理的xml配置
spring声明式事务管理:xml配置如下<!-- ================== 事务管理 ================== --> <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager...原创 2018-09-21 08:47:44 · 186 阅读 · 0 评论 -
select下拉框内容平铺设置
在select下拉框标签中加入:multiple="multiple"的属性,就可以不用下拉,直接把内容平铺显示。例如:这里有一个问题,就是会有“请选择”的一栏,那么这个时候,可以自定义option标签,去掉“请选择”这一栏目。例如:...原创 2018-05-14 14:27:37 · 2301 阅读 · 0 评论