自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不朽丶

最怕一生碌碌无为 , 还说平凡难能可贵.

  • 博客(20)
  • 资源 (14)
  • 收藏
  • 关注

原创 Netty+源码解析(九)_+connect+过程和+bind+过程分析

Netty 源码分析系列:Netty 源码解析(一): 开始Netty 源码解析(二): Netty 的 ChannelNetty 源码解析(三): Netty 的 Future 和 PromiseNetty 源码解析(四): Netty 的 ChannelPipelineNetty 源码解析(五): Netty 的线程池分析Netty 源码解析(六): Channel 的 register 操作Netty 源码解析(七): NioEventLoop 工作流程Netty 源码解析(八): 回

2022-01-25 10:12:17 164

原创 LeetCode算法常用Java API

集合在刷题中,各种数据结构是我们常常用到的,例如栈实现迭代、哈希存储键值对等等,我们来看看常用集合和相关api。类/接口描述方法String字符串charAt toCharArray split substring indexOf lastIndexOf replace lengthList列表add remove get size subListStack栈push pop peek isEmpty sizeQueue队列offer poll p

2021-10-12 03:00:00 665 1

转载 Spring IOC 容器源码分析

Spring 最重要的概念是 IOC 和 AOP,本篇文章其实就是要带领大家来分析下 Spring 的 IOC 容器。既然大家平时都要用到 Spring,怎么可以不好好了解 Spring 呢?阅读本文并不能让你成为 Spring 专家,不过一定有助于大家理解 Spring 的很多概念,帮助大家排查应用中和 Spring 相关的一些问题。本文采用的源码版本是 4.3.11.RELEASE,算是 5.0.x 前比较新的版本了。为了降低难度,本文所说的所有的内容都是基于 xml 的配置的方式,实际使用已经很少人

2021-07-14 14:32:00 83

原创 Java 八股文

一、Java 基础知识1、Object 类相关方法getClass 获取当前运行时对象的 Class 对象。hashCode 返回对象的 hash 码。clone 拷贝当前对象, 必须实现 Cloneable 接口。浅拷贝对基本类型进行值拷贝,对引用类型拷贝引用;深拷贝对基本类型进行值拷贝,对引用类型对象不但拷贝对象的引用还拷贝对象的相关属性和方法。两者不同在于深拷贝创建了一个新的对象。equals 通过内存地址比较两个对象是否相等,String 类重写了这个方法使用值来比较是否相等。toSt

2021-05-10 22:45:50 373

转载 Netty+源码解析系列

我将原来的文章拆分为了以下九篇文章,基本上每篇都很短,很快就可以看完一篇了。希望大家不要再将该文章放到收藏夹了,从现在开始阅读吧。当前 => Netty 源码解析(一): 开始Netty 源码解析(二): Netty 的 ChannelNetty 源码解析(三): Netty 的 Future 和 PromiseNetty 源码解析(四): Netty 的 ChannelPipelineNetty 源码解析(五): Netty 的线程池分析Netty 源码解析(六): Channel 的

2020-09-19 13:11:55 204 1

原创 netty 堆外内存泄露排查盛宴

这篇文章对于排查使用了 netty 引发的堆外内存泄露问题,有一定的通用性,希望对你有所启发背景最近在做一个基于 websocket 的长连中间件,服务端使用实现了 socket.io 协议(基于websocket协议,提供长轮询降级能力) 的 netty-socketio 框架,该框架为 netty 实现,鉴于本人对 netty 比较熟,并且对比同样实现了 socket.io 协议的其他...

2018-09-04 06:51:39 35

原创 小闪对话:微信长连系统的设计(一)

什么?聊个天就把技术给学了?imageimageimageimageimageimageimageimage聊天结束之后,博士露出了猥琐的笑容,心里想:这小子过段时间还会来找我的:一个公网IP怎么够呢,得上负载均衡呀;长连集群模式下又是如何实现单聊群聊;如何做到平滑重启长连服务器;如何把IM抽取出...

2018-08-03 07:34:35 33

原创 《跟闪电侠学Netty》开篇:Netty是什么?

在开始了解Netty是什么之前,我们先来回顾一下,如果我们需要实现一个客户端与服务端通信的程序,使用传统的IO编程,应该如何来实现?IO编程我们简化下场景:客户端每隔两秒发送一个带有时间戳的"hello world"给服务端,服务端收到之后打印。为了方便演示,下面例子中,服务端和客户端各一个类,把这两个类拷贝到你的IDE中,先后运行 IOServer.java 和IOClient.java可...

2018-06-18 15:56:05 25

原创 IntelliJ IDEA 2018.1正式发布

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码的阅读,为什么不试一试?总以为jetbrains已经将IntelliJ IDEA优化到极致,前几天刚发版的2018.1再次让人眼前一亮:什么,还能这么玩?下面,我们来快速了解一下 IDEA 2018.1 最新版本给我们带来哪些惊喜1.java stream代码自动生成更加智能流api代码自动生成IDEA对...

2018-03-31 22:28:35 43

原创 mac下编译openjdk1.9及集成clion动态调试

晚上被小伙伴问道如何使用ide进行jvm源码的调试,刚好前段时间花了点时间折腾了一下,mac最新版本下jvm9顺利编译通过,并且可以完美集成clion进行调试(支持windows),下面记录一下全过程,如果想看效果的话,可以直接拉到集成到clion进行调试小节末尾mac下openjdk源码编译过程准备编译环境准备我的mac的版本如下image.png由于openjdk1.9之前...

2017-12-27 13:28:36 62

原创 netty源码分析之writeAndFlush全解析

前言在前面的文章中,我们已经详细阐述了事件和异常传播在netty中的实现,(netty源码分析之pipeline(一),netty源码分析之pipeline(二)),其中有一类事件我们在实际编码中用得最多,那就是 write或者writeAndFlush,也就是我们今天的主要内容主要内容本文分以下几个部分阐述一个java对象最后是如何转变成字节流,写到socket缓冲区中去的pipeli...

2017-01-09 06:17:48 22

原创 netty源码分析之pipeline(二)

前言netty源码分析之pipeline(一)中,我们已经了解了pipeline在netty中所处的角色,像是一条流水线,控制着字节流的读写,本文,我们在这个基础上继续深挖pipeline在事件传播,异常传播等方面的细节主要内容接下来,本文分以下几个部分进行netty中的Unsafe到底是干什么的pipeline中的headpipeline中的inBound事件传播pipeline...

2017-01-03 08:47:28 22

原创 netty源码分析之pipeline(一)

通过前面的源码系列文章中的netty reactor线程三部曲,我们已经知道,netty的reactor线程就像是一个发动机,驱动着整个netty框架的运行,而服务端的绑定和新连接的建立正是发动机的导火线,将发动机点燃netty在服务端端口绑定和新连接建立的过程中会建立相应的channel,而与channel的动作密切相关的是pipeline这个概念,pipeline像是可以看作是一条流水线...

2016-12-26 06:59:14 14

原创 netty源码分析之新连接接入全解析

本文收获通读本文,你会了解到1.netty如何接受新的请求2.netty如何给新请求分配reactor线程3.netty如何给每个新连接增加ChannelHandler其实,远不止这些~前序背景读这篇文章之前,最好掌握一些前序知识,包括netty中的reactor线程,以及服务端启动过程下面我带你简单地回顾一下1.netty中的reactor线程netty中最核心的东西莫过于两...

2016-12-19 06:56:45 15

原创 netty源码分析之服务端启动全解析

backgroundnetty 是一个异步事件驱动的网络通信层框架,其官方文档的解释为Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. It greatly s...

2016-12-10 20:38:22 24

原创 netty源码分析之揭开reactor线程的面纱(三)

上两篇博文(netty源码分析之揭开reactor线程的面纱(一),netty源码分析之揭开reactor线程的面纱(二))已经描述了netty的reactor线程前两个步骤所处理的工作,在这里,我们用这张图片来回顾一下:reactor线程三部曲简单总结一下reactor线程三部曲轮询出IO事件处理IO事件处理任务队列今天,我们要进行的是三部曲中的最后一曲【处理任务队列】...

2016-12-05 07:10:55 22

原创 netty源码分析之揭开reactor线程的面纱(二)

如果你对netty的reactor线程不了解,建议先看下上一篇文章netty源码分析之揭开reactor线程的面纱(一),这里再把reactor中的三个步骤的图贴一下reactor线程我们已经了解到netty reactor线程的第一步是轮询出注册在selector上面的IO事件(select),那么接下来就要处理这些IO事件(process selected keys),本篇文章我...

2016-11-28 07:08:48 29

原创 netty源码分析之揭开reactor线程的面纱(一)

netty最核心的就是reactor线程,对应项目中使用广泛的NioEventLoop,那么NioEventLoop里面到底在干些什么事?netty是如何保证事件循环的高效轮询和任务的及时执行?又是如何来优雅地fix掉jdk的nio bug?带着这些疑问,本篇文章将庖丁解牛,带你逐步了解netty reactor线程的真相[源码基于4.1.6.Final]reactor 线程的启动NioEve...

2016-11-20 12:47:38 21

原创 netty源码分析之nio线程个数以及线程命名规则

概述netty是一个以高性能著称的网络通信框架,许多开源项目都使用了netty作为底层网络通信框架,如avro,dubbo,nats;本文将从源码的角度讲述netty在确定线程个数方面如何保证应用程序性能最优,源码基于netty-4.1.6.Final线程个数在何时达到最优我们知道,在一个应用中,如果cpu计算的时间为Tcpu,io操作的时间为Tio,系统的cpu核数为Ncpu,线程个数为N...

2016-11-13 22:41:48 40

原创 一次netty"引发的"诡异old gc问题排查过程

应用:新美大push服务-长连通道sailfish日推送消息:180亿QPS峰值: 35W最大实时在线用户:2200Wpush服务简单结构为客户端sdk<=>长连通道<=>pushServer1.客户端sdk: 负责提供客户客户端收发push的api2.长连通道:负责维持海量客户端连接3.pushServer:负责给业务方提供收发push的rpc...

2016-09-11 14:51:45 50

data-structure-visualizations.zip

数据结构可视化(中英文):https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

2020-12-30

markdown 编辑器

基于codemirror marked 自己diy 的一个markdown 编辑器。 已实现粘贴、拖拽上传,更多功能下载体验吧

2020-07-02

LogView.rar

log viewer是一款比较轻量型的日志查看工具,它能够处理4G以上的日志文件, 查看大日志文件毫无压力。

2020-06-18

基于canvas背景动画后台登录页面

html5基于canvas制作酷炫带背景动画的后台登录页面模板下载。

2019-03-22

google protobuf 生成

google protobuf 是一款序列化工具,可跨平台使用,里面包含了一个java js生成实例,欢迎下载。

2019-01-16

quartz/Cron/Crontab表达式在线生成工具

纯html+css 在线生成 cron表达式,最近5次运行时间接口采用:http://www.bejson.com的API. 欢迎下载使用。可以运用到自己的定时任务系统中。

2019-01-02

java-ffmpegjave amr转mp3

java-ffmpegjave 是一款java amr转换为mp3格式的工具类,里面内含转换demo,需要的欢迎下载。

2018-06-20

Postman接口请求工具

这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!是web开发必备神器。

2018-06-20

TCP&UDP;测试工具

主要用于tcp 或udp连接服务器测试的,工具里面也可以起一个服务端进行测试。

2018-06-20

移动端在线聊天HTML效果

该demo是用html+css+js纯手工打造,移动端效果杠杠的。

2018-02-05

amr格式转mp3,AMR Player 工具

AMR Player是一种应用程序使用户能够转换AMR文件。使用AMR播放器非常简单,点击“添加文件”按钮在主界面中,选择之一“amr”文件,然后点击“播放”按钮,该公司播放器可以解码的AMR音频文件,然后播放音频/音乐为你。如果你想AMR转换成MP3格式,只需选择一个AMR文件,你增加了,点击“ AMR到MP3 ” ,输入一个MP3文件名称,免费程序可以转换您的AMR文件一次。

2018-01-23

mobiscroll 移动端日期插件,switchery 开关插件

mobiscroll是个很好用的jquery日期插件,它可以实现在移动端滚动选择日期,资源里面有本人写的几个mobiscroll 使用实例可以很方便的集成到项目里面,资料里面附带了一个switchery 开关插件 也有使用的实例,欢迎下载使用。

2018-01-23

portobuf 工具

Google Protocol Buffer(简称 Protobuf)是一种轻便高效的结构化数据存储格式,平台无关、语言无关、可扩展,可用于通讯协议和数据存储等领域。可以生成js,java及其他语言的实体类

2018-01-23

带回放,快进,的html播放器

html带回放的播放视频的js代码。有兴趣的可以下载研究。

2017-07-25

空空如也

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

TA关注的人

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