自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(652)
  • 资源 (2)
  • 收藏
  • 关注

原创 Nginx面试题一步到位

Nginx是一个 轻量级/高性能的反向代理Web服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协议。他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发。一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。正向代理总结就一句话:代理端代理的是客户端。

2023-02-23 10:04:31 477

原创 一文打通java线程

是为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码,静态对象。是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期进程可进一步细化为线程,是一个程序内部的一条执行路径。 单核CPU,其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程 的任务。例如:虽然有多车道,但是收费站只有一个工作人员在收费,只有收了费 才能通过,那么CPU就好比收费人员。如果有某个人不想交钱,那么收费人员可以 把他“挂起”(晾着他,等他想通了,准

2023-01-24 17:30:41 1887

原创 Nginx之memcached_module模块解读

nginx的memcached_module模块可以直接从memcached服务器中读取内容后输出,后续的请求不再经过应用程序处理,如php-fpm、django,大大的提升动态页面的速度。nginx只负责从memcached服务器中读取数据,要往memcached写入数据还得需要后台的应用程序来完成,主动的将要缓存的页面缓存到memcached中,可以通过404重定向到后端去处理的。

2023-09-27 07:43:02 31

原创 Nginx之带宽限制解读

在高负载的网络环境下,为了保持服务的稳定性,限速 (download rate) 是一种必要的操控拜访量的手法。Nginx 是一款高性能的 Web 服务器和反向代理服务器,可以运用 limit_rate_after 和 limit_rate 两个首要指令来完结流量操控和限速。作为NGINX流量管理的三大功能之一,带宽控制的实现相对简单。它也只是实现了单个连接上的带宽控制,经常要和速率控制、并发控制一起使用来实现客户端的流量管理。

2023-09-26 08:46:22 33

原创 Nginx之QPS限制模块解读

NGINX通过limit_req_zone和limit_req两条指令来实现速率限制。指令limit_req_zone定义了限速的参数,指令limit_req在所在的location使能定义的速率。QPS即每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。QPS = req/sec = 请求数/秒,即每秒的响应请求数,也即是最大吞吐能力。

2023-09-25 09:11:34 49

原创 Nginx之error_page模块解读

其原理是响应到错误代码后,导向指定的路由,然后再由指定的路由处理,如下当错误代码是404时,相当于访问http://localhost:80/50x.html,正好被内部传送给 location = /50x.html让其来进行处理(需要注意必须有50x.html这个页面)当nginx发生内部错误时,比如说404、403、500等错误,默认会跳转到nginx自带的错误页面。其原理是响应到错误代码后,302(临时重定向到目标网址),如下当错误代码为404时,导向。,默认为 200,不加。

2023-09-24 08:48:27 75

原创 Nginx之gzip模块解读

gzip是GNUzip的缩写,最早用于UNIX系统的文件压缩。HTTP协议上的gzip编码是一种用来改进web应用程序性能的技术,web服务器和客户端(浏览器)必须共同支持gzip。目前主流的浏览器,Chrome,firefox,IE等都支持该协议。常见的服务器如Apache,Nginx,IIS同样支持gzip。

2023-09-23 09:04:55 159

原创 Nginx之防盗链及高可用解读

网页的加载顺序是先加载HTML相关的内容,然后解析HTML的内容,那些需要加载图片,那些需要加载文件,是逐步加载的,对于我们线上的图片等静态资源,经常会被其他网站盗用,外面可以我们请求到一个页面后,这个页面一般会再去请求其中的静态资源,这时候请求头中,会有一个refer字段,表示当前这个请求的来源,我们可以限制指定来源的请求才返回,否则就不返回,这样可以防止资源被盗用。高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。

2023-09-22 07:43:22 81

原创 Nginx之会话管理解读

集群模式下,里面会含有多个服务器,而客户端在某个时刻访问哪个服务器是由负载均衡器决定的,这里就产生了一个问题如果一个用户的Session信息如果存储在一个服务器上,那么当负载均衡器把用户的下一个请求转发到另一个服务器上,由于服务器上没有用户的session信息,那么该用户就需要重新进行登录操作,或者是在某一个服务器上时创建的重要session信息将丢失。瓶颈:一直扩容下去也是有瓶颈的,比如主板只能支持100G的内存,你插再大的内存条也不管事,主板不支持,所以得再叠加水平扩容。比如说买块内存条,换个ssd。

2023-09-21 08:40:08 43

原创 Nginx之sticky第三方模块使用解读

Sticky就是基于cookie的一种负载均衡解决方案,它是通过基于cookie实现客户端与后端服务器的会话保持, 在一定条件下可以保证同一个客户端访问的都是同一个后端服务器。请求来了,服务器发个cookie,并说:下次来带上,直接来找我。Sticky是nginx的一个模块,它是基于cooki e的一种nginx的负载均衡解决方案,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上,默认标识名为route。

2023-09-20 07:46:09 248

原创 Nginx之keepalive配置解读

keepalive是HTTP/1.1协议中的一个特性,它允许客户端和服务器之间的TCP连接在一个HTTP请求/响应周期结束后保持打开状态,以便在后续的请求中重复使用。这样可以减少TCP连接的建立和关闭次数,从而提高性能。(注意:keepalive是tcp层长连接探活机制;keep-alive是应用层http协议使用,在其头部Connection字段中的一个值,只是代表客户端与服务之间需要保持长连接,可以理解为通过此字段来告诉nginx此连接需要维持长连接,处理完别直接关闭连接。

2023-09-19 08:52:19 122

原创 Nginx之负载均衡解读

为了避免服务器崩溃,大家会通过负载均衡的方式来分担服务器压力。将对台服务器组成一个集群,当用户访问时,先访问到一个转发服务器,再由转发服务器将访问分发到压力更小的服务器。负载均衡(Load Balancing)是将传入的请求流量分发到多个后端服务器的技术,以达到消除单点故障、提高可用性、增加扩展性等目的。

2023-09-18 09:18:05 58

原创 Nginx之配置文件及基础概念解读

本文只涉及Nginx最小的配置文件进行解读,并对该文件的内容进行一些补充的说明。

2023-09-17 09:07:48 52

原创 华为云云耀云服务器L实例评测|基于Docker环境快速部署Halo个人博客实操

云耀云服务器L实例是新一代开箱即用、面向中小企业和开发者打造的全新轻量应用云服务器。云耀云服务器L实例提供丰富严选的应用镜像,实现应用一键部署,助力客户便捷高效的在云端构建电商网站、Web应用、小程序、学习环境、各类开发测试等。云计算服务的入门用户服务器中部署简单应用的个人开发者、中小企业云耀云服务器L实例购买地址​​云耀云服务器L实例具备计算、存储、镜像安装、备份等能力。智能不卡顿:瑶光AI智能调度与新一代网络技术,软硬实力驱动性能倍增,成就更流畅、稳定的上云体验价优随心用。

2023-09-16 08:47:25 218

原创 华为云云耀云服务器L实例评测|Java常见开发环境实操部署

云耀云服务器L实例是新一代开箱即用、面向中小企业和开发者打造的全新轻量应用云服务器。云耀云服务器L实例提供丰富严选的应用镜像,实现应用一键部署,助力客户便捷高效的在云端构建电商网站、Web应用、小程序、学习环境、各类开发测试等。云计算服务的入门用户服务器中部署简单应用的个人开发者、中小企业云耀云服务器L实例购买地址​云耀云服务器L实例在不同区域中部署,一个区域发生故障后不会影响其他区域的云服务器。

2023-09-15 07:58:39 82

原创 华为云云耀云服务器L实例评测|手把手教你搭建一个论坛

本文基于华为云云耀云服务器快速搭建的个人论坛网站,基于Discuz!开源代码,新手也可快速把握,拳拳到肉

2023-09-14 08:29:58 103

原创 Liunx系统下载安装Nginx下载安装

Nginx开源版 http://nginx.org/en/官方原始的Nginx版本Nginx plus商业版开箱即用,集成了大量功能OpenResty是一个基于Nginx与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。更适用于需要大量二次开发的场景,有极强的扩展性由淘宝网发起的Web服务器项目。它在的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如。

2023-09-13 07:47:44 146

原创 Redis之string类型的三大编码解读

在 Redis 中,String 类型的数据结构并不是采用 C 语言中自带的字符串类型,C 语言中的数据结构存在很多问题,比如:获取字符串长度的需要通过运算非二进制安全不可修改因此,String 在 Redis 中有其他三种编码方式: int、embstr、raw。其中, raw 和 embstr 类型,都是基于动态字符串(SDS)实现的。

2023-09-12 08:39:11 239

原创 Redis之Redis为什么这么快解读

当别人问我们Redis这么快的时候,很多小白都只会简简单单的回答,因为Redis它是基于内存存储的,使用内存存储数据,可以避免频繁的进行写盘操作,大大降低响应时间。这个确实是一个原因,但回答的还是不够面。起码在这里还得回答上高效的数据结构以及IO网络多路复用的设计架构。Redis 采用网络 I/O 多路复用技术,要想理解IO多路复用的话,还得去理解下阻塞 I/O 模型,非阻塞 I/O 模型。

2023-09-11 08:19:21 58

原创 Redis之Redis 6.0中Hash(ziplist)解读

​Redis中hash数据类型使用了两种编码格式:ziplist(压缩列表)、hashtable(哈希表) 在redis.conf配置文件中,有以下两个参数,意思为:当节点数量小于512并且字符串的长度小于等于64时,会使用ziplist编码。​ziplist 是一个经过特殊编码的双向链表,旨在提高内存效率。它存储字符串和整数值,其中整数被编码为实际整数而不是一系列字符。它允许在 O(1) 时间内在列表的任一侧进行推送和弹出操作。但是,由于每个操作都需要重新分配 ziplist 使用的内存。

2023-09-10 09:24:39 109

原创 Redis之布隆过滤器(Bloom Filter)解读

在实际开发中,会遇到很多要判断一个元素是否在某个集合中的业务场景,类似于垃圾邮件的识别,恶意ip地址的访问,缓存穿透等情况。类似于缓存穿透这种情况,有许多的解决方法,如:redis存储null值等,而对于垃圾邮件的识别,恶意ip地址的访问,我们也可以直接用 HashMap 去存储恶意ip地址以及垃圾邮件,然后每次访问时去检索一下对应集合中是否有相同数据。

2023-09-09 08:08:14 220

原创 Redis之SDS底层原理解读

Redis 采用一段连续的内存空间来存储 SDS 结构,具体结构如下图所示,free 代表指这个字符串剩余可用空间的长度,而 len 代表这个字符串已占用空间的长度,buf [] 就是字符数组。// 记录 buf 数组中已使用字节的数量// 等于 SDS 所保存字符串的长度int len;// 记录 buf 数组中未使用字节的数量int free;// 字节数组,用于保存字符串char buf[];

2023-09-08 07:42:03 227

原创 Redis之缓存穿透,雪崩,击穿解读

本文总结了Redis之缓存穿透,雪崩,击穿解读,新手可快速把握重点,老手可以迅速回顾知识点。

2023-09-07 08:41:32 93

原创 Redis之过期key的淘汰及缓存淘汰策略解读

我们都知道在Redis 所有的数据结构都可以设置过期时间,时间一到,就会自动删除。想象一下里面有一个专门删除过期数据的线程,如果数据已过期就立马删除。这个时候可以思考一下,会不会因为同一时间太多的 key 过期,以至于线程忙不过来。同时因为 Redis 是单线程的,删除的时间也会占用线程的处理时间,如果删除的太过于繁忙,会不会导致线上读写指令出现卡顿。

2023-09-06 07:35:31 60

原创 Redis之缓存和数据库双写一致方案讨论解读

只要用缓存,就可能会涉及到缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题。我们需要保证redis跟数据库的中的数据保持一致,返回正确的数据。

2023-09-05 08:11:29 339

原创 Redis之哨兵模式解读

当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多时候,我们优先考虑哨兵模式。

2023-09-04 07:53:30 1025

原创 Redis之主从复制解读

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master/Leader),后者称为从节点(Slave/Follower)数据的复制是单向的!只能由主节点复制到从节点(主节点以写为主、从节点以读为主)数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点,一个主节点可以有0个或者多个从节点,但每个从节点只能有一个主节点。

2023-09-03 08:55:06 215

原创 Redis之MoreKey问题及Scan命令解读

大量的数据使用key*查看或者删除会导致严重的时间消耗,这个指令没有offset、limit 参数,是要一次性吐出所有满足条件的key,由于redis,是单线程的,其所有操作都是原子的,而keys算法是遍历算法,复杂度是O(n),SCAN 返回一个包含两个元素的数组, 第一个元素是用于进行下一次迭代的新游标, 而第二个元素则是一个数组, 这个数组中包含了所有被迭代的元素。返回值:返回的每个元素都是一个有序集合元素,一个有序集合元素由一个成员(member)和一个分值(score)组成。

2023-09-02 00:05:55 240

原创 Redis之bigkey问题解读

目录什么是bigkey?bigkey引发的问题如何查找bigkeyredis-cli --bigkeysMEMORY USAGEbigKey如何删除渐进式删除unlinkbigKey生产调优bigkey简单来说就是存储本身的key值空间太大,或者hash,list,set等存储中value值过多。具体来衡量的话大key是:可以通过redis客户端提供的命令 redis-cli --bigkeys来查看好处:给出每种数据结构Top 1 bigkey,同时给出每种数据类型的键值个数+平均大小不足:想查询

2023-09-01 09:13:30 533

原创 Redis之发布订阅解读

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:Redis 客户端可以订阅任意数量的频道。Redis的Pub/Sub展示了最多一次消息传递语义。

2023-08-31 10:37:39 92

原创 Redis之管道解读

Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务器。客户端发送一个请求到服务器,并以阻塞的方式从socket读取数据,获取服务端响应。服务端处理请求命令并发送响应回给客户端。以上两步称为:Round Trip Time(简称RTT,数据包往返于两端的时间)。管道主要解决的就是redis频繁命令往返造成的性能瓶颈Clients 和 Servers 通过网络连接. 可以是本地非常快的网络,或者是通过互联网连接很远的网络。不管网络延迟如何,

2023-08-30 09:40:57 553

原创 Redis之事务解读

事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。事务中的命令要么全部被执行,要么全部都不执行。Redis事务的三个特性:一致性,顺序性,排他性开始事务。命令入队。执行事务。Redis事务不可回滚。

2023-08-29 09:35:12 85

原创 Redis持久化之AOF解读

以日志的形式来记录每个写操作(增量保存),将Redis执行过的所有写指令记录下来(读操作不记录), 只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis 重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作AOF持久性记录服务器收到的每个写入操作。然后可以在服务器启动时再次重播这些操作,重建原始数据集。命令的记录格式与 Redis 协议本身相同。

2023-08-28 10:24:29 123

原创 Redis持久化之RDB解读

在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的。这就确保了极高的性能。如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。

2023-08-27 09:16:49 205

原创 Redis之stream类型解读

Redis stream(流)是一种数据结构,其作用类似于仅追加日志,但也实现了多个操作来克服典型仅追加日志的一些限制。其中包括O(1)时间的随机访问和复杂的消费策略,如消费者群体。您可以使用流实时记录和同时联合事件。Redis 为每个stream(流)条目生成一个唯一的 ID。可以在以后使用这些 ID 检索其关联的条目,或读取和处理流中的所有后续条目。Redis Stream 主要用于消息队列(MQ,Message Queue)

2023-08-26 08:36:57 710

原创 Redis之GEO类型解读

GEO 主要用于存储地理位置信息(纬度、经度、名称)添加到指定的key中。该功能在 Redis 3.2 版本新增。GEO(Geo Redis)是一个用于存储和操作地理空间数据的 Redis 模块。它提供了一组命令,可以将地理位置数据存储为 Redis 键值,并支持各种地理位置查询和操作。Redis GEO 可以在需要处理地理位置数据的场景中使用,例如近邻查询、地理位置路由、基于地理位置的服务等。使用 Redis GEO 可以高效地处理大量的地理位置数据。

2023-08-25 09:14:01 775

原创 Redis之HyperLogLog类型解读

HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。

2023-08-24 08:27:14 101

原创 Redis之bitmap类型解读

Redis 的位图(bitmap)是由多个二进制位组成的数组,只有两种状态,0和1, 数组中的每个二进制位都有与之对应的偏移量(从 0 开始),通过这些偏移量可以对位图中指定的一个或多个二进制位进行操作。可以把 Bitmap 想象成一个以位为单位的数组,数组的每个单元只能存储 0 和 1,数组的下标在 Bitmap 中叫做偏移量 offset,bitmap默认值都为0.

2023-08-23 08:35:49 511

原创 Redis之zset(sorted set)类型解读

Redis有序集合zset与普通集合set非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每个成员都关联了一个评分(score),这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

2023-08-22 11:39:36 379

原创 Reids之Set类型解读

新的存储需求:存储大量的数据在查询方面提供更高的效率需要的存储结构:能够保存大量的数据,高效的内部存储机制,便于查询set类型:与hash存储结构完全相同,底层数据结构使用哈希表,仅存储field,不存储value(nil),并且field不允许重复Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

2023-08-21 20:28:07 173

ssm框架整合实战课设,代码简单容易上手

ssm框架整合实战课设,代码简单容易上手 实验目标: 完成Spring框架、Mybatis框架和SpringMVC框架的整合案例。 了解SSM框架的工作流程。 学会在开发时正确的使用SSM框架。 实验所需软件: eclipse或者idea 完成Spring框架、Mybatis框架和SpringMVC框架的整合案例 将实验步骤清晰详细写出 1. 使用idea创建一个名为ssm的Maven项目。 2.在pom文件中导进所需要的jar包 3.在mysql中创建一个ssm的数据库并在改数据库创建表执行下列sql语句 CREATE TABLE `t_emp` ( `emp_id` INT(11) NOT NULL AUTO_INCREMENT, `emp_name` VARCHAR(20) DEFAULT NULL, `age` INT(11) DEFAULT NULL, `sex` CHAR(50) DEFAULT NULL, `email` VARCHAR(50) DEFAULT NULL, PRIMARY KEY (`emp_id`) ) ENGI

2023-02-24

Python商品推荐课程设计

1 定义 亲和性分析指的是根据样本个体之间的相似度来确定它们之间关系的亲疏 2 应⽤ 向⽹站⽤户提供多样性化的服务或投放定向⼴告 为了向⽤户推荐电影或商品,⽽卖给他们⼀些与之相关的商品 3 实例 我们通过计算购买不同商品之间的相关性来分析商品之间的亲和性,⽐如说某个⽤户“在购买苹果之后,再购买来⾹蕉”,那么对于 该⽤户来说,“苹果”和“⾹蕉”这两个样本具有⼀定的亲和性。当然这个只是⼀种简单的假设,并没有⼤数据的统计和分析。 规则:“如果顾客购买来商品X,那么他们可能购买商品Y” ⽀持度:指数据集中规则应验的次数,有时候可能需要对⽀持度进⾏规范化 置信度:指的是规则准确率,即符合给定条件的所有规则中,跟当前规则结论⼀致的⽐例 *多件商品的规则会很复杂,此处做了⼀定的简化 4 ⽣成数据 假设有5中商品:[“bread”, “milk”, “cheese”, “apples”, “bananas”],然后构建⼀个字典,⽤来存取两种商品是否存在关联, ⽐如dict[1,3] = 1就表⽰“顾客在购买milk之后,⼜购买了apples”

2023-02-24

学生管理系统数据库课设

学生管理系统数据库课设 学生管理系统数据库课设 学生管理系统数据库课设 2.1.1 功能需求 随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库 来做管理。几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生 信息管理的工作量。该课程要求设计一个学生信息的数据库管理系统,数据库中要求包 含学生的基本信息,课程基本信息,以及学生所学课程的考试成绩。要方便学生进行成 绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力 与实践能力,学以致用,与现实生活中的应用充分的结合起来。 一、 组织结构图 组织结构图是最常见的表现群体关系的一种图像,它形象的反应了组织内各机 构,岗位上下左右相互之间的关系,是对组织结构的直观反应,也是对该组织功能 的一种侧面诠释。

2023-02-24

c语言数据结构课设:神秘国度的爱情故事

数据结构课设:神秘国度的爱情故事 数据结构课设:神秘国度的爱情故事 数据结构课设:神秘国度的爱情故事 数据结构课设:神秘国度的爱情故事 数据结构课设:神秘国度的爱情故事 数据结构课设:神秘国度的爱情故事 数据结构课设:神秘国度的爱情故事 数据结构课设:神秘国度的爱情故事 数据结构课设:神秘国度的爱情故事 数据结构课设:神秘国度的爱情故事 数据结构课设 vector<int>way; typedef struct Edge {//两个村子相邻的边 int v;//邻接点 Edge* next;//下一个邻接点 }Edge; typedef struct Vex {//村子 int data, parent, depth;//村子的编号、双亲节点、深度 int p[20];//最近公共祖先关系法(优化)增加部分 Edge* firstedge;//第一个邻接点 }Vex; typedef struct { Vex *v;//村子数组 int vexnum, arcnum;//村子个数、边数 }Graph;//神秘国度 G.v[i].depth =

2023-02-23

数据结构课设:串的查找,给一文替代换某一个词

c语言数据结构课设:串的查找,给一文替代换某一个词 c语言数据结构课设:串的查找,给一文替代换某一个词 c语言数据结构课设:串的查找,给一文替代换某一个词 c语言数据结构课设:串的查找,给一文替代换某一个词 c语言数据结构课设:串的查找,给一文替代换某一个词 c语言数据结构课设:串的查找,给一文替代换某一个词 c语言数据结构课设:串的查找,给一文替代换某一个词 int next[max]; // kmp算法中的next数组 int T[max]; // 保存匹配字符串的下标集 void UI(); // 主用户界面 void return_UI(); // 返回操作界面 void search_UI(); // 字符串查找界面 void replace_UI(); // 字符串替换界面 int exitInterface_UI(); // 询问用户是否退出 void getNext(char* p, int next[]); // 得到模式串next数组

2023-02-23

javafx+jdbc+mysql实现学生宿舍管理系统

javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手 javafx+jdbc+mysql实现学生宿舍管理系统,即开即用,容易上手

2023-02-23

一个c语言数据结构的简单课设,500多行代码,用到了链表

俩个角色管理员和收银员,分别对应的功能有,商品管理,销售统计 增加商品 修改商品 总销售额度 畅销排行榜 滞销排行榜 typedef struct Info{ char id[100];//商品货号 char name[100];//商品名称 char type[100];//商品类别 int number;//商品数量 float m;//商品的价格 int sale;//销量 }Info; void addShop(node* head) { node* newNode=(node*)malloc(sizeof(node)); printf("*****************\n"); printf("\n请输入商品货号:"); scanf("%s",newNode->k.id); printf("\n请输入商品名称 :"); scanf("%s",newNode->k.name); printf("\n请输入商品类别:"); scanf("%s",newNode->k.type); printf("\n请输入商品数量 :"); sc

2023-01-25

html+css+jq+js网页设计课设(6个页面)环保主题 有登录注册功能,简单的js和jq适合新人,含报告文档

使用html+css+jq+js完成,jq和js的部分比较少,6个界面,环保主题的 html+css+jq+js网页设计课设(6个页面)环保主题。有登录注册功能,简单的js和jq适合课设 本网站面向环保组织的宣传,定位于针对小学生群体进行环境保护宣传,倡导植树造林的公益性网站。致由环保事业的志愿者们共同组建,网站致力于绿色环境保护事业,以小学生环境教育、倡导绿化建设、建立和传播具有中国特色的绿色文化、促进中国的环保事业为宗旨。 网站结构分为以下层次,一是入口,负责网站的登录和注册,二是网站的内部,内部由网站的首页,环保倡议书,环境标准,校园环保图宣传,和留言板功能完成。 网站风格以绿色为主,整体色调干净整洁,大方。 总体效果总结如下 1.突出产品及特征,采用有吸引力的宣传用语。 2.图片和文案突出重点,相互补充。 3.板式合理,主次分明。 4.色彩搭配协调,营造爽眼的视觉效果。 1. 网站提供了登录注册功能 2. 网站提供了留言板功能 3. 网站提供了相册的阅读观看 4. 网站提供了倡议书阅读功能 5. 网站提供了相关环境标准的法律知识 使用网页讲解: 解压文件以后使用DW或vs

2023-01-03

基于springboot的学生选课管理系统

基于springboot+vue的学生选课管理系统,前面小而全,修改数据库,执行sql脚本以后打开,直接使用,简单上手,值得下载使用或者课设

2022-11-05

jdbc解决mysql8.0连接失败,下载新的驱动

对于市面的jdbc教程大多mysql5.0,而我们采用的是8.0,8.0增加了时区故一些地方是想要改的,加载这个驱动很重要,下面来做一个演示,说明下具体步骤:下载改文件以后,将其导入jdbc工程中(注意还想要完成路径的构建才是真真是导入),之后引入导包: import com.mysql.cj.jdbc.Driver; 在和数据库建立连接的时候:用户: String url ="jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"; 其中: locahost是用户ip, 3306是端口号, test是你想要操作的数据库 UTC为中国上海的市区 改好这个以后通常将这个玩意分装成一个函数,然后返回用户的connection 然后就能基本上解决掉这个问题付上一个表,供你操作

2022-04-06

空空如也

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

TA关注的人

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