- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 netty启动过程
netty服务端启动流程Demo代码一、EventLoop的创建二、启动Demo代码下面是一个简单的EchoServer public void start() throws InterruptedException { final EchoServerChildHandler serverChildHandler=new EchoServerChildHandler(); EventLoopGroup boss=new NioEventLoo
2021-02-28 17:57:07 308
原创 netty基本组件
netty基本组件EventLoopEventLoopGroupChannelchannelHandlerBootStrapEventLoopEventLoop是处理事件的一个单位,可以处理连接请求、写请求和读请求。一个EventLoop在创建时会绑定一个SelectorProvider,后续Selector通过这个provider来创建,不同平台的provider不一样,selector也不同。一个EventLoop在创建时会绑定一个Selector,后续的事件会注册到这个Selector上。
2021-02-21 20:43:50 181
原创 线程池如何实现重复使用线程
1.在分析线程池原理之前,理解线程的创建和销毁是必要前提。java 提供的新建线程方式有 new Thread(); 但是并不表示创建了一个线程,线程的创建需要向内核系统申请。当调用了Thread的start()方法,才会向系统申请线程。下面是Thread类start()方法的源码,注意start0()方法,是个native方法通过start0()来申请创建新的线程。 ...
2019-12-15 18:24:29 1863 1
原创 加权随机算法
//待随机类class Temp{ //名字 String name; //权重 double wight; public Temp(String name,double wight){ this.name=name; this.wight=wight; } public double get() { ...
2019-12-07 19:21:18 1360 1
转载 以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 17:04:16 1009
转载 HTTP协议
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年...
2019-05-08 16:23:55 139
转载 OSI 网络七层模型
上一张图OSI (open system interconnection)开放系统互联。国际标准化组织(ISO)指定了OSI模型,1977 年OSI 参考模型的提出,标记着计算机网络进入到第三个阶段。这个模型把网络通信分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。OSI 七层模型(可以满足所有网络环境)OSI模型的设计目的是成为一个所有销售商都能是吸纳的开放网...
2019-05-08 16:14:43 332
原创 归并排序和希尔排序
1归并排序归并排序是一种分治算法,把大的问题分成一个个小部分去处理,最终解决大问题。假设有两个数组A,B,每个数组都是从小到大排好序的,如果要将这两个数组合并成一个数组,并且从小到大排好序那么只需要从头比较,依次将A,B中较小的值放入新的数组。对于一个无序的数组,也可以通过这种方法排序,将数组从中间分成2部分,但是大概率是两个无序数组,然后接着对分开的两部分再分,直到每部...
2019-05-07 20:47:17 1556
原创 二叉查找树基本实现和对重复数据的处理以及优化成为平衡二叉树
1 二叉排序树概念二叉查找树 又叫 二叉排序树,二叉搜索树。Binary Search Tree(BST)对于二叉查找树中的每一个节点如果存在左节点,左节点的值一定小于该节点的值 对于二叉查找树中的每一个节点如果存在右节点,右节点的值一定大于该节点的值 也就是说对于二叉查找树中的任何一个非叶子节点,左节点值小于当前节点值,右节点值大于当前节点值 二叉查找树的任何一个非叶子节点的左子树...
2019-04-29 23:01:41 5524
转载 动态规划学习(转)
原文地址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 17:03:29 152
原创 个人知识总结:堆排序
1 堆的概念堆排序中的"堆"是指二叉堆,是一棵被完全填满的二叉树(完全填满不是指满二叉树),也就是完全二叉树,深度为logN。 完全二叉树 图示 以层级遍历如果出现空节点,后面节点都为空就是一棵完全二叉树。 最大堆,最小堆父节点的值大于左右节点值的堆称为最大堆,也就是说根节点的值是树中的最大值 父节点的值小于左右节点值的堆称为最小堆,也就是说根节点的值是...
2019-04-24 18:55:21 146
转载 HashMap实现原理分析(转)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hefenglian/article/details/79763634 </div> <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/templat...
2019-04-23 19:36:29 132
原创 String相关总结
String类String类是final修饰的 所以String在做拼接操作的时候其实是生成了新的对象,原String对象是无法改变的。值是以char数组的形式存放的 , length()返回的是char数组length。String一些常见方法 public static String valueOf(Object obj)调用的是传入参数的toString()方法 ,...
2019-04-22 19:56:27 165
原创 Spring声明式事务管理
声明式事务和编程式事务*编程式事务使用TransactionTemplate ,是硬编码*声明式事务是基于AOP。对指定方法前后进行拦截,在目标方法开始之前创建或加入一个事务,在执行完目标方法之后根据执行结果提交或者回滚事务。1 基于TransactionProxyFactoryBeanxml配置文件 <!--导入外部文件--> <contex...
2019-04-22 13:58:03 131
原创 二叉树遍历
二叉树①前序遍历:先访问根节点,再访问左节点,若左节点的左节点不为空,则继续向下访问,直到左节点为空,然后在从下往上访问右节点。 先访问F,F的左节点不为空,则访问其左节点C;同理访问A,A的左节点为空则访问其右节点,右节点也为空,则访问与A有同一父节点的右节点也就是D节点;D的左节点不为空,则访问其左节点B;B左节点,右节点都是空,则会去访问D的右节点,D的右节点为空,则去访...
2019-04-21 10:18:02 100
原创 蓄水池抽样算法 从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 21:36:50 2257
原创 快速排序 简单实现以及遇到越界问题
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 20:08:51 878
原创 链表的反向
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 19:14:27 464
HeadFirst设计模式(中文版).rar
2019-07-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人