自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 4740

转载 Redis哨兵(Sentinel)模式

https://www.jianshu.com/p/06ab9daf921d

2019-07-19 11:34:48 149

转载 堆内存分析

参考:https://www.cnblogs.com/duanxz/p/8510623.html

2019-05-06 10:18:40 367

转载 分析 java 占用 cpu 过高的原因以及 java ScheduledThreadPoolExecutor bug 介绍

参考:https://blog.csdn.net/Dancen/article/details/82968821

2019-04-24 11:35:26 666

原创 用 java 实现一个简单的 rpc 框架

 目录概述实现关键点公共接口序列化 consumer 端待传输的方法信息通信方式反射概述RPC(Remote Procedure Call),顾名思义,指的是远程过程(方法)调用,与之相对应的就是本地方法调用。本地方法调用放到具体的代码中,可以理解为,被调用方(producer)和调用方(consumer)在同一个项目当中远程方法调用放到...

2019-01-03 18:38:48 256 1

原创 tomcat源码学习

 目录Tomcat 整体概述收到 request 请求至 sevlet 的处理流程细节tomcat 包含三种 EndPointPoller  循环等待接收 Socket 请求,并送至 SocketProcessor  进行处理Socket处理器:SocketProcessor通过 Http11ConnectionHandler 来进一步处理 socket 在 Htt...

2018-12-23 21:01:25 1369

转载 Linux下查看进程打开的文件句柄数

源地址:(https://blog.csdn.net/bolg_hero/article/details/77622616) ----查看当前进程打开了多少句柄数#其中按进程统计句柄数 第一列是打开的句柄数,第二列是进程ID。lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr#其中按句柄类型统...

2018-12-10 14:20:41 1978

转载 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

转载 SimpleDateFormat线程不安全导致的问题

转载线程安全日期格式化操作的几种方式由于 DateFormat 是非线程安全的,因此在多线程并发情况下日期格式化时需要特别注意。下面记录几种格式化的方式:线程不安全的处理方式private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//线程不安全这种方式会报如下异常:...

2018-11-16 11:18:19 274

转载 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

转载 eclipse导入tomcat7 源码,并运行

转载https://blog.csdn.net/Rongbo_J/article/details/50446262第一步:获取Apache Tomcat7源码,读者可以从Apache 官方网站获取,官方下载地址: http://tomcat.apache.org/download-70.cgi 注意选择Source Code Distributions下方的链接进行源码下载。 第二步:...

2018-11-05 23:22:39 284

转载 CAS、AQS详谈

作者https://blog.csdn.net/u010862794/article/details/72892300 版权声明:本文为博主原创文章,转载请注明出处 http://blog.vioao.me/ https://blog.csdn.net/u010862794/article/details/72892300 ...

2018-11-04 00:00:21 88

转载 如何转载他人的博客

转载于:https://blog.csdn.net/bolu1234/article/details/51867099 作者:http://my.csdn.net/jiangping_zhu ...

2018-11-03 23:49:31 95

转载 CAS、AQS简介

参考:https://blog.csdn.net/u010862794/article/details/72892300https://www.jianshu.com/p/fb6e91b013cc

2018-11-03 23:35:23 126

原创 java集合之LinkedList

目录LinkedList概述简介类图LinkedList数据结构LinkedList核心源码解读(JDK1.8)重要内部类重要成员变量构造方法添加元素删除元素修改元素查找其他常用方法遍历方式通过 Iterator 逐个遍历通过 for 循环遍历通过增强 for 循环遍历耗时测试代码总结LinkedList概述简...

2018-11-02 14:39:00 138

原创 java集合之 ArrayList

通过本文你将了解到 ArrayList 的如下信息目录ArrayList 简介ArrayList源码分析重要成员变量底层数据结构:数组默认初始容量:10当前元素个数重要方法add(E e): 添加一个元素grow(int minCapacity):扩容batchRemove(Collection c, boolean complement):保留或者删除...

2018-10-25 20:12:44 96

原创 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 586

原创 记事本编写 java 代码与运行一些要点

1. 直接采用 java 命名运行的 .class 文件不能包含 package2. 可以通过 java -classpath xxx class类名 指定临时类环境变量且运行java程序3. javac 编译的 .java 文件的文件名必须和 类名保持一致...

2018-10-24 15:33:30 259

原创 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 364

原创 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

原创 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

转载 任务调度

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

原创 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 124

原创 eclipse项目有红叉 但里面没错 解决办法

概述    项目的这个感叹号一开始其实就是有的,但是由于我的项目可以正常运行所以就直接忽略了,尽管看着有些不习惯。可好景不长,在我重复开启关闭项目多次之后,卧槽,报了个相信大家都很熟悉的:找不到或无法加载主类。于是网上一顿搜索关于“找不到或无法加载主类”这个错误相关的解决办法,用了很长时间都无功而返,这玩意简直快把我搞疯了。    深吸一口气之后,望了望窗外灿烂夺目的阳光,以及随着微风微微摆动的树...

2018-06-24 17:56:33 27831 12

转载 SpringMvc 执行流程以及原理

参考:点击打开链接

2018-06-24 15:57:37 268

原创 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 4135

原创 java-动态代理

什么是动态代理?    首先把动态代理这四个字做一个拆分:动态+代理。    动态性:代码在运行时,动态地修改一个类。    代理:你想吃上街买东西吃,但自己又不想出门。这时候,你灵机一动看见一旁闲着的弟弟,于是:“小弟,我给你5块,去帮我买个早餐ok?”;ok“”。你的弟弟就是你的代理。简单说来,帮别人做事的对象,就是一个代理。为什么会有动态代理?    先来个例子public class Us...

2018-06-23 20:14:52 139

原创 EmbededChannel 单元测试

概述    前面的章节已经对 Netty 的各个组件进行了学习即使用。了解到 Netty 在使用的过程中,基本上所有的程序逻辑部分的主体都是在 ChannelHandler 中完成的,所以对 ChannelHandler 进行认真仔细的测试是很重要的一个环节了。那么,如何很好的测试 ChannelHandler 了?答案就是 EmbededChannel 。EmbededChannel    Em...

2018-06-09 19:19:08 306

原创 Netty 问题 —— 采用 IdlerStateHander 发送心跳不起作用

概述    在学习 Netty 的 IdlerStateHander 类的过程中,看到它实现的心跳功能在我们项目中正好需要用到,于是心里跃跃欲试。于是模仿书籍、网上的一些例子来自己来实现一个简单的心跳功能 ,感受一下。很快就写完了,和其他的案例如出一辙,于是激动的启动服务端,待服务端启动完毕后,立马又启动客户端。接着就是静悄悄地等待:读超时(我设定的是 5 秒)--->触发任务----&gt...

2018-06-03 17:02:52 1339

原创 Netty 问题——发送数据至远端失败

概述    在开发 Netty 学习中,遇到了这样一个问题:我通过 Netty 提供的发送数据的三种方式发送数据至远端,发送端没有抛出任何异常,但是远端就是没有收到数据。发送数据的的三种方式如下:    channelHandlerContext.writeAndFlush("Netty test");    channel.writeAndFlush("Netty test");    chan...

2018-06-03 15:41:23 10835 3

原创 第 8 章

概述    在前面的章节中,分别对 Netty 的各个核心组件进行了详细的介绍。那么这些组件是如何协同起来一起工作,构建成为一个引用程序的了?答案就在于引导——简单说来,就是对 Netty 提供的各个核心组件进行配置,组合成为一个可以运行的应用程序。由于应用程序又有 客户端(client)和服务端(server)两种类型,所以 Netty 中提供了服务端引导(ServerBootStrap )和 ...

2018-06-02 23:15:38 109

转载 Netty 源码分析:EventLoopGroup 和 EventLoop

SingleThreadEventExcutor:executor 是用来执行线程池中的所有的线程,也就是所有的NioEventLoopEventLoop是EventExecutor的子接口。NioEventLoop 类层次结构NioEventLoop 的类层次结构图还是比较复杂的, 不过我们只需要关注几个重要的点即可. 首先 NioEventLoop 的继承链如下:通常...

2018-05-30 23:37:54 179

原创 第 6 章 ChannelHandler 相关

概述    ChannelHandler 作为程序逻辑的核心部分,其地位是不可估量的。接下来我们将对它以及与它相关的一些组件进行详细的描述。    首先我们看一下如下这张图,对 ChannelHandler 相关组件之间的关系有一个比较直观的认识    从上图我们对 Channel 相关组件的关系有了一个大概的认识。接下我们对每一个进行详细说明6.2 ChannelPipeLine    对于每一...

2018-05-27 20:38:41 355

原创 第 5 章 ByteBuf

5.1 ByteBuf 的 API    Netty 提供了两个组件:abstract class  ByteBuf 和 interface ByteBufHolder    有以下一些优点    它可以被用户自定义的缓冲区类型扩展    通过内置的复合缓冲区类型实现了透明的零拷贝    容量按需增长    在和写这两种模式之间的切换不需要调用 ByteBuffer 的 flip()方法    读...

2018-05-26 16:26:45 170

原创 第 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 188

转载 Java NIO

深入浅出NIO之Channel、Buffer转自:点击打开链接深入浅出NIO之Selector实现原理转自:点击打开链接

2018-05-20 14:46:15 102

原创 第三章-Netty的组件和设计

主要内容 Channel、EventLoop 和 ChannelFuture ChannelHandler 和 ChannelPipeLine 引导(ServerBootStrap 和 BootStrap3.1 Channel、EventLoop 和 ChannelFuture 其实。这三个抽象接口组合在一起可以认为是 Netty 网络抽象的代表:...

2018-05-19 23:58:32 189

原创 Netty编写第一个服务端与客户端应用程序

服务端        所有的 Netty 服务器都需要以下两部分        至少有一个 ChannelHandler:该遵纪安实现了服务器对客户端接受的数据的处理逻辑,即业务逻辑        引导(ServerBootStrap):这是配置服务器的启动代码。它必须绑定到它要监听的服务器端口上面ChannelHandler        一个ChannelHandler类中至少应该包含以下三个...

2018-05-19 17:01:09 403

原创 Netty简介

Netty是什么?  Netty是一款在网络编程领域的卓越框架,他封装了java高级API的能力,并且将其隐藏在一个易于使用的API之后,使得网络编程更加简单,从而让你有更多的时间去处理你需要真正关心的业务上的逻辑处理。Netty的特性?  设计:有一个统一的API,支持多种传输类型(阻塞的和非阻塞的),连接逻辑组件(ChannelHander中顺序处理消息)以及组件复用(一个ChannelHan...

2018-05-19 16:14:06 225

原创 Netty核心组件

Netty的核心组件  Channel  回调  Future  事件  ChannelHandler  这些模块代表了不同的类型:资源(事件)、逻辑(ChannelHandler中包含各种处理逻辑)、通知(回调、Channel、Future)。应用程序通过这几个模块之间的组合就可以实现数据的流通Channel  通道,是 java NIO 的一个基本构造。可以把它看作是传入(入站)或者传出(出站...

2018-05-19 14:11:48 202

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除