Whynotwu
码龄5年
关注
提问 私信
  • 博客:50,726
    动态:33
    50,759
    总访问量
  • 53
    原创
  • 672,973
    排名
  • 22
    粉丝
  • 0
    铁粉

个人简介:源于生活,而高于生活。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2019-10-27
博客简介:

Whynotwu的博客

查看详细资料
个人成就
  • 获得54次点赞
  • 内容获得19次评论
  • 获得176次收藏
  • 代码片获得316次分享
创作历程
  • 41篇
    2021年
  • 12篇
    2019年
成就勋章
TA的专栏
  • Java
    13篇
  • 算法学习
    21篇
  • 软件系统架构
    3篇
  • 数据结构
    10篇
  • 大数据
    6篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

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

BIO、NIO、AIO、Netty 学习笔记

首先了解一下什么是IO?Java中I/O是以流为基础进行数据的输入输出的,所有数据被串行化写入输出流。串行化就是数据要按顺序进行输入输出,也就是java通过io流方式和外部设备进行交互。比如程序从服务器上下载图片,就是通过流的方式从网络上以流的方式到程序中,再到硬盘中。同步与异步,阻塞与非阻塞的区别同步,一个任务的完成之前不能做其他操作,必须等待(等于在打电话)。异步,一个任务的完成之前,可以进行其他操作(等于在聊QQ)。阻塞,是相对于CPU来说的, 挂起当前线程,不能做其他操作只...
原创
发布博客 2021.08.08 ·
339 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。

汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。import java.util.*;public class Solution { /** * @param str string字符串 输入字符串 * @param k int整型 左移位数
原创
发布博客 2021.08.08 ·
650 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Ribbon负载均衡算法都有哪几种?随机策略工作原理并实现

RoundRobinRule:轮询的方式 默认 RandomRule:随机方式 WeightedResponseTimeRule:加权策略,根据响应时间分配权重的方式,响应越快分配的值越大。 BestAvailableRule:请求数最少策略,选择并发量最小的服务器分配。 RetryRule:在配置时间段内选择server不成功,使用subRule方式选择可用的Server。 ZoneAvoidanceRule:根据服务器的性能和可用性来选择。 AvailabilityFilteringRule
原创
发布博客 2021.06.21 ·
428 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

观察者模式

对象间存在一对多关系时,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会自动通知依赖它的观察者对象,使它们能自动更新。
原创
发布博客 2021.06.20 ·
177 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

发布订阅模式

发布/订阅是一种消息范式,消息发布者(Publisher)不会将消息直接发送给订阅者(Subscriber),而是通过消息通道(Event Channel)广播出去,让订阅者收到。1.发布者接口public interface Publisher { public void publish(Channel channel ,String msg);}2.订阅者接口public interface Subcriber { public void subcrib...
原创
发布博客 2021.06.20 ·
265 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

单链表的选择排序

描述给定一个无序单链表,实现单链表的选择排序(按升序排序)。要求:额外空间复杂度是O(1)。
原创
发布博客 2021.06.18 ·
686 阅读 ·
1 点赞 ·
2 评论 ·
1 收藏

在链表中删除指定值的节点(两种解决方法)

描述给出一个链表和一个整数num,输出删除链表中节点值等于num的节点之后的链表。示例1输入:4 1 2 3 43输出:1 2 4
原创
发布博客 2021.06.18 ·
1605 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

删除无序链表中值重复出现的节点(两种解决方法)

描述给定一个无序链表,删除其中值重复出现的节点(保留当中顺序遍历第一个出现的节点)。示例1输入:51 3 2 3 1输出:1 3 2
原创
发布博客 2021.06.18 ·
1213 阅读 ·
1 点赞 ·
0 评论 ·
6 收藏

合并两个有序的单链表

描述给定两个升序的单链表的头节点head1和head2,请合并两个升序链表,合并后的链表依然升序,并返回合并后链表的头节点。
原创
发布博客 2021.06.18 ·
368 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

两个链表生成相加链表

描述假设链表中每一个节点的值都在 0 - 9之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。例如:链表 1为 9->3->7,链表 2为 6->3,最后生成新的结果链表为 1->0->0->0,937+63=1000。方法一:解题思路:利用两个栈,先将每个链表各自压入栈,链表 1为9->3->7压入s1栈就变成自顶向下7,3,9 链表 2为 6->3压入s2栈就变成自顶...
原创
发布博客 2021.06.18 ·
416 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

反转部分单向链表

描述给定一个单链表,在链表中把第L个节点到第 R 个节点这一部分进行反转。示例1输入:51 2 3 4 51 3输出:3 2 1 4 5
原创
发布博客 2021.06.17 ·
456 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

反转单向链表和双向链表

描述实现反转单向链表和双向链表的函数。如 1->2->3 反转后变成 3->2->1。示例1输入:31 2 341 2 3 4输出:3 2 14 3 2 1
原创
发布博客 2021.06.17 ·
277 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

输出链表中倒数最后k个结点

描述输入一个链表,输出一个链表,该输出链表包含原链表中从倒数第k个结点至尾节点的全部节点。如果该链表长度小于k,请返回一个长度为 0 的链表。示例1输入:{1,2,3,4,5},1 返回值:{5} ...
原创
发布博客 2021.06.17 ·
327 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

删除链表第 K 个节点

描述给定一个链表,实现删除链表第K个节点的函数。输入描述:n 表示链表的长度。m 表示删除链表第几个节点。val 表示链表节点的值。输出描述:在给定的函数中返回链表的头指针。示例1输入:5 31 2 3 4 5输出:1 2 4 5...
原创
发布博客 2021.06.17 ·
991 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

在链表中删除倒数第K个节点

描述给出一个单链表,返回删除单链表的倒数第 K 个节点的链表。输入描述:n 表示链表的长度。val 表示链表中节点的值。输出描述:在给定的函数内返回链表的头指针。示例1输入:5 41 2 3 4 5输出:1 3 4 5...
原创
发布博客 2021.06.16 ·
262 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

打印两个升序链表的公共部分

描述给定两个升序链表,打印两个升序链表的公共部分。输入描述:第一个链表的长度为 n。第二个链表的长度为 m。链表结点的值为 val。输出描述:输出一行整数表示两个升序链表的公共部分的值 (按升序输出)。示例1输入:41 2 3 451 2 3 5 6输出:1 2 3...
原创
发布博客 2021.06.16 ·
201 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

用一个栈实现另一个栈的排序

import java.util.Scanner;import java.util.Stack;// 注意类名必须为 Main, 不要有任何 package xxx 信息public class Main { public static void sortStackByStack(Stack<Integer> stack){ Stack<Integer> help =new Stack<Integer>(); ...
原创
发布博客 2021.06.16 ·
183 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

猫狗队列实现

描述实现一种猫狗队列的结构,要求如下:1.用户可以调用add方法将cat或者dog 放入队列中2.用户可以调用pollAll方法将队列中的cat和dog按照进队列的先后顺序依次弹出3.用户可以调用pollDog方法将队列中的dog按照进队列的先后顺序依次弹出4.用户可以调用pollCat方法将队列中的cat按照进队列的先后顺序依次弹出5.用户可以调用isEmpty方法检查队列中是否还有dog或cat6.用户可以调用is...
原创
发布博客 2021.06.15 ·
283 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

用递归函数和栈逆序一个栈

描述一个栈依次压入1,2,3,4,5,那么从栈顶到栈底分别为5,4,3,2,1。将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现栈中元素的逆序,但是只能用递归函数来实现,不能用其他数据结构。输入描述:输入数据第一行一个整数N为栈中元素的个数。接下来一行N个整数XiX_iXi​表示从栈顶依次到栈底的每个元素。输出描述:输出一行表示栈中元素逆序后的每个元素示例1输入:51 2 3 4 5输出:5 4 3 2 1...
原创
发布博客 2021.06.15 ·
206 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

用两个栈实现队列,支持队列的基本操作。

描述用两个栈实现队列,支持队列的基本操作。输入描述:第一行输入一个整数N,表示对队列进行的操作总数。下面N行每行输入一个字符串S,表示操作的种类。如果S为"add",则后面还有一个整数X表示向队列尾部加入整数X。如果S为"poll",则表示弹出队列头部操作。如果S为"peek",则表示询问当前队列中头部元素是多少。输出描述:对于每一个为"peek"的操作,输出一行表示当前队列中头部元素是多少。示例1输入:6add 1add 2add 3peekpollp
原创
发布博客 2021.06.15 ·
362 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多