学习
carefulThinker
这个作者很懒,什么都没留下…
展开
-
0到1的正则表达式
直接上代码public class RegexUtil { /** * 正整数 */ public final static String POSITIVE_INTEGER_REGEX = "[1-9]+[0-9]*"; /** * (0-1)的小数 * * @param str * @return */ public final static String NUMBER_BETWEEN_ZERO_原创 2020-05-20 20:40:15 · 4742 阅读 · 0 评论 -
EmbededChannel 单元测试
概述 前面的章节已经对 Netty 的各个组件进行了学习即使用。了解到 Netty 在使用的过程中,基本上所有的程序逻辑部分的主体都是在 ChannelHandler 中完成的,所以对 ChannelHandler 进行认真仔细的测试是很重要的一个环节了。那么,如何很好的测试 ChannelHandler 了?答案就是 EmbededChannel 。EmbededChannel Em...原创 2018-06-09 19:19:08 · 306 阅读 · 0 评论 -
任务调度
quartz调度转载:https://blog.csdn.net/yuebinghaoyuan/article/details/9045471springboot scheduler调度转载:https://www.cnblogs.com/slimer/p/6222485.html转载 2018-08-12 16:26:15 · 139 阅读 · 0 评论 -
springBoot-mail
参考:https://docs.spring.io/spring/docs/5.0.8.RELEASE/spring-framework-reference/integration.html#mail参考:https://blog.csdn.net/u011244202/article/details/54809696 邮箱授权码:[email protected]...原创 2018-08-16 21:37:03 · 239 阅读 · 0 评论 -
HashMap 深入学习
目录什么是 HashMap,有什么特点?目录什么是 HashMap,有什么特点?HashMap 的put、get 的工作原理是什么?JDK1.8源码中的 put 方法执行流程图put流程源码有几个关键点:1. 如何确定存储位置 index?2. 什么时候需要扩容?3. 扩容具体流程(resize)(https://www.jianshu.com/p/9e...原创 2018-10-19 16:11:17 · 127 阅读 · 0 评论 -
wireshark 使用
[Win10]Wireshark: There are no interfaces on which a capture can be done1.以管理员方式运行 cmd 命令行窗口2.输入 【net start npf】(npf 指南)3. 系统提示 The Npcap Packet Driver (NPF) service was started successfully.4...原创 2018-10-23 09:07:53 · 367 阅读 · 0 评论 -
java集合之 ArrayList
通过本文你将了解到 ArrayList 的如下信息目录ArrayList 简介ArrayList源码分析重要成员变量底层数据结构:数组默认初始容量:10当前元素个数重要方法add(E e): 添加一个元素grow(int minCapacity):扩容batchRemove(Collection c, boolean complement):保留或者删除...原创 2018-10-25 20:12:44 · 96 阅读 · 0 评论 -
记事本编写 java 代码与运行一些要点
1. 直接采用 java 命名运行的 .class 文件不能包含 package2. 可以通过 java -classpath xxx class类名 指定临时类环境变量且运行java程序3. javac 编译的 .java 文件的文件名必须和 类名保持一致...原创 2018-10-24 15:33:30 · 260 阅读 · 0 评论 -
Broken pipe vs Connection reset Exception
目录Broken pipe 和 Connection reset 什么情况下会发生? Broken pipe 和 Connection reset 什么情况下会发生?下面通过两个不同的客户端demo,以及一个服务端 demo 的验证结果来说明服务端demopackage com.study.hsyang.problems.brokenPipe;import java....原创 2018-10-24 20:46:14 · 587 阅读 · 0 评论 -
如何转载他人的博客
转载于:https://blog.csdn.net/bolu1234/article/details/51867099 作者:http://my.csdn.net/jiangping_zhu ...转载 2018-11-03 23:49:31 · 95 阅读 · 0 评论 -
Redis 有序集合(sorted set)
sorted set 增删改查:https://www.cnblogs.com/knowledgesea/p/4999288.htmlhttp://www.runoob.com/redis/redis-sorted-sets.html转载 2018-11-06 20:13:14 · 157 阅读 · 0 评论 -
Linux中find常见用法示例
转载:(https://www.cnblogs.com/yorkyang/p/6294894.html)Linux中find常见用法示例·find path -option [ -print ] [ -exec -ok comm转载 2018-12-08 13:25:23 · 139 阅读 · 0 评论 -
tomcat源码学习
目录Tomcat 整体概述收到 request 请求至 sevlet 的处理流程细节tomcat 包含三种 EndPointPoller 循环等待接收 Socket 请求,并送至 SocketProcessor 进行处理Socket处理器:SocketProcessor通过 Http11ConnectionHandler 来进一步处理 socket 在 Htt...原创 2018-12-23 21:01:25 · 1371 阅读 · 0 评论 -
eclipse项目有红叉 但里面没错 解决办法
概述 项目的这个感叹号一开始其实就是有的,但是由于我的项目可以正常运行所以就直接忽略了,尽管看着有些不习惯。可好景不长,在我重复开启关闭项目多次之后,卧槽,报了个相信大家都很熟悉的:找不到或无法加载主类。于是网上一顿搜索关于“找不到或无法加载主类”这个错误相关的解决办法,用了很长时间都无功而返,这玩意简直快把我搞疯了。 深吸一口气之后,望了望窗外灿烂夺目的阳光,以及随着微风微微摆动的树...原创 2018-06-24 17:56:33 · 27831 阅读 · 12 评论 -
SpringMvc 执行流程以及原理
参考:点击打开链接转载 2018-06-24 15:57:37 · 268 阅读 · 0 评论 -
Netty简介
Netty是什么? Netty是一款在网络编程领域的卓越框架,他封装了java高级API的能力,并且将其隐藏在一个易于使用的API之后,使得网络编程更加简单,从而让你有更多的时间去处理你需要真正关心的业务上的逻辑处理。Netty的特性? 设计:有一个统一的API,支持多种传输类型(阻塞的和非阻塞的),连接逻辑组件(ChannelHander中顺序处理消息)以及组件复用(一个ChannelHan...原创 2018-05-19 16:14:06 · 225 阅读 · 0 评论 -
Netty编写第一个服务端与客户端应用程序
服务端 所有的 Netty 服务器都需要以下两部分 至少有一个 ChannelHandler:该遵纪安实现了服务器对客户端接受的数据的处理逻辑,即业务逻辑 引导(ServerBootStrap):这是配置服务器的启动代码。它必须绑定到它要监听的服务器端口上面ChannelHandler 一个ChannelHandler类中至少应该包含以下三个...原创 2018-05-19 17:01:09 · 403 阅读 · 0 评论 -
第三章-Netty的组件和设计
主要内容 Channel、EventLoop 和 ChannelFuture ChannelHandler 和 ChannelPipeLine 引导(ServerBootStrap 和 BootStrap3.1 Channel、EventLoop 和 ChannelFuture 其实。这三个抽象接口组合在一起可以认为是 Netty 网络抽象的代表:...原创 2018-05-19 23:58:32 · 189 阅读 · 0 评论 -
第 4 章 传输
本节主要内容有以下几个方面OIO——阻塞传输NIO——异步传输Embedded——测试 ChannelHandler4.1 案例4.1.1 java 版本的OIO 和 NIO 代码后续不上4.1.2 Netty 版本的 OIO 和 NIO 代码后续不上4.2 传输 API 传输 API 的核心就是 Channel 接口,它被用于所有的 IO 操作。 每一个 Channel ...原创 2018-05-20 22:30:40 · 189 阅读 · 0 评论 -
第 5 章 ByteBuf
5.1 ByteBuf 的 API Netty 提供了两个组件:abstract class ByteBuf 和 interface ByteBufHolder 有以下一些优点 它可以被用户自定义的缓冲区类型扩展 通过内置的复合缓冲区类型实现了透明的零拷贝 容量按需增长 在和写这两种模式之间的切换不需要调用 ByteBuffer 的 flip()方法 读...原创 2018-05-26 16:26:45 · 170 阅读 · 0 评论 -
第 8 章
概述 在前面的章节中,分别对 Netty 的各个核心组件进行了详细的介绍。那么这些组件是如何协同起来一起工作,构建成为一个引用程序的了?答案就在于引导——简单说来,就是对 Netty 提供的各个核心组件进行配置,组合成为一个可以运行的应用程序。由于应用程序又有 客户端(client)和服务端(server)两种类型,所以 Netty 中提供了服务端引导(ServerBootStrap )和 ...原创 2018-06-02 23:15:38 · 109 阅读 · 0 评论 -
第 6 章 ChannelHandler 相关
概述 ChannelHandler 作为程序逻辑的核心部分,其地位是不可估量的。接下来我们将对它以及与它相关的一些组件进行详细的描述。 首先我们看一下如下这张图,对 ChannelHandler 相关组件之间的关系有一个比较直观的认识 从上图我们对 Channel 相关组件的关系有了一个大概的认识。接下我们对每一个进行详细说明6.2 ChannelPipeLine 对于每一...原创 2018-05-27 20:38:41 · 355 阅读 · 0 评论 -
Netty 问题——发送数据至远端失败
概述 在开发 Netty 学习中,遇到了这样一个问题:我通过 Netty 提供的发送数据的三种方式发送数据至远端,发送端没有抛出任何异常,但是远端就是没有收到数据。发送数据的的三种方式如下: channelHandlerContext.writeAndFlush("Netty test"); channel.writeAndFlush("Netty test"); chan...原创 2018-06-03 15:41:23 · 10844 阅读 · 3 评论 -
Netty 问题 —— 采用 IdlerStateHander 发送心跳不起作用
概述 在学习 Netty 的 IdlerStateHander 类的过程中,看到它实现的心跳功能在我们项目中正好需要用到,于是心里跃跃欲试。于是模仿书籍、网上的一些例子来自己来实现一个简单的心跳功能 ,感受一下。很快就写完了,和其他的案例如出一辙,于是激动的启动服务端,待服务端启动完毕后,立马又启动客户端。接着就是静悄悄地等待:读超时(我设定的是 5 秒)--->触发任务---->...原创 2018-06-03 17:02:52 · 1341 阅读 · 0 评论 -
Netty 源码分析:EventLoopGroup 和 EventLoop
SingleThreadEventExcutor:executor 是用来执行线程池中的所有的线程,也就是所有的NioEventLoopEventLoop是EventExecutor的子接口。NioEventLoop 类层次结构NioEventLoop 的类层次结构图还是比较复杂的, 不过我们只需要关注几个重要的点即可. 首先 NioEventLoop 的继承链如下:通常...转载 2018-05-30 23:37:54 · 180 阅读 · 0 评论 -
java-动态代理
什么是动态代理? 首先把动态代理这四个字做一个拆分:动态+代理。 动态性:代码在运行时,动态地修改一个类。 代理:你想吃上街买东西吃,但自己又不想出门。这时候,你灵机一动看见一旁闲着的弟弟,于是:“小弟,我给你5块,去帮我买个早餐ok?”;ok“”。你的弟弟就是你的代理。简单说来,帮别人做事的对象,就是一个代理。为什么会有动态代理? 先来个例子public class Us...原创 2018-06-23 20:14:52 · 139 阅读 · 0 评论 -
springboot 返回 jsp 页面 404 问题
概述 使用springboot 返回 jsp 页面的 demo 请自行百度,这里记录一下返回 jsp 报 404 可能原因1. 配置的问题:没有把对应的页面放到指定的目录下面spring.mvc.view.prefix=/WEB-INFO/page/spring.mvc.view.suffix=.jsp 若配置像上面所示,则应该把 x.jsp 页面放在下图所示位置2. Control...原创 2018-06-24 12:48:29 · 4136 阅读 · 0 评论 -
Netty核心组件
Netty的核心组件 Channel 回调 Future 事件 ChannelHandler 这些模块代表了不同的类型:资源(事件)、逻辑(ChannelHandler中包含各种处理逻辑)、通知(回调、Channel、Future)。应用程序通过这几个模块之间的组合就可以实现数据的流通Channel 通道,是 java NIO 的一个基本构造。可以把它看作是传入(入站)或者传出(出站...原创 2018-05-19 14:11:48 · 202 阅读 · 0 评论