兜兜风d
码龄2年
关注
提问 私信
  • 博客:87,499
    87,499
    总访问量
  • 90
    原创
  • 17,698
    排名
  • 786
    粉丝
  • 2
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:重庆市
  • 加入CSDN时间: 2022-11-24
博客简介:

2201_75437633的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    788
    当月
    28
个人成就
  • 获得887次点赞
  • 内容获得31次评论
  • 获得942次收藏
  • 代码片获得770次分享
创作历程
  • 51篇
    2024年
  • 39篇
    2023年
成就勋章
TA的专栏
  • 计算机网络
    11篇
  • JavaEE
    29篇
  • 多线程
    16篇
  • 基础算法
    4篇
  • Java数据结构
    14篇
  • JavaSE入门
    14篇
  • c语言入门
    20篇
兴趣领域 设置
  • Java
    java
创作活动更多

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

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

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

ESP协议解释

Encapsulating Security Payload (ESP) 是 IPsec(Internet Protocol Security) 协议套件中的一个核心组件,专门用于在网络通信中提供数据的加密和完整性保护,确保数据在传输过程中安全可靠。ESP可以保护数据免受窃听、篡改和伪造。
原创
发布博客 2024.11.21 ·
731 阅读 ·
26 点赞 ·
0 评论 ·
9 收藏

PPP协议详细介绍

PPP 提供链路的建立、配置和测试功能,使双方可以协商各种链路参数并检测链路质量。PPP 支持在点对点链路上传输多种网络层协议,包括 IP、IPX、AppleTalk 等。PPP 提供一种通用的封装方法,将数据打包成帧,并在点对点链路上传输。PPP 支持两种主要的认证协议,PAP(Password Authentication Protocol)和 CHAP(Challenge Handshake Authentication Protocol),用于对用户进行身份验证。
原创
发布博客 2024.11.06 ·
323 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

JVM的几种常见垃圾回收算法

引言:Java Virtual Machine(JVM)作为Java程序运行的核心,其垃圾回收(Garbage Collection, GC)机制在内存管理中起着至关重要的作用。垃圾回收算法是JVM性能优化的重要方面。本文将详细介绍几种常见的垃圾回收算法,包括标记-清除(Mark-and-Sweep)、复制(Copying)、标记-整理(Mark-and-Compact)、分代收集(Generational Collection)和G1(Garbage-First)等。
原创
发布博客 2024.06.09 ·
1010 阅读 ·
13 点赞 ·
0 评论 ·
16 收藏

JVM类加载机制

可以继承java.lang.ClassLoader类,实现自己的类加载器,以满足特定的加载需求。
原创
发布博客 2024.05.18 ·
586 阅读 ·
4 点赞 ·
0 评论 ·
10 收藏

JVM中的内存区域划分

Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池,用来存放编译器生成的各种字面量和符号引用,这部分内容将在类加载后存放在方法区的运行是常量池中。Java虚拟机对class文件的每一部分的格式都有严格的规定,每个字节用于存储哪种数据都必须符合规范上的要求,这样才会被虚拟机认可、装载和执行。HotSpot VM把GC分代收集拓展至方法区,即使用Java堆的永久代来实现方法区,这样HotSpot的垃圾收集器就可以像管理Java堆一样管理这部分内存。的最重要的一块内存区域。
原创
发布博客 2024.05.18 ·
613 阅读 ·
6 点赞 ·
0 评论 ·
6 收藏

TCP的面向字节流和粘包问题(用Java代码理解)

其中,消息边界标记是一种常见且简单的解决方法,即在每条消息的末尾添加特定的分隔符,如换行符(
),接收端根据分隔符来识别消息的边界。TCP是一种面向字节流的协议,它将数据视为连续的字节流,而不是分割成消息。粘包问题通常发生在发送端连续发送多个小数据包时,由于TCP底层的数据传输机制,这些数据包可能会被合并成一个大的数据包,然后一次性发送给接收端,从而导致粘包问题的出现。在这个示例中,客户端在每条消息的末尾添加了换行符(
),接收端可以根据换行符来识别消息的边界,从而正确解析数据,避免了粘包问题的出现。
原创
发布博客 2024.05.11 ·
1039 阅读 ·
24 点赞 ·
0 评论 ·
10 收藏

TCP的延时应答和捎带应答详解

延时应答是指TCP接收方在接收到数据包后,并不立即发送确认(ACK)消息,而是等待一段时间,以期望在该时间段内收到更多的数据包,从而实现合并多个ACK消息为一个,减少网络中的确认消息数量,提高网络利用率。捎带应答是指TCP发送方在发送数据包时,如果此时正好有确认消息需要发送,则将确认消息捎带在数据包中一起发送,从而减少网络中的确认消息数量,提高网络利用率。在这个示例中,服务器端在接收到消息后延迟1秒才发送确认消息,这样做的目的是为了等待可能在1秒内到达的更多数据包,并合并多个ACK消息。
原创
发布博客 2024.05.11 ·
451 阅读 ·
8 点赞 ·
2 评论 ·
2 收藏

TCP流量控制和拥塞控制详解

一条TCP连接的每一侧主机都为该连接设置了接收缓存。当该TCP连接接收到正确的、有序的报文段,就会将数据放入接收缓存。相关联的应用会从缓存中读取数据。如果发送者发送数据过快、过多,而接收方的应用程序从缓冲区读取的速度较慢,就会导致缓冲区溢出为了避免分组丢失,控制发送者的发送速度,使得接收者来得及接收,这就是流量控制流量控制根本目的是防止分组丢失,使得发送速率与接收速率相匹配流量控制引发的死锁?怎么避免死锁的发生?当发送者收到了一个窗口为0的应答,发送者便停止发送,等待接收者的下一个应答。
原创
发布博客 2024.05.11 ·
824 阅读 ·
9 点赞 ·
0 评论 ·
5 收藏

TCP滑动窗口详解

滑动窗口通俗来讲就是一种流量控制技术。它本质上是描述接收方的TCP数据报缓冲区大小的数据,发送方根据这个数据来计算自己最多能发送多长的数据,如果发送方收到接收方的窗口大小为0的TCP数据报,那么发送方将停止发送数据,等到接收方发送窗口大小不为0的数据报的到来。
原创
发布博客 2024.05.10 ·
1004 阅读 ·
19 点赞 ·
0 评论 ·
18 收藏

详解TCP 四次挥手

当Server端也发送了FIN报文段时,这个时候就表示Server端也没有数据要发送了,就会告诉Client端,我也没有数据要发送了,之后彼此就会愉快的中断这次TCP连接。由于TCP连接是全双工的,因此,每个方向都必须要单独进行关闭,这一原则是当一方完成数据发送任务后,发送一个FIN来终止这一方向的连接,收到一个FIN只是意味着这一方向上没有数据流动了,即不会再收到数据了,但是在这个TCP连接上仍然能够发送数据,直到这一方向也发送了FIN。其中ACK报文是用来应答的,SYN报文是用来同步的。
原创
发布博客 2024.05.10 ·
802 阅读 ·
15 点赞 ·
0 评论 ·
10 收藏

详解TCP 三次握手

我们假设client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送数据。三次握手的目的是连接服务器指定端口,建立 TCP 连接,并同步连接双方的序列号和确认号,交换 TCP 窗口大小信息。所以,采用“三次握手”的办法可以防止上述现象发生。
原创
发布博客 2024.05.10 ·
763 阅读 ·
16 点赞 ·
0 评论 ·
15 收藏

TCP超时重传机制(用Java代码理解)

TCP超时重传机制是指当发送端发送数据后,如果在一定时间内未收到接收端的确认应答,则会认为数据丢失或损坏,从而触发重传机制。发送端会重新发送数据,并等待确认应答。如果在多次重传后仍未收到确认应答,则会放弃发送,并报告连接异常。
原创
发布博客 2024.05.10 ·
896 阅读 ·
21 点赞 ·
0 评论 ·
2 收藏

TCP协议的确认应答机制(用Java代码理解)

TCP协议通过确认应答机制来保证数据的可靠传输。发送端将数据分割成合适大小的报文段,并发送给接收端。接收端收到数据后,会发送一个确认报文给发送端,告知发送端已成功接收到数据。如果发送端在一定时间内未收到确认报文,则会认为数据丢失或损坏,并触发重传机制。
原创
发布博客 2024.05.10 ·
337 阅读 ·
10 点赞 ·
0 评论 ·
3 收藏

用信号量解决哲学家进餐问题

哲学家进餐问题是一个经典的并发编程问题,它涉及到一群哲学家坐在圆桌周围进餐。每个哲学家都必须完成两个任务:思考和就餐。他们之间共享一些餐具,如叉子,但每个哲学家在就餐时需要同时拿到左手和右手的叉子。如果某个哲学家左右两边的叉子都被其他哲学家拿走了,那么他就无法进餐,就会陷入饥饿状态,最终可能导致死锁。
原创
发布博客 2024.04.05 ·
506 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

详解TCP/IP五层模型

TCP/IP模型是一个网络通信体系结构,由五层组成,每一层都有其特定的功能。应用层传输层网络层数据链路层物理层每一层都有不同的责任,通过这种层次结构,网络通信可以更有效地进行。
原创
发布博客 2024.04.04 ·
9964 阅读 ·
51 点赞 ·
1 评论 ·
69 收藏

File类详解

在Java编程中,File类是用于表示文件系统中的文件或目录的抽象表示。它提供了一种用于访问和操作文件系统的方式。本文将详细介绍Java中的File类,包括其属性、构造方法、常用方法,并提供相关的代码示例。
原创
发布博客 2024.04.02 ·
584 阅读 ·
7 点赞 ·
0 评论 ·
9 收藏

了解Java文件操作和IO

引言:在Java编程中,文件操作是一项基本且常见的任务。无论是读取、写入还是管理文件,Java都提供了丰富的API和工具来简化这些操作。本文将深入探讨Java中的文件操作,并举例说明如何使用Java来处理文件。
原创
发布博客 2024.04.02 ·
406 阅读 ·
12 点赞 ·
0 评论 ·
2 收藏

Java中的信号量Semaphore

信号量Semaphore是一种用于控制多个线程访问共享资源的同步工具。它通过维护一个计数器来控制对共享资源的访问,当资源被一个线程占用时,计数器减一;当资源被释放时,计数器加一。当计数器为0时,表示资源已被全部占用,新的线程需要等待其他线程释放资源。
原创
发布博客 2024.04.01 ·
590 阅读 ·
8 点赞 ·
0 评论 ·
3 收藏

详解ExecutorService 和 Executors

代码示例:代码示例:ExecutorService 表⽰⼀个线程池实例.Executors 是⼀个⼯⼚类, 能够创建出⼏种不同⻛格的线程池.ExecutorService 的 submit ⽅法能够向线程池中提交若⼲个任务.Executors 创建线程池的⼏种⽅式newFixedThreadPool: 创建固定线程数的线程池newCachedThreadPool: 创建线程数⽬动态增⻓的线程池.newSingleThreadExecutor: 创建只包含单个线程的线程池.
原创
发布博客 2024.04.01 ·
624 阅读 ·
8 点赞 ·
0 评论 ·
6 收藏

CAS 的 ABA 问题

线程 t1 的 CAS 是期望 num 不变就修改. 但是 num 的值已经被 t2 给改了. 只不过⼜改成 A 了. 这个时候 t1 究竟是否要更新 num 的值为 Z 呢?但是, 在 t1 执⾏这两个操作之间, t2 线程可能把 num 的值从 A 改成了 B, ⼜从 B 改成了 A。轮到线程2 执⾏了, 发现当前存款为 100, 和之前读到的 100 相同, 再次执⾏扣款操作。轮到线程2 执⾏了, 发现当前存款为 50, 和之前读到的 100 不相同, 执⾏失败.这个时候, 扣款操作被执⾏了两次!
原创
发布博客 2024.03.31 ·
540 阅读 ·
9 点赞 ·
0 评论 ·
17 收藏
加载更多