- 博客(40)
- 问答 (3)
- 收藏
- 关注
原创 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
4921
转载 分析 java 占用 cpu 过高的原因以及 java ScheduledThreadPoolExecutor bug 介绍
参考:https://blog.youkuaiyun.com/Dancen/article/details/82968821
2019-04-24 11:35:26
766
原创 用 java 实现一个简单的 rpc 框架
目录概述实现关键点公共接口序列化 consumer 端待传输的方法信息通信方式反射概述RPC(Remote Procedure Call),顾名思义,指的是远程过程(方法)调用,与之相对应的就是本地方法调用。本地方法调用放到具体的代码中,可以理解为,被调用方(producer)和调用方(consumer)在同一个项目当中远程方法调用放到...
2019-01-03 18:38:48
309
1
原创 tomcat源码学习
目录Tomcat 整体概述收到 request 请求至 sevlet 的处理流程细节tomcat 包含三种 EndPointPoller 循环等待接收 Socket 请求,并送至 SocketProcessor 进行处理Socket处理器:SocketProcessor通过 Http11ConnectionHandler 来进一步处理 socket 在 Htt...
2018-12-23 21:01:25
1430
转载 Linux下查看进程打开的文件句柄数
源地址:(https://blog.youkuaiyun.com/bolg_hero/article/details/77622616) ----查看当前进程打开了多少句柄数#其中按进程统计句柄数 第一列是打开的句柄数,第二列是进程ID。lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr#其中按句柄类型统...
2018-12-10 14:20:41
2069
转载 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
174
转载 SimpleDateFormat线程不安全导致的问题
转载线程安全日期格式化操作的几种方式由于 DateFormat 是非线程安全的,因此在多线程并发情况下日期格式化时需要特别注意。下面记录几种格式化的方式:线程不安全的处理方式private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//线程不安全这种方式会报如下异常:...
2018-11-16 11:18:19
313
转载 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
204
转载 eclipse导入tomcat7 源码,并运行
转载https://blog.youkuaiyun.com/Rongbo_J/article/details/50446262第一步:获取Apache Tomcat7源码,读者可以从Apache 官方网站获取,官方下载地址: http://tomcat.apache.org/download-70.cgi 注意选择Source Code Distributions下方的链接进行源码下载。 第二步:...
2018-11-05 23:22:39
314
转载 CAS、AQS详谈
作者https://blog.youkuaiyun.com/u010862794/article/details/72892300 版权声明:本文为博主原创文章,转载请注明出处 http://blog.vioao.me/ https://blog.youkuaiyun.com/u010862794/article/details/72892300 ...
2018-11-04 00:00:21
125
转载 如何转载他人的博客
转载于:https://blog.youkuaiyun.com/bolu1234/article/details/51867099 作者:http://my.youkuaiyun.com/jiangping_zhu ...
2018-11-03 23:49:31
132
转载 CAS、AQS简介
参考:https://blog.youkuaiyun.com/u010862794/article/details/72892300https://www.jianshu.com/p/fb6e91b013cc
2018-11-03 23:35:23
156
原创 java集合之LinkedList
目录LinkedList概述简介类图LinkedList数据结构LinkedList核心源码解读(JDK1.8)重要内部类重要成员变量构造方法添加元素删除元素修改元素查找其他常用方法遍历方式通过 Iterator 逐个遍历通过 for 循环遍历通过增强 for 循环遍历耗时测试代码总结LinkedList概述简...
2018-11-02 14:39:00
173
原创 java集合之 ArrayList
通过本文你将了解到 ArrayList 的如下信息目录ArrayList 简介ArrayList源码分析重要成员变量底层数据结构:数组默认初始容量:10当前元素个数重要方法add(E e): 添加一个元素grow(int minCapacity):扩容batchRemove(Collection c, boolean complement):保留或者删除...
2018-10-25 20:12:44
133
原创 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
664
原创 记事本编写 java 代码与运行一些要点
1. 直接采用 java 命名运行的 .class 文件不能包含 package2. 可以通过 java -classpath xxx class类名 指定临时类环境变量且运行java程序3. javac 编译的 .java 文件的文件名必须和 类名保持一致...
2018-10-24 15:33:30
300
原创 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
477
原创 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
153
原创 springBoot-mail
参考:https://docs.spring.io/spring/docs/5.0.8.RELEASE/spring-framework-reference/integration.html#mail参考:https://blog.youkuaiyun.com/u011244202/article/details/54809696 邮箱授权码:1296997148@qq.comkpikwe...
2018-08-16 21:37:03
281
转载 任务调度
quartz调度转载:https://blog.youkuaiyun.com/yuebinghaoyuan/article/details/9045471springboot scheduler调度转载:https://www.cnblogs.com/slimer/p/6222485.html
2018-08-12 16:26:15
174
原创 AES 加解密
AES is a 128-bit block cipher supporting keys of 128, 192, and 256 bits. 不要被一些在线测试工具给忽悠了。参考:原理浅析:https://www.sohu.com/a/201169795_466846块大小:https://stackoverflow.com/questions/15434802/how-to...
2018-07-29 23:28:16
165
原创 eclipse项目有红叉 但里面没错 解决办法
概述 项目的这个感叹号一开始其实就是有的,但是由于我的项目可以正常运行所以就直接忽略了,尽管看着有些不习惯。可好景不长,在我重复开启关闭项目多次之后,卧槽,报了个相信大家都很熟悉的:找不到或无法加载主类。于是网上一顿搜索关于“找不到或无法加载主类”这个错误相关的解决办法,用了很长时间都无功而返,这玩意简直快把我搞疯了。 深吸一口气之后,望了望窗外灿烂夺目的阳光,以及随着微风微微摆动的树...
2018-06-24 17:56:33
27917
12
原创 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
4228
原创 java-动态代理
什么是动态代理? 首先把动态代理这四个字做一个拆分:动态+代理。 动态性:代码在运行时,动态地修改一个类。 代理:你想吃上街买东西吃,但自己又不想出门。这时候,你灵机一动看见一旁闲着的弟弟,于是:“小弟,我给你5块,去帮我买个早餐ok?”;ok“”。你的弟弟就是你的代理。简单说来,帮别人做事的对象,就是一个代理。为什么会有动态代理? 先来个例子public class Us...
2018-06-23 20:14:52
166
原创 EmbededChannel 单元测试
概述 前面的章节已经对 Netty 的各个组件进行了学习即使用。了解到 Netty 在使用的过程中,基本上所有的程序逻辑部分的主体都是在 ChannelHandler 中完成的,所以对 ChannelHandler 进行认真仔细的测试是很重要的一个环节了。那么,如何很好的测试 ChannelHandler 了?答案就是 EmbededChannel 。EmbededChannel Em...
2018-06-09 19:19:08
365
原创 Netty 问题 —— 采用 IdlerStateHander 发送心跳不起作用
概述 在学习 Netty 的 IdlerStateHander 类的过程中,看到它实现的心跳功能在我们项目中正好需要用到,于是心里跃跃欲试。于是模仿书籍、网上的一些例子来自己来实现一个简单的心跳功能 ,感受一下。很快就写完了,和其他的案例如出一辙,于是激动的启动服务端,待服务端启动完毕后,立马又启动客户端。接着就是静悄悄地等待:读超时(我设定的是 5 秒)--->触发任务---->...
2018-06-03 17:02:52
1502
原创 Netty 问题——发送数据至远端失败
概述 在开发 Netty 学习中,遇到了这样一个问题:我通过 Netty 提供的发送数据的三种方式发送数据至远端,发送端没有抛出任何异常,但是远端就是没有收到数据。发送数据的的三种方式如下: channelHandlerContext.writeAndFlush("Netty test"); channel.writeAndFlush("Netty test"); chan...
2018-06-03 15:41:23
11284
3
原创 第 8 章
概述 在前面的章节中,分别对 Netty 的各个核心组件进行了详细的介绍。那么这些组件是如何协同起来一起工作,构建成为一个引用程序的了?答案就在于引导——简单说来,就是对 Netty 提供的各个核心组件进行配置,组合成为一个可以运行的应用程序。由于应用程序又有 客户端(client)和服务端(server)两种类型,所以 Netty 中提供了服务端引导(ServerBootStrap )和 ...
2018-06-02 23:15:38
140
转载 Netty 源码分析:EventLoopGroup 和 EventLoop
SingleThreadEventExcutor:executor 是用来执行线程池中的所有的线程,也就是所有的NioEventLoopEventLoop是EventExecutor的子接口。NioEventLoop 类层次结构NioEventLoop 的类层次结构图还是比较复杂的, 不过我们只需要关注几个重要的点即可. 首先 NioEventLoop 的继承链如下:通常...
2018-05-30 23:37:54
283
原创 第 6 章 ChannelHandler 相关
概述 ChannelHandler 作为程序逻辑的核心部分,其地位是不可估量的。接下来我们将对它以及与它相关的一些组件进行详细的描述。 首先我们看一下如下这张图,对 ChannelHandler 相关组件之间的关系有一个比较直观的认识 从上图我们对 Channel 相关组件的关系有了一个大概的认识。接下我们对每一个进行详细说明6.2 ChannelPipeLine 对于每一...
2018-05-27 20:38:41
390
原创 第 5 章 ByteBuf
5.1 ByteBuf 的 API Netty 提供了两个组件:abstract class ByteBuf 和 interface ByteBufHolder 有以下一些优点 它可以被用户自定义的缓冲区类型扩展 通过内置的复合缓冲区类型实现了透明的零拷贝 容量按需增长 在和写这两种模式之间的切换不需要调用 ByteBuffer 的 flip()方法 读...
2018-05-26 16:26:45
204
原创 第 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
226
原创 第三章-Netty的组件和设计
主要内容 Channel、EventLoop 和 ChannelFuture ChannelHandler 和 ChannelPipeLine 引导(ServerBootStrap 和 BootStrap3.1 Channel、EventLoop 和 ChannelFuture 其实。这三个抽象接口组合在一起可以认为是 Netty 网络抽象的代表:...
2018-05-19 23:58:32
225
原创 Netty编写第一个服务端与客户端应用程序
服务端 所有的 Netty 服务器都需要以下两部分 至少有一个 ChannelHandler:该遵纪安实现了服务器对客户端接受的数据的处理逻辑,即业务逻辑 引导(ServerBootStrap):这是配置服务器的启动代码。它必须绑定到它要监听的服务器端口上面ChannelHandler 一个ChannelHandler类中至少应该包含以下三个...
2018-05-19 17:01:09
443
原创 Netty简介
Netty是什么? Netty是一款在网络编程领域的卓越框架,他封装了java高级API的能力,并且将其隐藏在一个易于使用的API之后,使得网络编程更加简单,从而让你有更多的时间去处理你需要真正关心的业务上的逻辑处理。Netty的特性? 设计:有一个统一的API,支持多种传输类型(阻塞的和非阻塞的),连接逻辑组件(ChannelHander中顺序处理消息)以及组件复用(一个ChannelHan...
2018-05-19 16:14:06
250
原创 Netty核心组件
Netty的核心组件 Channel 回调 Future 事件 ChannelHandler 这些模块代表了不同的类型:资源(事件)、逻辑(ChannelHandler中包含各种处理逻辑)、通知(回调、Channel、Future)。应用程序通过这几个模块之间的组合就可以实现数据的流通Channel 通道,是 java NIO 的一个基本构造。可以把它看作是传入(入站)或者传出(出站...
2018-05-19 14:11:48
257
空空如也
c# 的winform界面中的RichTextBox控件相关
2017-05-15
大神求解! 表情显示怎么实现啊!
2015-12-17
NumberFormatException错误让我很头痛
2015-11-12
TA创建的收藏夹 TA关注的收藏夹
TA关注的人