黑夜下雨
码龄7年
关注
提问 私信
  • 博客:17,057
    社区:2,645
    动态:2
    19,704
    总访问量
  • 13
    原创
  • 1,210,567
    排名
  • 1
    粉丝
  • 0
    铁粉

个人简介:快乐无处不在

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2018-03-07
博客简介:

qq_41800087的博客

查看详细资料
个人成就
  • 获得2次点赞
  • 内容获得2次评论
  • 获得31次收藏
创作历程
  • 2篇
    2021年
  • 16篇
    2019年
成就勋章
TA的专栏
  • java
    4篇
  • netty
    2篇
  • 算法
    2篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

342人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

netty启动过程

netty服务端启动流程Demo代码一、EventLoop的创建二、启动Demo代码下面是一个简单的EchoServer public void start() throws InterruptedException { final EchoServerChildHandler serverChildHandler=new EchoServerChildHandler(); EventLoopGroup boss=new NioEventLoo
原创
发布博客 2021.02.28 ·
324 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

netty基本组件

netty基本组件EventLoopEventLoopGroupChannelchannelHandlerBootStrapEventLoopEventLoop是处理事件的一个单位,可以处理连接请求、写请求和读请求。一个EventLoop在创建时会绑定一个SelectorProvider,后续Selector通过这个provider来创建,不同平台的provider不一样,selector也不同。一个EventLoop在创建时会绑定一个Selector,后续的事件会注册到这个Selector上。
原创
发布博客 2021.02.21 ·
200 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

线程池如何实现重复使用线程

1.在分析线程池原理之前,理解线程的创建和销毁是必要前提。java 提供的新建线程方式有 new Thread(); 但是并不表示创建了一个线程,线程的创建需要向内核系统申请。当调用了Thread的start()方法,才会向系统申请线程。下面是Thread类start()方法的源码,注意start0()方法,是个native方法通过start0()来申请创建新的线程。 ...
原创
发布博客 2019.12.15 ·
1889 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

加权随机算法

//待随机类class Temp{ //名字 String name; //权重 double wight; public Temp(String name,double wight){ this.name=name; this.wight=wight; } public double get() { ...
原创
发布博客 2019.12.07 ·
1407 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

HeadFirst设计模式(中文版).rar

发布资源 2019.07.25 ·
rar

以http方式 git clone 报错 HTTP Basic: Access denied fatal: Authentication failed

在从gitlab上克隆代码时遇到认证问题,遇到下面两个错误 fatal: unable to access 'http://*******************/': The requested URL returned error: 500HTTP Basic: Access denied fatal: Authentication failed 。。。。。。。。。查了了好...
转载
发布博客 2019.07.23 ·
1023 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

HTTP协议

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年...
转载
发布博客 2019.05.08 ·
147 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

OSI 网络七层模型

上一张图OSI (open system interconnection)开放系统互联。国际标准化组织(ISO)指定了OSI模型,1977 年OSI 参考模型的提出,标记着计算机网络进入到第三个阶段。这个模型把网络通信分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。OSI 七层模型(可以满足所有网络环境)OSI模型的设计目的是成为一个所有销售商都能是吸纳的开放网...
转载
发布博客 2019.05.08 ·
343 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

归并排序和希尔排序

1归并排序归并排序是一种分治算法,把大的问题分成一个个小部分去处理,最终解决大问题。假设有两个数组A,B,每个数组都是从小到大排好序的,如果要将这两个数组合并成一个数组,并且从小到大排好序那么只需要从头比较,依次将A,B中较小的值放入新的数组。对于一个无序的数组,也可以通过这种方法排序,将数组从中间分成2部分,但是大概率是两个无序数组,然后接着对分开的两部分再分,直到每部...
原创
发布博客 2019.05.07 ·
1587 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

二叉查找树基本实现和对重复数据的处理以及优化成为平衡二叉树

1 二叉排序树概念二叉查找树 又叫 二叉排序树,二叉搜索树。Binary Search Tree(BST)对于二叉查找树中的每一个节点如果存在左节点,左节点的值一定小于该节点的值 对于二叉查找树中的每一个节点如果存在右节点,右节点的值一定大于该节点的值 也就是说对于二叉查找树中的任何一个非叶子节点,左节点值小于当前节点值,右节点值大于当前节点值 二叉查找树的任何一个非叶子节点的左子树...
原创
发布博客 2019.04.29 ·
5579 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏

动态规划学习(转)

原文地址http://write.blog.csdn.net/mdeditor#!postId=75193592,动态规划算法的核心理解一个算法就要理解一个算法的核心,动态规划算法的核心是下面的一张图片和一个小故事。A * "1+1+1+1+1+1+1+1 =?" *A : "上面等式的值是多少"B : *计算* "8!"A *在上面等式的左边写上 "1+" *A : "此时...
转载
发布博客 2019.04.25 ·
159 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

个人知识总结:堆排序

1 堆的概念堆排序中的"堆"是指二叉堆,是一棵被完全填满的二叉树(完全填满不是指满二叉树),也就是完全二叉树,深度为logN。 完全二叉树 图示 以层级遍历如果出现空节点,后面节点都为空就是一棵完全二叉树。 最大堆,最小堆父节点的值大于左右节点值的堆称为最大堆,也就是说根节点的值是树中的最大值 父节点的值小于左右节点值的堆称为最小堆,也就是说根节点的值是...
原创
发布博客 2019.04.24 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

HashMap实现原理分析(转)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hefenglian/article/details/79763634 </div> <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/templat...
转载
发布博客 2019.04.23 ·
141 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

String相关总结

String类String类是final修饰的 所以String在做拼接操作的时候其实是生成了新的对象,原String对象是无法改变的。值是以char数组的形式存放的 , length()返回的是char数组length。String一些常见方法 public static String valueOf(Object obj)调用的是传入参数的toString()方法 ,...
原创
发布博客 2019.04.22 ·
175 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring声明式事务管理

声明式事务和编程式事务*编程式事务使用TransactionTemplate ,是硬编码*声明式事务是基于AOP。对指定方法前后进行拦截,在目标方法开始之前创建或加入一个事务,在执行完目标方法之后根据执行结果提交或者回滚事务。1 基于TransactionProxyFactoryBeanxml配置文件 <!--导入外部文件--> <contex...
原创
发布博客 2019.04.22 ·
141 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二叉树遍历

二叉树①前序遍历:先访问根节点,再访问左节点,若左节点的左节点不为空,则继续向下访问,直到左节点为空,然后在从下往上访问右节点。 先访问F,F的左节点不为空,则访问其左节点C;同理访问A,A的左节点为空则访问其右节点,右节点也为空,则访问与A有同一父节点的右节点也就是D节点;D的左节点不为空,则访问其左节点B;B左节点,右节点都是空,则会去访问D的右节点,D的右节点为空,则去访...
原创
发布博客 2019.04.21 ·
106 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

蓄水池抽样算法 从n个数中随机取m个数(JAVA实现)

实际问题从n个数据中随机取得m个数,n>m 算法大概思路源数据的数组为a[] 大小为n “水池”即存放取出的数据的数组为b[] 大小为m 若要做到随机 则每个数据被选中的概率则为m/n进行如下操作①对数组a[]进行遍历,设置j为遍历时当前元素下标,将a[]数组的前m个数据依次存入数组b[]中,此操作a[]数组中的前m个数被加入b[]数组的概率为100...
原创
发布博客 2019.04.20 ·
2280 阅读 ·
1 点赞 ·
0 评论 ·
12 收藏

快速排序 简单实现以及遇到越界问题

public static void quick(int low, int high, int[] arr) { int i = low; int j = high; if (low < high) { int temp = arr[i];//不能置于if语句外 while (i < j) { whil...
原创
发布博客 2019.04.20 ·
900 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

链表的反向

1.节点类public class Node { //节点中的数据 private int data; //下一个指向节点 public Node next=null; public Node(int data){ this.data=data; } public void showData(){ Sys...
原创
发布博客 2019.04.20 ·
479 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多