自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dying 搁浅

Read-Think-Write

  • 博客(188)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 TCP 核心问题之 顺序与丢包

当接收方收到大于期望收到的包时,会发送一个冗余的 ACK,期望的仍是下一个需要的包。如果超时重传的数据包再次超时,TCP 的策略是超时时间加倍,两次超时就说明当前网络环境已经很差,不适合再反复重传了。所以要对收到的包进行 ACK,来确认这个包我收到了,你可以继续后面的数据传输了,上面提到的。一种方式是由发送方来进行兜底,一定的时间内没有收到对应包的 ACK,就会对此包进行重传。关于顺序,TCP 在握手时会约定一个初始的包序号,那么这个序号就是保证包有序的关键。有了上面的介绍,我们再来聊聊,顺序和丢包问题。

2022-09-07 21:53:00 502

原创 Spring 自动过滤 Json null 值 WebMvcConfigurer + Jackson2ObjectMapperBuilderCustomizer

这是一个可以使服务端返回 json 数据变干净的方法

2022-08-18 11:15:31 81

原创 Redisson 的 AsyncSemaphore 源码剖析 聊聊 Semaphore 限流器

前阵子看了看 redisson 的源码,也搜看了些网上的一些文章,发现讲主逻辑和流程的文章比较多,而对于一些细节的实现做出解释的文章比较少,其实我的上一篇文章也是如此 ,所以在此对 redisson 分布式锁中使用到的数据结构逐个做下解析,一起学习下他们的设计逻辑和思想。......

2022-08-17 22:13:54 115

原创 商业级别分布式锁实现(原理&实现&方案一步到位)

相信大多数同学在开始接触 “锁” 时都是 java 中本身给我们提供的关键字 synchronized。但是,实际工作中,我们真的会用 synchronized 来对一些共享资源、互斥场景进行加锁操作吗?

2022-08-04 18:04:37 124

原创 Linux 完整 Redis 安装配置教程(可用远程连接)

令人开心的是官网给了Thelateststablereleaseisalwaysavailable,一个固定的最终稳定版本的下载地址。bind127.0.0.1-1这个玩意,默认它打开了,加#注掉。建议配置访问密码,打开配置项requirepass后面跟你的密码。允许远程连接protected-modeyes改成no。我们重点配置几个,其他个人需要可以查阅相关文档自定义配置。make成功后基本就完事了,但是需要进行配置。看谁不如看官网(除了看我)...

2022-07-20 21:13:53 402

原创 从 0 构建 IM 聊天后台系统之用户登录(思路简要版)

本系列将从 0 设计构建后端 IM 聊天系统服务,主要包含 用户登录鉴权、用户好友关系、用户聊天 , 3 个模块。本系列文章重点在于设计思路,会简要给出大致的设计思路

2022-07-09 21:37:42 441 2

翻译 Linux 服务器使用 yum 安装官方 Mysql 包方法

使用 MySQL Yum 存储库在 Linux 上安装 MySQL

2022-07-03 21:48:18 51

原创 【Java 工具类】通过出生日期获取年龄

通过出生日期计算年龄

2022-06-17 14:54:46 301

原创 TCP 核心问题 之 流量控制

滑动窗口的大小动态变化,取决于接收端 buffer 缓冲区的大小以及应用服务消费报文段的能力。而 拥塞控制不同,其主要影响因素是取决于网络的快慢,而如何判断当前网络的快慢,这是将会是一个很有意思的问题...

2022-06-03 21:16:26 211 1

原创 Dubbo 本地调试,直连本地服务提供者心法

当你手头项目分了几个服务,而其中需要通过 dubbo 进行远程接口调用时,自测就成了一个让人感到麻烦的事情。

2022-06-02 14:24:47 507

原创 Unity 2D 游戏开发解决方案大全

嗯,先把东西扔出来,才有动力更新嘛,推荐收藏

2022-05-25 23:16:45 445

原创 TCP 核心问题 之 滑动窗口

TCP 核心问题 之 滑动窗口本篇只聊一个问题,“滑动窗口”名词统一:之前的文章中,我会说 TCP 包,这里我们统一一下名词概念。当我们仅聊 TCP 本身的机制时,我们称其为 TCP 报文段,也就是之前我所介绍的,仅指 TCP 这一部分。对于 “包” 或者说 数据包 、网络包 ,这里我将其理解为更大的一层,也就是包含 TCP 报文段网络层 IP 包 = IP 头 + TCP 报文段(但是其实吧,包 和 报文段 怎么说都不能算错,都是一种结构的代指嘛)你将了解到底什么是 TCP 的滑动窗

2022-05-21 20:34:23 350

原创 TCP 核心问题 之 Keep-Alive

这时候可能就有人要问了:“啊(尖声)!那你,前面的 keep-alive 包是怎么回事?是谁配置的?谁的配置在生效?”

2022-04-30 18:32:43 1510 5

原创 Spring Boot 获取 application.yml 配置文件属性值 Plus 版

Spring Boot 获取 application.yml 配置文件属性值 Plus 版多年前我曾写过这样一篇文章 SpringBoot通过@Value获取application.yml配置文件的属性值没想到已经有 3 w 阅读了,这里做个升级,给大家提供一种更高级的配置方法class 类如下import lombok.Data;import org.springframework.beans.factory.annotation.Value;import org.springframewo

2022-04-22 19:09:45 371

原创 TCP 核心问题剖析之 “四次挥手”

行,你可真行,真是个小机灵鬼。

2022-04-17 15:45:06 2126 1

原创 lombok 1.6.22 com.alibaba.fastjson.JSONException: default constructor not found. 若使用 fastjson 要谨慎升级

Lombok 坑我!com.alibaba.fastjson.JSONException: default constructor not found. 谨慎版本升级

2022-04-08 18:29:20 453

原创 TCP 核心问题剖析之 什么 TMD 是 “三次握手”

首先说 “握手” ,我可真是谢谢你了,请问 TCP 的手是啥,它握的是啥,谁和谁握,他们握手干嘛?这个比喻可真好,对于懂的人觉得形象,可对于小白的我来说,只能是一脸懵逼。

2022-04-06 16:49:06 932

原创 TCP 协议头全解

本文将带你学会1. 从 wireshark 中来看面试中常问的 tcp 三次握手 四次挥手 真正的数据面目到底是什么?2. 看到 TCP/IP 五层模型的具象化真实表达3. 网络传输中 TCP 头全解析

2022-04-02 18:37:04 4398 1

原创 联网所需物理设备及其用途(一些你应该知道的概念)

聊几个网络概念LAN 局域网局域网也叫 LAN 即 Local Area Network。比如我们两台电脑通过一根网线直连,就组成了局域网,这个局域网只能本地通信,即 Local AreaHub 集线器集线器是用来连接多台电脑的设备,也叫 Hub 中心的意思,支持多台电脑本地通信,它有多个网线插口,比如我们一个宿舍的好友想局域网联机,就可以买个集线器,然后通过网线将我们的电脑互联起来相互通信,这个仍然是局域网,但是体量变大了,而集线器的通信方式是广播的,它完全在物理层工作,即我在局域网内给 a 发

2022-03-10 16:41:09 154

原创 网络分层流转---从浏览器请求到服务端响应究竟经历了什么?

在设计上讲,分层其实就是分块,就是将打的问题分级分解为小的问题,各层各级各司其职,做好自己那一块的小事情,从而完成一个复杂问题。

2022-03-06 16:43:08 298

原创 网络编程之 Socket 编程 一文看懂

来点真实的:连接在两端,而非通路。可以理解为两端数据结构的协调,这个数据结构类比 Java 可以理解为 Class

2022-02-27 19:51:36 3185

原创 Dubbo 3 搞清楚 接口级地址发现 和 应用级地址发现

Dubbo 3 相较于 Dubbo 2 ,由接口级别服务注册发现转变为应用级别,这两种方式不可互相兼容。这种转变带来的好处是,极大的释放了服务注册中心的存储压力,比如原来的一个服务如果提供了 100 个 dubbo 接口,部署 100 台机器,那么注册中心就需要存储 10000 条数据,而改为应用级别就只需要 100 个。所以对于 Dubbo 3 来说 应用级的服务注册与发现,最大的好处就是 节省内存,和减轻地址推送压力。举个例子,假设我们有 2000 台

2022-02-16 21:48:40 910

原创 java dubbo 连接 zk 报错 Session 0x0 for server 127.0.0.1/<unresolved>:2181, unexpected error, closing so

配置正常,zk 启动正常,但是就是连接不上:<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo" xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema

2022-02-15 16:13:10 2147

原创 Windows 搭建 Zookeeper 教程

Windows 搭建 Zookeeper 教程首先下载 Zookeeper http://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/选择 apache-zookeeper-3.7.0-bin.tar.gz 下载具体版本可以自己选择。解压进入 bin 目录下 conf 文件夹复制一份 zoo_sample.cfg 文件并重命名为 zoo.cfg进入 bin 目录启动 zkServer.cmd ,然后启动 zkCli.cmd.

2022-02-07 23:29:15 1130

原创 ES 的近实时搜索 filesystem cache 与 事务日志 Translog 数据恢复

近实时搜索的 filesystem cache 与 事务日志 Translog本文主要想讨论一下,Elasticsearch 的近实时搜索,而在聊这个之前,先普及一下 ES 的数据和索引存储文件和索引数据Elasticsearch 是一个分布式的文档存储。Elasticsearch 不是采用通常数据库的列式数据行存储的存储形式。而是存储已序列化的 JSON 结构的复杂数据结构。当集群中有多个 Elasticsearch 节点时,数据将分布在整个集群中,并且每个节点都可以对其进行快速访问。ES 在存储

2022-01-24 16:29:00 1794

原创 当我们聊迭代器的时候,我们在聊循环

说实话我觉得,迭代器确实没啥可写的,主要在于看懂会用即可

2022-01-23 15:17:09 110

原创 Java static 、final 关键字浅析

到底什么时候应该使用 static 什么时候使用 final 关键字对于 final --> 不可改变的final 关键字可以修饰:变量、方法、类final 变量: 表示变量不可变,且必须初始化。final 方法:该方法将不可在子类中重写。final 类:表示该方法不可被继承。需要注意 final 在修饰引用变量的时候,可以保证的是不可被再次赋值引用,但无法保证对象的值不被改变对于 static --> 静态的static 关键字可以修饰:变量、方法、内部类static

2022-01-18 17:55:05 77

原创 Java 中泛型 T 和 ? 的区别?浅谈类型变量 和 通配符

类型参数定义了一种代表作用域类型的变量(例如,T),通配符只是定义了一组可用于泛型类型的允许类型。通配符的意思是“在这里使用任何类型”

2022-01-07 15:13:53 1622

原创 当我们聊 Visitor 访问者模式的时候,我们在聊什么?

你可能听都没听过 Visitor 访问者模式,也可能只是你忘了

2021-12-29 21:51:41 425

原创 2021 我与 CSDN 简简单单分享知识,我们一起远航

不知不觉,来 CSDN 六年有余,说起与博客、写文和 CSDN,由衷的要感谢在我大三时带领我们外出实训的计算机 W老师。在做实训的项目作业时,向 W老师 请教 “如何购买一个云服务器并部署自己的服务”,其中不免遇到很多问题,W老师 建议我,不如把学习中遇到的问题记录下来,写成博客,也方便后面自己之后的复盘和查阅。简单思索,这确实是个非常棒的方法,自己心里也很愿意,在摸索之后,在自己搭建博客和依附于现有平台中,我选择了依附于现有平台,那时后端最火的平台还是 CSDN 所以我选择了它,而我写博客文章的初心也

2021-12-29 15:33:22 30

原创 MySQL 数据库规范

提供个规范给大家参考下

2021-12-17 17:46:08 660

原创 Elasticsearch 的内存优化

找到一篇之前自己总结的 es 内存优化的观察记录,发出来分享保存一下,希望可以对大家有所帮助和启发

2021-12-17 10:58:56 1867

原创 MySQL int 类型长度有啥用? int(11) 和 int(20) 有啥区别?

int 类型长度基本上是没啥用,不要被它迷惑了!

2021-12-13 11:20:40 1968

原创 使用 log4j2 版本 2.x - 2.15.0.rc1 需要更新到 2.15.0.rc2 或以上

使用 log4j2 版本 2.x - 2.15.0.rc1 需要更新到 2.15.0.rc2 或以上强调一下在 log4j2 版本在 2.x - 2.15.0.rc1 直接存在漏洞,该漏洞可以使得攻击者可以直接在服务器上运行任何命令!附上 github 地址:log4j-2.15.0-rc2 本来想着说这个问题的文章已经够多了,没想到昨天跟朋友聊起来这个问题,朋友竟然不知道,所以想想还是写一篇扩散一下。如果你的框架中有用到 log4j2 请尽快排查是否需要更换版本。详细漏洞披露地址:LOG4J2-

2021-12-12 15:22:38 3714

原创 Spring 依赖注入的几种方式

依赖注入感兴趣的大家可以直接到官网看看 依赖注入本篇主要用几个简单实例来具体介绍下依赖注入的几种方法。Constructor-based Dependency Injection 构造器注入基于 Setter 的注入 Setter-based Dependency Injection注解注入首先是基于 构造器的注入 Constructor-based Dependency Injection我们以最基础的 xml 配置的方式为例。依赖引入 spring-context 即可

2021-12-08 22:05:09 417 1

原创 依赖查找 和 依赖注入

依赖查找 和 依赖注入这两个词看起来很相似,一到了学术上大家就喜欢玩这种概念性的文字游戏,很无奈,但也没有办法。首先我们不带任何概念和基础的来看这两个词,仅仅分析词意。他们文字上的区别就是一个是 查找 一个是 注入查找: 我们通常理解为是一个主动的行为,主动地去查找什么?注入: 通常是被动的行为,被三方注入些什么?了解到了这两个区别,那下一个问题就很明显了,我们要 查找什么? 注入什么?答案在词语中已经给出:依赖那么该如何理解这个依赖?说实际点的,以 Java 为例子,以个普通类的成员变量

2021-12-05 16:40:46 3245

原创 ES 创建太多 buckets 错误: trying to create too many buckets. must be less than or equal to: [100000] but w

ES 创建太多 buckets 错误: trying to create too many buckets. must be less than or equal to: [100000] but was [100001].

2021-11-30 18:05:12 3600

原创 idea java: 错误: 不支持发行版本 17

当你下载了最新的 JDK 17 跃跃欲试想在 idea 中试试的时候发现运行时报错了,这时要确认一件事情,你的 idea 版本是否支持 jdk17,如果不支持你需要升级最新版本了。如何确认你当前的 idea 版本支持到多高版本的 jdk 呢?Preference -> Build -> Compiler -> Java Compiler点击下图所示的下拉框看看你最高的选项是多少。...

2021-11-28 15:10:23 15853 4

原创 什么是 IoC 容器?

什么是 IoC 容器?这个问题我觉得可以拆分为 3 小问:IoC 是什么意思?容器 指什么?IoC 容器是什么?首先对于 IoC Inversion Of Control 翻译过来即 控制反转。理解 ”控制反转“ ,我觉得首先是要明白,控制了什么?而后反转给了谁?这两点弄清楚这个概念其实就很明了了。首先控制是指控制 bean 的创建,及其内部的依赖,例如常用的 @Autoware 和 @Resource,当然这里的 bean 指的就是实体类。通常来说我们在使用 bean 的时候都会自己手

2021-11-26 18:58:27 474

原创 当我们聊 IoC 的时候,我们在聊什么?(下篇)实例化单例 bean

写了些枯燥的东西

2021-11-25 20:57:14 227

x-editable行内编辑bootstraptable所需包

x-editable行内编辑bootstraptable所需包,包括js文件和css文件

2019-03-13

IDEA推荐插件包合集

用就对了,包括backgroundImagePlus,CodeGlance,GsonFormat 等常用插件

2018-12-25

Linux命令大全

Linux命令大全(修改版) 进行重新编译的说明 文件传输 bye ftp ftpcount ftpshut ftpwho ncftp tftp uucico uucp uupick uuto 备份压缩 ar bunzip2 bzip2 bzip2recover compress cpio dump gunzip gzexe gzip lha restore tar unarj unzip zip zipinfo 文件管理 diff diffstat file find git gitview ln locate lsattr mattrib mc mcopy mdel mdir mktemp mmove mread mren mshowfat mtools mtoolstest mv od paste patch rcp rhmask rm slocate split tee tmpwatch touch umask whereis which cat chattr chgrp chmod chown cksum cmp cp cut indent 磁盘管理 cd df dirs du edquota eject lndir ls mcd mdeltree mdu mkdir mlabel mmd mmount mrd mzip pwd quota quotacheck quotaoff quotaon repquota rmdir rmt stat tree umount 磁盘维护 badblocks cfdisk dd e2fsck ext2ed fdisk fsck.ext2 fsck fsck.minix fsconf hdparm losetup mbadblocks mformat mkbootdisk mkdosfs mke2fs mkfs.ext2 mkfs mkfs.minix mkfs.msdos mkinitrd mkisofs mkswap mpartition sfdisk swapoff swapon symlinks sync 系统设置 alias apmd aumix bind chkconfig chroot clock crontab declare depmod dircolors dmesg enable eval export fbset grpconv grpunconv hwclock insmod kbdconfig lilo liloconfig lsmod minfo mkkickstart modinfo modprobe mouseconfig ntsysv passwd pwconv pwunconv rdate resize rmmod rpm set setconsole setenv setup sndconfig SVGAText Mode timeconfig ulimit unalias unset 系统管理 adduser chfn chsh date exit finger free fwhois gitps groupdel groupmod halt id kill last lastb login logname logout logrotate newgrp nice procinfo ps pstree reboot renice rlogin rsh rwho screen shutdown sliplogin su sudo suspend swatch tload top uname useradd userconf userdel usermod vlock w who whoami whois 文档编辑 col colrm comm csplit ed egrep ex fgrep fmt fold grep ispell jed joe join look mtype pico rgrep sed sort spell tr uniq wc 网络通讯 dip getty mingetty ppp-off smbd(samba daemon) telnet uulog uustat uux cu dnsconf efax httpd ifconfig mesg minicom nc netconf netconfig netstat ping pppstats samba setserial shapecfg(shaper configuration) smbd(samba daemon) statserial(status ofserial port) talk tcpdump testparm(test parameter) traceroute tty(teletypewriter) uuname wall(write all) write ytalk arpwatch apachectl smbclient(samba client) pppsetup 电子邮件与新闻组 archive ctlinnd elm getlist inncheck mail mailconf mailq messages metamail mutt nntpget pine slrn X WINDOWS SYSTEM reconfig startx(start X Window) Xconfigurator XF86Setup xlsatoms xlsclients xlsfonts 其他

2017-10-13

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

TA关注的人

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