自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring-静态代理,动态代理(jdk,CGLIB)

原始的类是MyService ,这里要实现代理,就让代理类MyServiceProxy 和原始的类MyService 都实现一个接口BusinessService。MyService (原始业务类,待增强)开始实现手动代理,增强业务类:(1)接口(便于实现代理)(3)手动编写代理类MyServiceProxy(4)调用:需要先创建原始类,再将原始类交给代理类实现。

2025-11-11 13:59:09 301

原创 SpringCloud微服务-Day4 网关

本文摘要:文章介绍了微服务架构中网关的核心作用及实现方案。网关作为统一入口,负责请求路由、负载均衡和身份校验,通过与Nacos注册中心集成实现服务发现。重点讲解了基于JWT的登录校验机制在网关层的实现,包括路由过滤规则配置、自定义全局过滤器开发,以及用户信息传递方案。针对微服务场景,提出了通过请求头传递用户信息、线程本地存储(ThreadLocal)和OpenFeign拦截器三种方式解决服务间用户信息共享问题,确保系统安全性和代码复用性。文章包含完整的配置示例和代码实现,覆盖了从网关路由到服务间调用的完整鉴

2025-10-23 15:48:36 982

原创 SSM-SpringBoot开发(yaml配置文件,多环境开发)

SpringBoot开发实践摘要本文介绍了SpringBoot开发中的关键技术和配置方法,主要包括:YAML配置文件语法及数据读取的三种方式(@Value注解、Environment对象、实体类绑定)多环境开发配置(yaml和properties格式),以及通过命令行切换环境Maven与SpringBoot多环境配置的兼容问题及解决方案SpringBoot整合JUnit测试和MyBatis-Plus的实践MyBatis-Plus分页查询实现和拦截器配置重点讲解了配置文件层级关系、数据绑定、

2025-10-12 00:37:41 858

原创 苍穹外卖-Day7(缓存菜品/套餐,清除缓存)

在大量用户访问的高并发场景下(如外卖平台),系统面临每秒数万甚至数十万次请求时,传统数据库(如 MySQL)难以承受直接压力,可能导致响应延迟、服务崩溃。Redis是通过键值对实现的,对于高并发读 / 写,他的操作复杂度为O(1)。能够有效应对高并发问题。上图中体现了缓存菜品的实现流程:当前端请求菜品数据时,首先检查缓存(Redis)中是否存在目标数据,存在则直接使用缓存中数据进行返回,不查询数据库;不存在则查询数据库返回数据,并将数据保存在缓存中。

2025-10-12 00:37:05 1077

原创 Redis实战-商户查询缓存(Redis缓存及更新策略,缓存穿透,雪崩,击穿,缓存工具封装(函数式编程))

本文主要介绍了缓存相关概念及问题解决方案。首先解释了缓存作为数据交换缓冲区的概念,并展示了Java中使用Redis缓存的实现代码。重点分析了三种缓存问题:1)缓存穿透及其解决方案(缓存空值和布隆过滤器);2)缓存雪崩的预防措施(随机TTL、集群等);3)缓存击穿的两种解决方案(互斥锁和逻辑过期)。最后介绍了缓存工具类的封装实现,通过泛型和函数式编程提高代码复用性。

2025-10-12 00:36:11 699

原创 Redis实战-优惠券秒杀(超卖问题,一人一单,分布式锁,Redis优化秒杀,消息队列实现异步秒杀)

本文介绍了分布式系统中实现秒杀功能的完整技术方案,主要包括以下内容: 全局唯一ID生成器设计 基于Redis的自增功能实现分布式ID生成 采用时间戳+序列号的结构保证唯一性和递增性 秒杀基础功能实现 使用乐观锁解决库存超卖问题 通过分布式锁保证一人一单限制 Redis分布式锁优化 基于Redisson实现可重入锁 利用WatchDog机制实现锁自动续期 通过主从集群提高可用性 秒杀性能优化方案 将库存校验前置到Redis中 使用Lua脚本保证原子性操作 采用消息队列实现异步下单 高级消息队列实现 基于Str

2025-10-12 00:35:28 938

原创 SpringCloud微服务-Day2 Docker

官网文档:(1)基于Ubuntu基础镜像,利用Dockerfile描述镜像结构:(2)也可以直接基于JDK为基础镜像,省略前面的步骤:镜像的结构是怎样的?l镜像中包含了应用程序所需要的运行环境、函数库、配置、以及应用本身等各种文件,这些文件分层打包而成。Dockerfile是做什么的?lDockerfile就是利用固定的指令来描述镜像的结构和构建过程,这样Docker才可以依次来构建镜像构建镜像的命令是什么?镜像名Dockerfile目录。

2025-10-12 00:34:15 571

原创 Redis-实战(短信登录)

在 Web 开发中,

2025-09-27 14:01:13 1040

原创 SpringCloud微服务-Day1 MybatisPlus

需求:查询出所有收货地址在北京的并且用户id在指定范围的用户(例如124)的用户(1)在test中@Autowired@TestString address="北京";(2) Mapper中//"ew" 是 MyBatis-Plus 框架中约定的特殊参数名,代表 "Entity Wrapper"

2025-09-27 14:00:46 1183

原创 SpringCloud微服务-Day4注册中心

当一个cart购物车模块需要调用item商品模块的数据时,可以通过RestTemplate实现远程请求调用,但是这种方式直接将端口写死,若是采用商品模块采用多个服务器,则不知道该访问谁解决:使用注册中心解决多实例部署访问问题cart-service得到item-service的多个服务器信息后,使用负载均衡(随机,轮询,加权轮询,哈希)选择使用哪个服务,使用心跳续约让服务提供者定期向注册中心报告,说明当前服务仍然存在。

2025-09-27 02:00:00 1608

原创 Java_SSM_Bean的配置及实例化(Day1)

本文介绍了Spring框架中Bean的配置与实例化方法。首先,Bean可以通过id和name配置别名,并通过scope属性指定单例(singleton)或非单例(prototype)模式。其次,Bean的实例化可以通过构造方法、静态工厂、实例工厂以及FactoryBean实现。构造方法实例化默认调用无参构造,静态工厂通过factory-method指定方法,实例工厂则需先创建工厂对象再调用方法,而FactoryBean则简化了实例工厂的配置。最后,通过IOC容器获取Bean对象,并区分了实例化与依赖注入的概

2025-05-28 06:00:00 336

原创 SSM-IOC入门案例/DI入门案例

分层架构通常包括表现层、业务逻辑层和数据访问层。表现层负责用户界面和HTTP处理,业务逻辑层专注于业务规则,而数据访问层则处理与数据库的交互。在Java中,这种架构可以通过接口和实现类来实现,例如BookService和BookDao。为了进一步解耦和简化对象管理,可以使用IOC(控制反转)和DI(依赖注入)技术。通过Spring框架的IOC容器,可以将对象的创建和管理交给容器,而DI则允许在配置文件中定义对象之间的依赖关系,从而实现更灵活的代码结构。例如,通过配置文件applicationContext.

2025-05-28 00:00:00 468

原创 Java入门-Map双列集合

案例:假如需要定义一个方法求和,该方法可以灵活的完成如下需求:l计算1个数据的和。l计算2个数据的和。l计算3个数据的和。l计算n个数据的和,甚至可以支持不接收参数进行调用。注意:(1)一个形参列表中,只能有一个可变参数(2)可变参数必须放在形参列表的最后面(3)可变参数在方法内部就是一个数组。

2025-04-18 17:48:12 978

原创 JAVA入门-Collection单列集合体系

(1)修改学生对象,让他继承Comparable<Student> 并重写compareTo(Student o)方法@Override(2)此时将Student对象添加到TreeSet数组时会自动 调用compareTo()进行比较排序//Type2 对于自定义的对象,有两种自定义排序规则可以使用//方法1:让自定义的(学生)类实现Comparable接口,重写里面的compareTo方法来指定规则//创建一个HashSet数组,用于装学生对象。

2025-04-11 17:46:12 726

原创 Java学习-异常抛出及自定义

(1)定义一个异常类继承RuntimeException(2)重写构造器//自定义异常//必须让这个类继承RuntimeException,才能成为一个运行时异常类//设置有参构造器和无参构造器// 当你调用 super(message) 时,实际上是在调用父类(在自定义运行时异常的场景下,// 父类通常是 RuntimeException)的带参构造方法,// 把错误信息传递给父类。父类会将这个错误信息存储在异常对象里,方便后续在捕获异常时获取并处理。

2025-04-07 16:57:21 1015

原创 双工通信:WebSocket服务

(一)WebSocket概述WebSocket是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。

2025-03-26 16:23:37 1713

原创 定时任务(Spring Task)实现@Scheduled(cron =“ 0/5 * * * * ?“)

EnableTransactionManagement //开启注解方式的事务管理。@EnableCaching //开始缓存注解功能。@EnableScheduling//开始定时任务。(2)再启动类上开始定时任务。(3)进行定时任务开发。(1)添加pom文件。

2025-03-26 11:19:19 1073

原创 JavaWeb(Day8)-登录校验(JWT令牌,Filter过滤器,Interceptor拦截器)

自定义拦截器 :实现接口,并重写其所有方法方法作用在请求处理前执行,返回true表示继续执行,false表示中断请求。在请求处理完成后(但尚未返回View)执行,可修改。在整个请求完成后(View渲染完毕)执行,通常用于清理资源、记录日志等。@Component//目标资源方法执行前执行。返回true:放行 返回false:不放行@Override//true表示放行//目标资源方法执行后执行@Override//视图渲染完毕后执行,最后执行@Override。

2025-03-03 10:24:04 1216

原创 Java基础-数组,集合创建方式

【代码】Java基础-数组,集合创建方式。

2025-02-28 15:06:37 321

原创 JavaWeb学习-Mybatis(增删改查)

1.创建springboot工程,并导入 mybatis的起步依赖、mysql的驱动包。(项目工程创建完成后,自动在pom.xml文件中,导入Mybatis依赖和MySQL驱动依赖)-- mybatis起步依赖 -->-- mysql驱动包依赖 -->-- spring单元测试 (集成了junit) -->2. 准备数据(Mysql):创建用户表user,并创建对应的实体类User。-- 用户表name varchar(100) comment '姓名',

2025-02-12 22:20:20 1253

原创 Mysql学习-事务与索引

(1)事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体一起向系统提交或者撤销操作请求,即这些操作要么同时成功,要么同时失败。//l默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务。eg:若有两个相关联的事务:如果删除部门成功了,而删除该部门的员工时失败了,此时就造成了数据的不一致。要解决上述的问题,就需要通过数据库中的事务来解决。-- 删除学工部-- 删除成功-- 删除学工部的员工。

2025-02-11 13:38:38 852

原创 Mysql学习-多表查询(内连接,外连接,子查询)

多表查询指从多张表中查询数据。

2025-02-10 12:05:32 784

原创 Mysql-增删改查(知识点总结)

(1)创建表age INT,-- 创建students表,包含自增ID、姓名、年龄、成绩字段(2)-- 创建名为school的数据库-- 切换到school数据库(3)在表中增加一条/多条数据指定字段添加数据:表名字段名1,字段名2)values值1,值2);全部字段添加数据:表名values值1,值2, ...);批量添加数据(指定字段):表名字段名1,字段名2)values值1,值2), (值1,值2);

2025-02-05 17:01:42 1995

原创 Javaweb学习之Mysql(Day5)

(1)MYSQL通用语法SQL语句可以单行或多行书写,以分号结尾。SQL语句可以使用来增强语句的可读性(即,空格和缩进不影响代码的执行)。MySQL数据库的SQL语句不区分大小写。注释:1.单行注释:--注释内容 或注释内容(MySQL特有2.多行注释:/*注释内容*/(2)SQL分类。

2025-02-04 22:07:52 910

原创 JavaWeb入门-请求响应(Day3)

请求(HttpServletRequest):获取请求数据响应(HttpServletResponse):设置响应数据BS架构:Browser/Server,浏览器/服务器架构模式。,应用程序的逻辑和数据都存储在服务端(维护方便,响应速度一般)CS架构:Client/server,客户端/服务器架构模式(开发,维护麻烦,体验不错,响应速度快)

2025-02-02 14:05:46 875

原创 JavaWeb学习-SpringBotWeb开发入门(HTTP协议)

创建请求页面/*请求处理类,加上注解标识为请求处理类*//*指定浏览器处理的请求路径*///当浏览器请求/hello时会调用hello()方法启动类:/*启动类----启动springBot工程*/运行之后在浏览器中输入localhost:8080/hello:在浏览器界面按Fn+F12打开开发者界面,查看请求格式HTTP协议特点 :(1)基于TCP协议:面向连接,完全(2)基于请求-响应模型的:一次请求对应一次响应。

2025-01-25 15:29:44 1188

原创 Javaweb入门-Maven项目学习(Day2)

maven中的坐标是资源的唯一标识,可以通过坐标唯一定义资源位置* 使用坐标来定义项目或引入项目中需要的依赖* Maven坐标主要组成* groupld:定义当前Maven项目隶属组织名称(通常是域名的反写,eg:com.Ap)* artifactld:定义当前Maven项目的名称* version:定义当前项目版本号。

2025-01-23 16:29:54 893

原创 JavaWeb学习-Day1HTML学习

* 在style中h1为选择器:表示该样式针对所有的h1标签进行设置 */">聚焦访谈-今日技术(样式1)</h1>(3) CSS方法3:外联样式:外部定义一个CSS文件,使用link标签引用CSS文件。3.height:图像的高度(单位可以是像素/相对于父元素的百分比)2.width:图像的宽度(单位可以是像素/相对于父元素的百分比)<h1>样式2设置查看</h1><h1>到<h6>种字体型号从大到小。(2) Css方法2: 内嵌样式。(3)在<body>中填写内容。(1)CSS方法1:行内样式。

2025-01-22 16:51:46 428

原创 力扣(动态规划)-343整数拆分;96不同的二叉搜索树

所以这里遗漏了一种情况:若是i-j不进行划分时得到dp[i]的最大值,那么dp[i]=j*(i-j)从递推公式dp[i]=j*dp[i-j]可以看出后面的结果是由前面i-j推导出来的,所以i⼀定是从小到大遍历,先有dp[i - j]再有dp[i]此时由于j不会再被划分,所以要使dp[i]最大,则 就要对(i-j)进行拆分使得拆分后的几个整数的乘积最大,即dp[i-j]。综上所诉,我们的递推公式应该是dp[i]=max( j * dp[i-j], j*(i-j) )返回你可以获得的最⼤乘积。

2024-08-24 21:20:38 376

原创 力扣Hot100-208实现Trie(前缀树)-华为/腾讯面试题(重难点)

是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。// 返回 False。// 返回 True。// 返回 True。// 返回 True。1.不理解创建的对象,函数之间的调用关系。(发音类似 "try")或者说。

2024-08-19 15:25:52 422

原创 Java入门-接口:JDK8开始接口新增方法,接口的多继承,接口注意事项

一个接口可以同时继承多个接口。

2024-08-16 23:41:35 420

原创 java入门-成员内部类和静态内部类的访问

Test方法创建对象及其访问。

2024-08-16 23:39:28 313

原创 力扣Hot100-final关键字,常量,抽象类(模板方法设计模式),接口

使用关键字abstract修饰的类,方法叫抽象类,抽象方法注意:抽象方法必须在抽象类中实现//抽象方法:必须abstract 修饰,只有方法签名,不能有方法体//这里不能加{。。。}等方法体(四)抽象类的常见应用场景:模板方法设计模式 (面试,笔试,源码中会出现)(1)场景:学生,老师都要写一篇作文:神经网络 第一段,最后一段相同 正文不同未使用abstract时的学生类和老师类:System.out.println("\t\t《神经网络》");

2024-08-16 15:42:59 556

原创 Java基础入门-多态

/2. 运行时,如果发现对象的真实类型和 强制转换后的类型不同,就会报类型转换异常 的错误 eg:将s1强制转换为Teacher类型时编译不会报错,但是运行时发现不是一个类型就会报错。//因此java建议:使用 instanceof 关键字判断当前对象的真实类型,再进行强转。//多态存在问题:不能直接调用子类独有方法,可以使用多态下的类型转换实现。//1.存在 继承/实现关系 就可以在编译阶段强制类型转换,编译不会报错。//强制类型转换:子类 变量名 =(子类) 父类变量。

2024-08-14 16:14:35 531

原创 力扣Hot100-207课程表(vector初始化问题,拓扑排序)

你这个学期必须选修numCourses门课程,记为0到。在选修某些课程之前需要一些先修课程。先修课程按数组给出,其中,表示如果要学习课程ai则先学习课程bi。[0, 1]01请你判断是否可能完成所有课程的学习?如果可以,返回true;否则,返回false。true总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。这是可能的。false总共有 2 门课程。学习课程 1 之前,你需要先完成​课程 0;并且学习课程 0 之前,你还应先完成课程 1。这是不可能的。

2024-08-11 15:20:23 299

原创 力扣Hot100-994腐烂的橘子

由于在找到腐烂水果后直接将它周围的水果置为腐烂水果,但是可能当前轮次腐烂的水果,又在当前轮次中影响周围水果,导致错误,所以可以标记:在不同轮次中被传染腐烂的水果标记为不同的数字,由于一开始time=0时,腐烂水果标记为2,所以在time=0到1这段时间被传染的水果标记为2+time+1,这样就可以使得本轮time=0时不会让标记为3的水果传染它周围的水果。左下角的橘子(第 2 行, 第 0 列)永远不会腐烂,因为腐烂只会发生在 4 个方向上。因为 0 分钟时已经没有新鲜橘子了,所以答案就是 0。

2024-08-10 22:52:22 517

原创 力扣Hot100-200岛屿数量(图论 * DFS遍历)

网格问题是由 m×n 个小方格组成一个网格,每个小方格与其上下左右四个方格认为是相邻的,要在这样的网格上进行某种搜索。岛屿问题是一类典型的网格问题。每个格子中的数字可能是 0 或者 1。我们把数字为 0 的格子看成海洋格子,数字为 1 的格子看成陆地格子,这样相邻的陆地格子就连接成一个岛屿。在这样一个设定下,就出现了各种岛屿问题的变种,包括岛屿的数量、面积、周长等。不过这些问题,基本都可以用 DFS 遍历来解决。

2024-08-10 11:53:52 1237

原创 力扣Hot-124二叉树中的最大路径和(p523二叉树直径的变形)

/2该路径不一定是从一个叶节点到另一个叶节点,所以,当左子树/右子树均为负数时,返回的最大值为当前节点值node(不需要再判断node的正负,当它作为子节点扔为负数时,会被舍弃)被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。//易错:1,可能出现左右子树为负数,此时以node为根的最大值应该为node自己。最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42。最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6。节点,且不一定经过根节点。

2024-08-10 11:00:14 413

原创 力扣Hot100-236二叉树的最近公共祖先

中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(两个节点中最高的那个节点p,因此将高度较矮的节点q沿着他的父节点向上爬,直到与另一个节点p在同一高度,否则,p,q两个节点都沿着父节点向上走,直到p,q指向同一个节点。再判断当前p,q是否为同一个节点,是则说明找到公共祖先。因为根据定义最近公共祖先节点可以为节点本身。两个节点的最近公共祖先所在的。的最近公共祖先是节点。的最近公共祖先是节点。

2024-08-09 11:49:50 496 3

原创 力扣Hot100-路径总和iii

例如:在下面图中,遍历左子树:10->5->3(1)->3(2)之后开始从3(2)回溯到节点3(1),此时需要减掉3(2),再开始遍历右子树,将3(1)的右孩子-2的值加入求和。将树中的节点分别视为根节点,从根节点开始使用前序遍历求和,当左子树节点遍历完后开始回溯,回溯时将加入计算的左子树值剪掉,继续计算右子树值。不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。//2:路径往下值得是各个节点不在同一层,但可以是根,左,右,不一定全是在左边。

2024-08-09 10:36:27 416

四川大学计算机考研经验总结

,2017年软专复试进入13人,录取30人,软学复试进入3人,录取5人(剩下的基本都是计算机调剂的);2018年软专复试进入60人,录取27人,软学复试进入5人,录取2人。两年的报录比相差太大,官网给出的都是计算机和软件工程总的数据,我们在复试完都不知道各自具体录取多少人,所以大家想要报考的话,可以给个大体数据,软专录取(不包括推免生)30人左右;软学总录取14人左右,18年软学推免生12个(17年推免5个,这个数据我是看到群里说的),所以只剩下2个。这也说明推免生名额也需要格外关注,这是每年数据相差太大的根本原因。就是考研备考尽量越早越好,差不多就是每年三月份开始备考,每天学习时间不宜过长,半小时背英语单词(这个我一般是在进图书馆排队时背的)+8小时高效学习。数学3小时,专业课3小时,英语2小时,至于政治,我差不多忽略掉了,就最后两个月复习政治(每天1小时),这一点大家千万不要学我,你们可以在中期多拿出1小时学习政治。数学我是在5月份之前把教科书过了一遍,课后习题做了一遍,不要纠结哪一版教材,都一样,我用的第5版。需要提醒的是教科书很重要,它的知识最全面,是任何辅导资料代替不了的,就

2024-08-09

四川大学软件工程考研复试资料

题目准确度99%,供以后的软工考生参考。根据学长们提供上一届(2017届)部分软工考试题目来看,题目很多是相似的,所以这份题目参考性较大。我的目的也是为以后的考生在考试前能有所准备,不像我们这届,软工可供参考的笔试资料少之又少。希望以后的考生在结束考试后,也能及时记录题目,为他人提供方便! By ssc 名词解释(每个三分) 1、 数据流图 2、 变异测试 3、 可用性测试 4、 数据字典 5、 需求分析 简答题(每个五分) 1、请简述Jackson设计方法的步骤 2、画数据流图时需要注意哪些地方 3、内聚性有哪几种,分别代表什么意思 4、模块的独立性判断标准有哪些?分别有什么含义 5、什么是集成测试?非渐增式和渐增式有什么区别?渐增式的方法有哪些? 三、应用题(每个十分,每问5分) 1、功能1、计算标准分,根据考生原始成绩,计算标准分,并存入考生文件 功能2、计算录取线分,根据标准分和招生计划文件,计算录取分数线,并存入文件 (1)、根据系统实现的功能,画出数据流程图 (2)、根据数据流程图,画出相应的程序结构图 2、一个用户直接向系统开

2024-08-09

四川大学C语言2001-2007

1历年川大考研真题讲评 1.1 四川大学2000年攻读硕士学位研究生入学考试试题 及 答案 C语言部分 一、选择题(每小题2分,共10分) (下在各小题,分别有一个或多个正确答案,请将所有正确答案的编号,填写在该小题题干后的括号内。错选或漏选均不得分)。 1、若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有( A,C,D,E ) A、*(a+1)为元素6的地址 这里a+1=a[1]的地址;*(a+1)的值是6,故A正确。 B、*(a[1]+1)的值为2 为8,故B不正确 C、**(a+1)+2的值为8 这里a+1是一个指针,指向的是a[1]. *(a+1)为a[1],a[1]指向的是a[1][0]. **(a+1)为6,加2得8,故C正确; D、a[0]与a相同 因二者都是指针,指针的地址都是指向数组中的第一个元素的地址,故D正确。 E、a[1][2]的值为10 它是指第二行的第三个元素,为10,正确 2、对函数的正确使用方法描述( A,C,D )。 A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组 B、实参数组元素和形

2024-08-09

计算机考研/工作必会100题

计算机考研/工作必会100题 、已知线性表(a 1 ,a 2 ,…,a n )按顺序结构存储且每个元素为不相等的整数。设计把所 有奇数移动到所有偶数前边的算法。例如,A=(1,2,3,4,5,6,7),移动后变为 A= (1,7,3,5,4,6,2) (要求时间最少,辅助空间最少)。 【算法思想】:对于顺序表 L,从左向右找到偶数 L.data[i],从右向左找到奇数 L.data[j],将两者交换。循环这个过程直到 i 大于 j 为止。对应的算法如下: void move(SqList &L) { int i = 0, j = L.length-1, k; ElemType temp; while(i <= j) { while(L.data[i]%2 == 1) i++; //i 指向一个偶数 while(L.data[j]%2 == 0) j--; //j 指向一个奇数 if(i < j) { temp = L.data[i]; //交换 L.data[i]和 L.data[j] L.data[i] = L.data[j]; L.data[j] = temp; } } } 为 本

2024-08-09

帆软FR技术支持考核练习题

习题1 基本原理理解 2 1.2原理理解及报表实现 2 1.2知识点 3 习题2新建多源报表 4 2.1实验过程 4 2.2实验结果: 6 习题3:动态格间运算 7 3.1实验过程 7 3.2实验结果 8 习题4:图表 8 4.1实验过程 8 4.2实验结果 12 习题5:参数联动 13 习题6:超级链接 15 6.1主表 15 6.2子表 15 6.3结果图 17 6.4小结 17 习题7:图表热点链接 18 7.1主表 18 7.2子表 19 7.3热点链接 20 习题8:填报 21 8.1表单制作: 21 8.2数据库连接 23 8.3结果截图 23 习题9:填报校验 23 总结 26

2024-05-08

一款航空订票系统,采用Java Swing框架进行界面开发,并通过JDBC连接MySQL数据库实现数据的存储和检索

本文基于实验要求设计和实现了一款航空订票系统,采用Java Swing框架进行界面开发,并通过JDBC连接MySQL数据库实现数据的存储和检索。通过Java Swing框架,系统实现了页面跳转、用户交互和界面美化等功能。利用JDBC连接MySQL数据库,实现了数据的持久化存储和查询操作,确保系统能够可靠地保存和检索用户和航班相关信息。 系统提供了登录与注册、订票主页、航班选择、用户管理、航班管理、订票记录查询、订/退票和酒店预订等功能。其中采用了Dijkstra算法实现城市节点的最短路径及最少费用计算 此外,系统还引入了时间选择器组件,用于方便用户选择航班的出发日期。时间选择器基于Swing框架的组件进行开发,并提供了直观的界面和用户友好的操作方式 本文实现的航空订票系统具备了完善的功能和用户友好的界面,能够满足旅客订票、管理和查询的需求,并且通过数据库的支持,数据的安全性和稳定性得到了保障。

2024-01-11

专家系统原理及实现,利用人工智能的产生式系统、图搜索算法以及专家系统的框架,建造一个小型医疗诊断或水果识别专家系统,具有知识库、

综合利用人工智能的产生式系统、图搜索算法以及专家系统的框架,建造一个小型医疗诊断或水果识别专家系统,要求系统具有知识库、推理机和动态数据库三部分。 2、 算法描述 2.1:实验原理 专家系统是一种基于人工智能的计算机程序,旨在模仿人类专家在特定领域中所做的决策。专家系统的核心是一个知识库,其中存储了该领域的专业知识,以及一组推理机制,以根据这些知识和采集的信息做出推理和决策。本文将介绍专家系统的实验原理,包括知识表示、推理机制和知识获取,以及专家系统的应用和局限性。不确定性规则知识产生式 (1)如果 该动物有毛发,那么 它是哺乳动物规则 (2)如果 该动物能产乳,那么 它是哺乳动物规则 (3)如果 该动物有羽毛,那么 它是鸟类动物 (4)如果 该动物能飞行,它能生蛋,那么 它是鸟类动物 规则5到8 把哺乳动物又进一步分为更细的类食肉动物和有蹄动物: (5)如果 该动物是哺乳动物,它吃肉,那么 它是食肉动物 (6)如果 该动物是哺乳动物,它长有爪子,它长有利齿,它眼睛前视,那么 它是食肉动物 (7)如果 该动物是哺乳动物,它长有蹄,那么 它是有蹄动物 (8)如果 该动物是哺乳动物

2024-01-11

java,航空订票系统,Java Swing、MySQL、Dijkstra算法

本文基于实验要求设计和实现了一款航空订票系统,采用Java Swing框架进行界面开发,并通过JDBC连接MySQL数据库实现数据的存储和检索。通过Java Swing框架,系统实现了页面跳转、用户交互和界面美化等功能。利用JDBC连接MySQL数据库,实现了数据的持久化存储和查询操作,确保系统能够可靠地保存和检索用户和航班相关信息。 系统提供了登录与注册、订票主页、航班选择、用户管理、航班管理、订票记录查询、订/退票和酒店预订等功能。其中采用了Dijkstra算法实现城市节点的最短路径及最少费用计算 此外,系统还引入了时间选择器组件,用于方便用户选择航班的出发日期。时间选择器基于Swing框架的组件进行开发,并提供了直观的界面和用户友好的操作方式 本文实现的航空订票系统具备了完善的功能和用户友好的界面,能够满足旅客订票、管理和查询的需求,并且通过数据库的支持,数据的安全性和稳定性得到了保障。 关键词:航空订票系统、Java Swing、MySQL、Dijkstra算法

2024-01-11

(1)学习 Linux 内核的系统调用方法 理解并掌握 Limux 系统调用的实现框架、用户界面、参数传递、进入返回过程

使用编译内核法和内核模块法这两种添加系统调用的方法添加一个不用传递参数的系统调用,其功能是简单输出类似“hello wold”这样的字符串。 三. 实验步骤 3.1内核编译法添加系统调用 (1)通过su root 输入密码后进入根目录 (2)使用cd /usr/src/linux-5.4.1/kernel进入kernel目录并打开sys.c文件加入打印”hello world”的函数 (3)使用命令gedit syscalls.h中添加上述函数的函数声明 (4)在调用表中选择一个空的可用的调用号(因为调用号是唯一的标识符所以不能多个使用同一调用号) (5)使用make工具配置内核并得到可视化配置窗口 (6)使用make moudules等命令实现编译和安装内核 (7)重启系统并编写调用函数:(下图是使用vi编辑器打开的调用函数) (8)使用gcc hello.c命令编译示例代码并用./a.out执行代码得到输出结果:返回值为1,说明调用成功 3.2内核模块法添加系统调用 (1)编写hello.c文件 其中hello.c文件实现的整体流程如下: 1.调用 call_

2024-01-11

深度学习设计(VGG19)智能计算系统

一、目的及要求 理解深度学习原理,完成VGG 19的代码实现,并且进行图像分类任务 二、环境(软、硬件平台) Python 三、内容及步骤(包括程序流程及说明) 1. 导入数据集和划分数据 1.1导入数据集:通过继承torch.utils.data中的Dataset类,重写init, len, getitem实现对数据集的加载。 1.2划分数据:应用的数据集包含猫,熊猫和狗三类动物,每种动物图片各1000张。其中将三种动物的前900张作为训练集(训练集共2700张),后一百张图片作为测试集(测试集共300张)。 本次实验主要分为Model模型结构定义,数据集加载,数据训练和数据测试,以及数据分类五个部分。其中,model中主要实现定义VGG类,以及实现神经网络的前向传播(将图片数据输入到网络中,经过层层卷积、池化、全连接等各种操作得到输出)函数设计(尝试自定义函数设计,e.g., 自定义数据集加载等) (1)在Vgg_Model中:定义函数初始化VGG19的模型和前向传播网络函数 Inin():定义卷积层,池化层,全连接层三层。 根据图像的特点设置卷积层输入维度(in-chan

2024-01-11

基于XML/注解的AOP模拟银行账户

实验要求 1、根据实验内容中提出的要求﹐使用IDEA集成开发环境编写相应的Java程序; 2、根据实验内容中提出的要求﹐使用IDEA编译、运行自己所编写的Java程序; 3、根据编译与运行过程中所获得的错误信息修改程序直至获得正确的结果; 4、记录实验中遇到的各类问题并以及解决办法。 (1) 基于XML方式的AOP编程模拟银行账户的存钱和取钱操作前后的信息提示的给出。在每次账户余额变动前后给出账户余额信息。 (2)基于注解方式的AOP编程模拟银行账户的存钱和取钱操作前后的信息提示的给出。在每次账户余额变动前后给出账户余额信息。

2024-01-11

八数码问题求解,要求:设计估价函数,给出算法伪代码,并采用c或python编程实现,演示A算法的搜索过程,代码要适当加注释,实验

八数码问题求解:在3×3方格棋盘上,分别放置了标有数字1,2,3,4,5,6,7,8的八张牌,初始状态S0可自己随机设定,使用的操作有:空格上移,空格左移,空格右移,空格下移。试采用A算法编程实现搜索过程。 要求:设计估价函数,给出算法伪代码,并采用c或python编程实现,演示A算法的搜索过程,代码要适当加注释,实验结果分析与体会。 2、 算法描述 (包含:状态描述,启发函数设计,规则判断条件等,并给出伪代码) 2.5A算法实现问题步骤 (1)把初始节点S0放入Open表中,f(S0)=g(S0)+h(S0); (2)如果Open表为空,则问题无解,失败退出; (3)把Open表的第一个节点取出放入Closed表,并记该节点为n; (4)考察节点n是否为目标节点。若是,则找到了问题的解,成功退出; (5)若节点n不可扩展,则转到第(2)步; (6)扩展节点n,生成子节点ni(i=1,2,……),计算每一个子节点的估价值f(ni) (i=1,2,……),并为每一个子节点设置指向父节点的指针,然后将这些子节点放入Open表中; (7)根据各节点的估价函数值,对Open表中的全部节点按

2024-01-11

八数码问题求解:设计估价函数,给出算法伪代码,并采用c或python编程实现

八数码问题求解:在3×3方格棋盘上,分别放置了标有数字1,2,3,4,5,6,7,8的八张牌,初始状态S0可自己随机设定,使用的操作有:空格上移,空格左移,空格右移,空格下移。试采用A算法编程实现搜索过程。 要求:设计估价函数,给出算法伪代码,并采用c或python编程实现,演示A算法的搜索过程,代码要适当加注释,实验结果分析与体会 八数码问题求解:在3×3方格棋盘上,分别放置了标有数字1,2,3,4,5,6,7,8的八张牌,初始状态S0可自己随机设定,使用的操作有:空格上移,空格左移,空格右移,空格下移。试采用A算法编程实现搜索过程。 要求:设计估价函数,给出算法伪代码,并采用c或python编程实现,演示A算法的搜索过程,代码要适当加注释,实验结果分析与体会

2024-01-11

成电(电子科技大学)820操作系统填空题汇总

2018年820填空题 1.进程控制块(PCB)是进程存在的唯一标志。 2.逻辑页面16个,物理块64个,页的大小为 4KB,逻辑页号占12位,物理页号占4位。 3. 2016年820填空题 1.若信号量S的初值为4,当前有6个进程在等待信号量S,则当前信号量S的值为-6。 2.某系统中共有11台打印机,X个进程共享此打印机,每个进程最多请求使用 3台打印机,则该系统中不会发生死锁的最大X值是5。 3.虚拟存储管理系统的基础是程序的局部性理论。 4.为满足2“地址空间的作业运行,采用多级分页存储管理方式,假设页面大小 为4KB,在页表中的每个页表项需要占8字节。那么,为了满足系统的分页存储管理,至少应采用6级页表。2 /21-2页,一页可存2/2=22页表项[52/9]=6 5.某文件系统的文件控制块占64B,单个盘块大小为 1KB,采用·一级目录结构。 假设文件目录中有3200个目录项,则查找一个文件平均需要访问100次磁盘。

2023-11-28

SQL+邮局订报子系统+Qt

本系统的设计初衷是希望邮局的订阅报刊功能能够适应数字化时代的发展,满足客户 的需求,实现更加快捷的浏览模式,简单易懂的操作模式,清晰的订报流程。能够为客户 提供更好地服务体验。在本系统中客户不仅可以看到所有报刊的信息,还可以实现在线付 费订阅报刊,通过管理员查询自己的订报情况等。同时管理员还可以对订购的报刊进行查 询统计,对报刊信息进行修改,更新,删除,统计等功能。 (1)能够对报刊信息,用户信息等进行添加,删除,查询,打印等基本操作 (2)能够根据订报要求进行订购报纸,并完成一次订购任务后的汇总总金额,模拟付款 等功能 (3)能够查询某客户的定刊情况并显示相关报刊信息 (4)能够实现用户管理功能:例如用户登录,个人信息修改页面等 (5)设计界面友好,能够对错误操作进行提示,功能操作较合理,考略到了系统的安全 性,完整性,备份,恢复等方面的功能要求

2023-07-07

基于卷积神经网络(CNN)的超分辨率图像

本文总结了超分辨率下的图像重构研究现状,SRCNN的实现原理,并结合深度学习的基础知识描述SRCNN中特征提取和表示,非线性映射,及对映射后的特征进行重构的具体操作,研究基于卷积神经网络(CNN)的超分辨率图像重构的实现方法,通过与插值重构算法(以最近邻插值法、双线性插值法,双三线性插值为例)和CT重构(反投影,迭代重建,解析法)进行比对总结SRCNN及插值重构算法的优缺点。 在研究方法模块对SRCNN的原理,卷积网络结构,SRCNN算法实现的步骤(数据预处理,实验结果分析,图像质量评估)进行叙述。并以插值,重建算法为例详细介绍了其他可实现图像重构的方法原理。在实验分析模块对三种算法的优缺点进行总结比对。

2023-07-07

多媒体技术+pr,Dw,flash,ps

本次实验主要通过flash,dw,ps等软件对图像,音频等做处理实现在线书刊 (1)Photoshop 是 Adobe 公司旗下最为出名的图像处理软件之一,他的应用领域很广泛的,在图像、图形、文字、视频、出版等各方面都有涉及。 (2)Flash 软件是一种动画创作与应用程序开发于一身的创作软件,为创建数字动画、交互式 Web站点、桌面应用程序以及手机应用程序开发提供了功能全面的创作和编辑环境。。 Flash 可以包含简单的动画、视频内容、复杂演示文稿和应用, (3)DW是集网页制作和管理网站于一身的所见即所得网页代码编辑器。利用对 HTML、CSS、JavaScript等内容的支持,设计师和程序员可以在几乎任何地方快速制作和进行网站建设 (4) Premiere提供了采集、剪辑、调色、美化音频、字幕添加、输出、DVD刻录的一整套流程,并和其他Adobe软件高效集成用于视频段落的组合和拼接,并提供一定的特效与调色功能。Premiere和AE可以通过Adobe动态链接联动工作,满足日益复杂的视频制作需求。

2023-07-07

江南大学实验指导书实验一

江南大学实验指导书实验一

2023-06-30

空空如也

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

TA关注的人

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