自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 问答 (1)
  • 收藏
  • 关注

原创 网络编程基础概念——tcp/udp

适合需要长连接和数据可靠性的服务,比如写一个聊天室程序,客户端和服务器之间建立连接,数据有序传输。:适合快速传输小消息的服务,比如网络游戏里的位置同步、视频会议的语音数据。,适合对实时性要求高、能容忍少量丢包的场景,比如视频通话、游戏。可靠传输(保证数据完整、有序,不会丢、不重复)。无连接(像发短信,直接扔出去,不管对方收没收)。面向连接(像打电话,先要“接通”才能交流)。不保证可靠性(可能丢包、乱序,也不重传)。的场景,比如文件传输、网页访问。→ 重速度,牺牲可靠性。先拨号(建立连接),

2025-09-18 21:39:27 179

原创 线程安全与同步机制

是 Java 提供的一种内置同步机制,用于实现线程之间对共享资源的互斥访问,确保同一时间只有一个线程可以执行被它修饰的代码块或方法。它是实现线程安全最基础、最常用的一种方式。在Java中,synchronized关键字是实现线程同步的核心机制,用于确保多个线程访问共享资源时的互斥性,防止数据不一致和竞态条件。它通过在对象或类上加锁来实现线程安全,适用于方法和代码块。synchronized的工作原理锁机制:synchronized基于Java对象内置的监视器锁(Monitor Lock)

2025-07-05 18:04:45 331

原创 java基础学习005——线程与进程以及相关知识

进程是操作系统分配资源的最小单位,是程序运行的实例。每个进程拥有独立的地址空间、数据栈等资源,有着不同的内存空间。每个进程可以有多个线程构成,每个线程处理不同的任务。:线程是程序执行的最小单位,是进程的一部分。同一个进程有多个不同的线程,这些线程能够共享进程的资源。

2025-06-12 16:39:51 377

原创 基于哈夫曼编码的压缩及解压程序(java)

哈夫曼编码(Huffman Coding)是一种,由David Huffman在1952年提出。它的核心思想是根据字符出现的;;编码结果是,任何字符的编码都不是其他字符编码的前缀,因此可以唯一解码。

2025-06-07 20:56:47 571

原创 java基础学习——二叉树

先将根节点压入栈中,创建while循环,循环条件为栈不为空,循环体中首先将栈顶节点出栈,再判断其左右节点是否为空,不为空则压入栈中(这里注意要先判断右节点,这样之后出栈顺序才是先左后右)。构建两个while循环体,外部大循环判断条件为当前节点非空或者栈非空,首先内部循环一直将左侧节点压入栈中,当检测到最左侧节点的左子节点为空时脱离循环,接着将栈顶节点出栈(第一次即为最左侧节点),current变为出栈节点的右节点。利用两个栈,一个用于遍历,另一个以中-右-左压入栈,之后输出,就是左-右-中的顺序。

2025-05-22 17:15:05 233

原创 java基础学习004——哈希表性能优化原理

通过扩容和树化,哈希表能在高负载和哈希冲突严重时仍保持较高的性能。这两种策略共同保证了哈希表在时间和空间效率上的平衡。

2025-05-20 15:54:58 526

原创 java基础学习003——ArrayList和LinkedList

频繁随机访问:如需要经常按索引读取元素读多写少:主要操作为遍历或查询数据量相对固定:可以预估大小避免频繁扩容频繁插入删除:特别是在列表头部或中间实现队列/栈:需要用到Deque接口的功能无法预估数据量:避免ArrayList扩容带来的性能损耗。

2025-05-15 16:10:18 205

原创 java基础学习001

JAVA是一种面向对象的编程语言。其中有两个重要概念——类和对象。对象:对象是类的一个具体实例,一个类可以有多个实例对象,并且具有特定的属性和行为方式。类:可理解为一个统一模板,它定义了一类对象的状态(属性)和行为(方法)。

2025-04-08 11:49:43 364

空空如也

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

TA关注的人

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