自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 收藏
  • 关注

原创 燕山大学计算机网络实验(2025最新)

2.配置XP1为10.1.62.2,默认网关10.1.62.1,XP2为10.0.62.2,默认网关为10.0.62.1。5.PCB也添加了默认网关到10.66.1.2,此时PCA再ping PCB的10.66.1.1就通了,因为PCB现在有了正确的网关设置,可以路由返回的流量。(1)用ping命令测试实验中配置的路由是否正确,可以用ping命令去ping另一个网络(或子网)中的主机。功能:跟踪数据包从本机到目标主机的路径,显示经过的每个节点(路由器)的延迟和 IP 地址。

2025-08-12 21:41:56 759

原创 Java面试必会题

java 内存图基本类型128陷阱字符串常用api字符串为啥是不可变的static关键字有啥作用final关键字由啥作用为啥重写equals 要重写hashcode常用的集合反射代理面向对象的特性,分别在什么地方有应用权限修饰符异常体系。

2025-08-12 21:19:24 263

原创 震惊,小小Java竟然有如此背景

它远不止一门编程语言。Java是一个,由编程语言、虚拟机、类库、规范以及庞大的开发者社区共同构成。这个体系提供了一个强大的、的环境,使其成为从智能卡、手机到企业服务器、大型机乃至云端应用的。

2025-07-14 12:11:10 680

原创 解密Java中的“128陷阱”:为何 Integer(110)==Integer(110) 为真,而 Integer(130)==Integer(130) 为假?

Java的Integer类通过对常用的小整数(默认为 -128 到 127)进行了缓存优化,以减少对象创建开销。方法利用了这个缓存。当通过自动装箱(如)或直接调用获取一个在缓存范围内的整数对象时,返回的是缓存中同一个对象的引用。当获取一个超出缓存范围的整数对象时,valueOf()会创建一个新的Integer对象。因此,使用==比较两个Integer对象的引用时,结果取决于它们的值是否在缓存范围内。这常常导致不符合直觉的结果(“陷阱”)。

2025-07-08 14:28:30 523

原创 燕山大学大数据分析实验报告(25全英超详细版)

====================== 0. 初始化Spark会话 ======================# ====================== 6. 结束Spark会话 ======================# ====================== 1. 加载原始数据 ======================# ====================== 2. 特征工程 ======================

2025-06-21 21:55:48 926

原创 燕山大学多核程序设计实验(25最新版)

学习多核多线程的基本编程方式软件工具:Visual Studio练习线程的创建,同步函数的使用(1)实验代码01020304050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364全局退出标志。

2025-06-21 21:38:23 867

原创 AI狂潮下的冷思考:一个“局内”学生的观察笔记

(05)智能的本质是学习而非推理,知识真正的特点不是量的扩张,而是知识背后网络的复杂度和丰富度。知识点本身不重要,但理解知识背后的网络和体系,学习新知识的能力,形成自我知识结构的能力、动手解决问题的能力变得极为重要。深度学习发展史中符号主义(Symbolism)与连接主义(Connectionism)的学派之争,本质上是人类对智能本质理解的两种哲学路径的碰撞。符号主义主导早期AI会议(如IJCAI),研究资金流向专家系统项目(如日本的第五代计算机计划),连接主义被边缘化为"异端"。

2025-06-21 17:40:08 895

原创 计算机操作系统临考知识点与习题

硬实时任务:系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果;软实时任务:对截止时间有要求,但不严格,若偶尔错过了任务的截止时间对系统产生的影响也不会太大。

2025-05-06 15:12:18 589

原创 鸢尾花数据集K-means聚类实验

通过PySpark实现K-means算法,探索不同聚类数(k=1,2,3)对鸢尾花数据集的聚类效果,验证算法性能与数据分布特性。spark.sparkContext.setLogLevel("ERROR") # 仅显示错误日志。distanceMeasure="cosine", # 改用余弦距离。initMode="random", # 尝试不同初始化策略。k=1时手动生成全0标签(规避Spark限制)科研场景:选择k=3(更符合生物学分类)工程场景:选择k=2(更高的簇内一致性)

2025-04-22 11:07:05 1169

原创 燕山大学计算机网络之Java实现TCP数据包结构设计与收发

本项目基于Java语言设计并实现了一套完整的TCP数据包构造、发送与接收系统,旨在深入解析TCP协议的核心机制及其可靠性保障原理。通过模块化开发方法,系统实现了TCP头部结构定义、校验和计算、单向通信等基础功能,并进一步扩展了三次握手连接管理、序列号随机化、动态窗口流量控制等关键协议特性。项目采用Socket编程与自定义协议栈相结合的技术路线,在数据链路层模拟了TCP/IP协议栈的交互流程,并通过Wireshark抓包验证了协议字段的完整性与准确性。

2025-04-17 21:16:17 873

原创 分布式协议:Gossip协议

在分布式系统中,不同节点进行数据&信息共享是一个基本的需求。一种比较简单粗暴的方法就是集中式发散消息,简单点来说就是一个主节点同时共享最新信息给其他所有节点,比较适合中心化系统。这种方法的缺陷也很明显,节点多的时候不光同步消息的效率低,还太依赖中心节点,存在单点风险问题。Gossip直译过来就是闲话、流言蜚语的意思。即容易被传播且传播速度快。Gossip协议也叫Epidemic协议(流行病协议)或者Epidemic propagation算法(疫情传播算法)。

2025-04-06 17:47:36 1107

原创 Linux主要开发工具之gcc、gdb与make

1.4 动态链接库与静态链接库Linux下库文件的命名有一个约定,所有的库名都以lib开头。形如:lib。

2025-04-06 17:21:25 679

原创 Linux文本编辑与shell程序设计

作为命令解释程序一种高级程序设计语言,它有变量,关键字,有各种控制语句,如ifcasewhilefor等语句,支持函数模块,有自己的语法结构shell特点:☆组合新命令 ☆提供了文件名扩展字符☆直接使用shell的内置命令☆灵活地使用数据流☆结构化的程序模块☆在后台执行命令☆可配置的环境☆高级的命令语言shell种类:(简称sh(简称csh(简称ksh即bash)

2025-04-06 15:40:15 874

原创 Linux基础知识详解与命令大全(超详细)

这个启动管理程序的目的是加载(load)操作系统的核心文件,由于启动管理程序是操作系统在安装的时候所提供的,所以他会认识硬盘内的文件系统格式,因此就能够读取核心文件,然后接下来就是核心文件的工作,启动管理程序也功成圆满,之后就是大家所知道的操作系统的任务。命令将会修改指定文件的时间标签,把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来。是很重要的,因为当系统在启动的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里且该如何进行启动。

2025-04-06 04:41:27 1576

原创 燕山大学计算机网络实验(包括实验指导书)

1.了解网络命令的基本功能2.掌握基本网络命令的使用方法3.掌握使用网络命令观察网络状态的方法1.安装 TCP/IP。2.手动配置TCP/IP参数。3.使用ipconfig命令来测试TCP/IP是否安装成功。4.使用ping命令来验证。5.学习tracert、 netstat、 arp、net等命令的功能及使用方法1.安装 TCP/IP。图1-1TCP/IP。

2025-04-05 22:37:59 1171

原创 《Linux应用技术》实验报告

依赖关系图的理解:假设当前工程目录为prj/,该目录下有6个文件,分别是:main.c、abc.c、xyz.c、abc.h、xyz.h和Makefile。其中main.c包含头文件abc.h和xyz.h,abc.c包含头文件abc.h,xyz.c包含头文件xyz.h,而abc.h又包含了xyz.h。

2025-04-01 10:53:14 757

原创 分布式算法:Paxos & Raft 两种共识算法

Paxos算法是第一个被证明完备的分布式系统共识算法。共识算法的作用是让分布式系统中的多个节点之间对某个提案(Proposal)达成一致的看法。提案的含义在分布式系统中十分宽泛,像哪一个节点是Leader节点、多个事件发生的顺序等等都可以是一个提案。Basic-Paxos算法:描述的是多节点之间如何就某个值(提案Value)达成共识。Multi-Paxos算法:描述的是执行多个Basic Paxos实例,就一系列值达成共识。

2025-03-23 15:16:34 1309

原创 手把手教你搭建基于Hexo+GitHub的个人博客网站

快来搭建属于你自己的博客网站吧。Hexo(外网,架梯子会快些)什么是Hexo?Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用Markdown(或其他标记语言)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。前提要求?Node.js(Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本)Git1验证npm与node安装成功:2 验证git安装成功:3注册一个GutHub账号并完成邮箱验证在完成上述内容的安装后安装Hexo。

2025-03-22 22:30:42 1005

原创 分布式理论:CAP&BASE理论

CAP也就是Consistency(一致性)、Availability(可用性)、Partition Tolenrance(分区容错性)这三个单词首字母组合。在理论计算机科学中,CAP定理(CAP theorem)指出对于一个分布式系统来说,当涉及读写操作时,只能同时满足C、A、P三点中的两点:(而且一定是CP或者是AP,没有CA情况)一致性(C):所有节点访问同一份最新的数据副本可用性(A):非故障的节点在合理的时间内返回合理的响应(不是错误的或者超时的响应)。

2025-03-21 17:51:30 1088

原创 避免死锁--银行家算法详解

如果不会,才将资源分配给它,否则让进程等待。③ 系统先假定可为P0分配资源,并修改Available,Allocation0,Need0向量,根据公式可得Available=[2,0,5,1,0],Need0=[0,0,2,1,0],Allocation0=[1,2,1,1,2],修改P0的这三个值;我们首先先将表格补充完整,已知各种资源的数量,那只需用[5,6,8,6,4]减去所有对应进程号的Allocation的和[2,6,3,5,3]就可以得到Available的值为[3,0,5,1,1]。

2025-03-11 19:02:04 1025

原创 处理机调度算法大全(最详细!含进程、作业、实时调度算法)

在上述三种调度中,进程调度的运行频率最高,在分时系统中通常仅10ms~100ms便进行一次进程调度,因此把它称作为短程调度。为避免调度本身占用太多的CPU时间,不宜使进程调度算法太复杂。作业调度往往是发生在一批作业 已运行完毕并退出系统,又需要重新调入一批作业进入内存时,作业调度的周期较长,大概几分钟一次,因此把它称为长程调度。由于其运行频率较低,故允许作业调度算法花费较多的时间。中级调度的运行频率基本上介于上述两种调度之间,因此把它称为中程调度。

2025-03-11 18:02:07 1649

原创 RabbitMQ 从入门到精通

消息中间件基于队列模型实现异步/同步传输数据作用:可以实现支撑高并发、异步解耦、流量削峰、降低耦合度。

2025-03-09 16:00:13 1618

原创 MyBatis-Plus (超详细 Spring版)

MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。在Spring整合MyBatis中加入了后,我们就可以使用所提供的BaseMapper实现CRUD,并不需要编写映射文件以及SQL语句但是若要自定义SQL语句,仍然可以编写映射文件而不造成任何影响因为只做增强,而不做改变/*** 根据年龄查询用户列表,分页显示。

2025-03-08 00:34:10 1097

原创 MyBatis-Plus (超详细! Spring Boot 版 )

(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。提供了通用的Mapper和Service,可以在不编写任何SQL语句的前提下,快速的实现单表的增删改查(CURD),批量,逻辑删除,分页等操作。只要把MyBatis-Plus的特性到优秀插件,以及多数据源的配置进行详细讲解。/*** 根据年龄查询用户列表,分页显示。

2025-03-07 22:12:17 2251

原创 MySQL 索引 (超详细 面试重点!)

索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。索引的作用就相当于书的目录。打个比方:我们在查字典的时候,如果没有目录,那我们就只能一页一页的去查我们需要的那个字,如果有目录就直接按照目录翻到那一页就行。索引的底层数据结构存在很多种类型,常见的有:B树,B+树和Hash、红黑树。在MySQL中,无论是Innodb还是MyIsam,都使用了B+树作为索引结构。BTree索引:MySQL里默认和最常用的索引类型。只有叶子结点存储value,非叶子结点只有指针和Key。

2025-03-07 15:35:32 1371

原创 布隆过滤器(附带位图讲解)

布隆过滤器(Bloom Filter,BF)是Bloom 于 1970 年提出。我们可以把它看作由二进制向量(或者说位数组)和一系列随机映射函数(哈希函数)两部分组成的数据结构。相比于我们平时常用的 List、Map、Set 等数据结构,它占用空间更少并且效率更高,但是缺点是其返回的结果是概率性的,而不是非常准确的。理论情况下添加到集合中的元素越多,误报的可能性就越大。并且,存放在布隆过滤器的数据不容易删除。

2025-03-04 20:08:12 1050

原创 Zookeeper 及 基于ZooKeeper实现的分布式锁

ZooKeeper是一个开源的分布式协调服务,它的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。原语:操作系统或计算机网络用语范畴。是由若干条指令组成的,用于完成一定功能的一个过程。具有不可分割性,即原语的执行必须是连续的,在执行过程中不允许被中断。

2025-03-04 12:09:36 1404

原创 TCP 连接故障排查与 SYN 洪泛攻击防御

从物理层(网卡错误)→ 网络层(路由/防火墙)→ 传输层(TCP参数)→ 应用层(协议设计)逐层排查。

2025-03-03 21:45:02 1466 4

原创 从DNS到TCP:DNS解析流程和浏览器输入域名访问流程

在生活中我们会经常遇到域名,比如说优快云的域名www.youkuaiyun.com,百度的域名www.baidu.com,我们也会碰到IP,现在目前有的是IPV4,IPV6。那这两个有什么区别呢?IP地址是互联网上计算机唯一的逻辑地址,通过IP地址实现不同计算机之间的相互通信,每台联网的计算机都需要通过IP地址来互相联系和分别。但是由于IP地址是由一串容易混淆且很难记忆的数字串构成,这对我我们日常生活访问不同网站是很困难的。

2025-03-03 16:42:31 1214

原创 Java 并发容器(含 ConcurrentHashMap、CopyOnWriteArrayList、ConcurrentLinkedQueue、BlockingQueue等)

JDK提供的这些容器大部分在包中。线程安全的 HashMap线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector.高效的并发队列,使用链表实现。可以看做一个线程安全的 LinkedList,这是一个非阻塞队列。这是一个接口,JDK 内部通过链表、数组等方式实现了这个接口。表示阻塞队列,非常适合用于作为数据共享的通道。跳表的实现。这是一个 Map,使用跳表的数据结构进行快速查找。在很多应用场景中,读操作可能会远远大于写操作。

2025-03-02 21:30:03 1373

原创 数据结构秘籍(四) 堆 (详细包含用途、分类、存储、操作等)

插入元素:先将元素放置到元素末尾,再自底向上堆化,使末尾元素上浮。删除堆顶元素:将末尾元素放置堆顶,再自顶向下堆化,将堆顶元素下沉。也可以自底向上堆化,只是会产生空缺,浪费存储空间。最好采用自顶向下的堆化方式。

2025-03-02 17:35:00 1202

原创 数据结构秘籍(三)树 (含二叉树的分类、存储和定义)

根结点的序号为1,对于每个结点Node,假设它存储在数组中下标为i的位置,那么它的左子结点就存储在2i的位置,它的右子结点就存储在下标为2i+1的位置。二叉树的第i层最多拥有2的(n-1)次方个结点,深度为k的二叉树至多有2^(k+1)-1个结点(满二叉树),至少有2的n次方个结点,这里面的k为深度。二叉树的先序遍历是先输出根结点,再遍历左子树,最后遍历右子树,遍历右子树和左子树的时候同样 遵循先序遍历的规则,也就是说,我们可以递归实现先序遍历。并且,二叉树的分支具有左右次序,不能随意颠倒。

2025-02-28 19:20:32 863

原创 数据结构秘籍(二)图(含图的概念、存储以及图的两大搜索)

对于一个关系,如果我们既关心关系的有无,也关心关系的强度,比如某某某的好感度,你对人家好感度百分百,人家对你好感度百分之零(一个悲伤的故事),那么就可以用带权图来表示,带权图中每一条边用一个数值表示权值,代表关系的强度。边表示的是顶点之间的关系,有的关系是双向的,比如同学,A是B的同学,那么B也肯定是A的同学,那么在表示A和B的关系时,就不用关注方向,用不带箭头的边表示,这样的图就是无向图。在无向图中,邻接表元素个数等于边的条数的两倍,如左图所示的无向图中,边的条数为7,邻接表存储的元素个数为14。

2025-02-28 17:31:23 1215

原创 数据结构秘籍(一)线性数据结构(数组、链表、栈、队列一次看完)

链表(LinkedList)虽然是一种线性表,但是并不会按线性的顺序存储数据,使用的不是连续的内存空间来存储数据。链表的插入和删除操作的复杂度为O(1),只需要知道目标位置元素的上一个元素即可。但是,在查找一个节点或者访问特定位置的节点的时候复杂度为O(n).使用链表结构可以克服数组需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但链表不会节省空间,相比于数组会占用更多的空间,因为链表中每个节点存放的还有指向其他节点的指针。除此之外,链表不具有数组随机读取的优点。

2025-02-26 12:37:55 907

原创 Java并发 乐观锁和悲观锁

悲观锁总是假设最坏的情况,认为共享资源每次被访问的时候就会出现问题(比如共享数据被修改),所以每次在获取资源操作的时候都会上锁,这样其他线程想拿到这个资源就会阻塞直到锁被上一个持有者释放。也就是说,共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程。像Java 中synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。// 需要同步的操作try {// 需要同步的操作。

2025-02-24 23:35:14 825

原创 Java 代理模式

在Java 动态代理机制中接口和Proxy类是核心。Proxy,这个方法主要用来生成一个代理对象。Class<?......loader:类加载器,用于加载代理对象。interfaces: 被代理类实现的一些接口;h: 实现了接口的对象;要实现动态代理的话,还必须要实现 InvocationHandler 来自定义处理逻辑。当我们的动态代理对象调用一个方法时,这个方法的调用就会被转发到实现InvocationHandler 接口类的invoke方法来调用。/**

2025-02-24 23:06:48 1073

原创 Java 序列化

如果我们需要持久化Java对象比如说将Java对象保存在文件中,或者在网络传输Java对象,这些场景都需要序列化。简单来说序列化:将数据结构或者对象转换成可以存储或传输的形式,通常是二进制字节流,也可以是JSON,XML等文本格式反序列化:将在序列化过程中所生成的数据转换为原始数据结构或者对象的过程。

2025-02-24 20:45:55 943

原创 Java 值传递

在 swap()方法中,a、b的值进行交换,并不会影响到num1 、num2。因为,a、b的值,只是从num1、num2的复制过来的。也就是说,a、b相当于num1、num2的副本,副本的内容无论怎么修改都不会影响到原件本身。因此,person1和person2的互换只是拷贝的两个地址的互换罢了,并不会影响到实参xiaoZhang和xiaoLi。也就是说change方法的超参数拷贝的是arr(实参)的地址,因此,它和arr指向的是同一个数组对象。这里的传递的还是值,不过,这个值是实参的地址罢了。

2025-02-24 00:02:52 806

原创 深入解析JVM垃圾回收机制

大部分情况,对象都会首先在 Eden 区域分配,在一次新生代垃圾回收后,如果对象还存活,则会进入 s0 或者 s1,并且对象的年龄还会加 1(Eden 区->Survivor 区后对象的初始年龄变为 1),当它的年龄增加到一定程度(默认为 15 岁),就会被晋升到老年代中。):“Hotspot 遍历所有对象时,按照年龄从小到大对其所占用的大小进行累积,当累积的某个年龄大小超过了 survivor 区的一半时,取这个年龄和 MaxTenuringThreshold 中更小的一个值,作为新的晋升年龄阈值”。

2025-02-21 22:46:04 1089

原创 JVM之JDK内置故障排查工具深度解析

VisualVM(All-in-One Java Troubleshooting Tool)是到目前为止随 JDK 发布的功能最强大的运行监视和故障处理程序,官方在 VisualVM 的软件说明中写上了“All-in-One”的描述字样,预示着他除了运行监视、故障处理外,还提供了很多其他方面的功能,如性能分析(Profiling)。生成线程快照的目的主要是定位线程长时间出现停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等都是导致线程长时间停顿的原因。:输出对应名称的参数的具体值。

2025-02-21 21:28:34 979

算法设计与分析三级项目-管道铺设系统 各个点的距离.txt

算法设计与分析三级项目-管道铺设系统 各个点的距离.txt

2025-02-06

算法设计与分析三级项目-管道铺设系统 各个点的距离.txt 可执行文件.exe

算法设计与分析三级项目-管道铺设系统 各个点的距离.txt

2025-02-06

最新编译原理课设报告递归下降LL(1)语法分析程序(java完整版)

最新编译原理课设报告递归下降LL(1)语法分析程序(java完整版)

2025-01-19

完整SSM整合项目(含增删改查)详解

完整SSM整合项目(含增删改查)详解

2024-11-15

IntelliJ IDEA不同类型的Java项目创建指南

IntelliJ IDEA不同类型的Java项目创建指南

2024-10-24

IDEA环境中Maven项目的创建与配置方法

IDEA环境中Maven项目的创建与配置方法

2024-10-24

Idea使用教程 和 Idea创建项目的搭建方式

Idea使用教程 和 Idea创建项目的搭建方式

2024-08-21

空空如也

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

TA关注的人

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