- 博客(66)
- 收藏
- 关注
原创 2024年5月软件设计师选择题答案(持续更新~)
某树T的度为4,其中有5个度为4的结点,8个度为3的结点,6个度为2的结点,10个度为1的结点,则T中的叶子结点个数为()。题目8【考生回忆版】已知二维数组A按行优先方式存储,每个元素占用2个存储单元,第一个元素A[0][0]的地址为100,元素A[3][3]的存储地址是220,则元素A[5][5]的地址是()。题目7【考生回忆版】下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则一共有()条关键路径,关键路径长度为()。以下叙述中,( )是不正确的。
2024-05-31 15:19:25 11028
原创 2024年软件设计师备考复习资料(应用技术)
应用设计,考试时间为120分钟;总共需做5道题,满分75分(每题15分)。前4题为必答题,最后2题为要求选答一题(C++或Java),45及格。
2024-05-28 09:44:29 11775
原创 2024年软件设计师备考复习资料(基础知识)
MD5:一种常见的消息摘要算法,生成的摘要长度为128位,广泛应用于数据完整性校验和身份认证等领域。SHA系列:包括SHA-1、SHA-256等多种算法,生成的摘要长度不同,具有更高的安全性和抗碰撞性,逐渐取代MD5成为最常用的哈希算法之一。
2024-05-28 09:26:45 14196
原创 软考:分治法、动态规划、贪心算法和回溯法分析与练习
(2)当n为奇数时,将前后两部分,即1~(n-1)/2和(n+1)/2+1~n,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币;若两端重量相等,则中间的硬币,即第(n+1)/2枚硬币是假币。(1)当n为偶数时,将前后两部分,即1~n/2和n/2+1~0,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币。假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。first,last://当前考虑的硬币数组中的第一个和最后一个下标。
2024-04-18 16:08:15 11608
原创 IE浏览器清理缓存工具
有些项目可能因为浏览器缓存导致使用异常,比如登陆异常。新建一个名为ClearTemporaryFiles.bat的文件,内容如下。@echo 正在清理临时Internet文件...@echo 清理完成。
2024-04-12 10:24:50 4319
原创 软考:策略模式、适配器模式、访问者模式、原型模式、桥接模式分析与练习
现在要求统计所有馆藏文献的总页码(假设图书馆中有一本540页的图书和两篇各25页的论文,那么馆藏文献的总页码就是590页)。为了实现该要求并考虑到以后可能还会出现新的语言的接口,决定采用适配器(Adapter)模式实现该要求,得到如图7.9所示的类图。这里的实现指的是抽象类及其派生类用来实现自己的对象(而不是抽象类的派生类,这些派生类被称为具体类)。根据绘图软件的扩展性要求,该绘图软件将不断扩充新的图形和新的绘图程序。访问者模式让增加新的操作很容易,因为增加新的操作就意味着增加一个新的访问者。
2024-04-11 16:01:09 11161
原创 Linux入门:常用基本命令
新增多个端口: firewall-cmd --zone=public --add-port=80-90/tcp --permanent。#删除 firewall-cmd --zone=public --remove-port=80/tcp --permanent。#查看防火墙开放的端口信息 firewall-cmd --list-ports。#查看防火墙所有信息 firewall-cmd --list-all。#重新加载 firewall-cmd --reload。cd .. 返回上一级目录。
2024-03-20 14:08:37 11288
原创 MySQL索引总结:索引的原理、索引的分类与语法、索引的设计
在联合索引中,查询条件只有从最左边的列开始匹配,索引才能被有效利用。如果查询条件没有使用最左边的列,即使后面的列在索引中存在,也无法使用索引来优化查询。也就是说,如果查询条件中某个列使用了范围查询,那么该列之后的列都无法使用索引。创建索引是在数据库系统中建立一个复杂的数据结构(如B+树),这个数据结构包含了指向数据表中记录的引用或指针,用于加速查询操作。主键是一种唯一性索引,用于唯一标识表中的每一行记录。索引列的所有值都只能出现一次,即必须唯一,值可以为空。最基本的索引类型,没有唯一性的限制,值可以为空。
2024-03-08 15:51:27 11840
原创 MySQL性能分析:性能模式和慢查询日志的使用
监控和分析查询的性能在数据库管理中扮演着至关重要的角色,它可以帮助我们了解查询的执行情况,识别性能瓶颈,并进行相应的优化。
2024-03-07 15:26:20 11582
原创 存储过程:深入理解MySQL存储过程及其优势
在MySQL中,存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集合,这些语句被编译后存储在数据库服务器中,并可以通过一个指定的名称来调用执行。存储过程可以接受参数,也可以返回数据,它们可以包含控制结构、错误处理以及其他的SQL语句。
2024-03-07 09:51:46 4078
原创 MySQL窗口函数:从理论到实践
MySQL中的窗口函数(Window Functions)允许用户对一个结果集的窗口(或分区)执行计算,这些窗口是由查询的每行定义的。窗口函数在SQL标准中定义,并且在MySQL 8.0及更高版本中可用。窗口函数为每行返回一个值,这个值是基于该行在其分区或整个结果集中的位置计算得出的。窗口函数通常与OVER()子句一起使用,OVER()子句定义了窗口的范围或边界。over()里头的分组以及排序的执行晚于外头 where 、group by、 order by 的执行。
2024-03-06 15:12:00 4563
原创 SQL基础教程:从DQL到DCL的指南
包括CREATE(创建对象)、ALTER(修改对象)、DROP(删除对象)、TRUNCATE(清空)等语句。
2024-03-05 15:26:32 4657
原创 INNER JOIN、LEFT JOIN、RIGHT JOIN应用场景分析
INNER JOIN适用于获取两个表的交集,即两个表中都有的数据。LEFT JOIN适用于获取左表中的所有记录,以及满足连接条件的右表中的记录。常用于过滤操作。RIGHT JOIN适用于获取右表中的所有记录,以及满足连接条件的左表中的记录。但在实际应用中相对较少使用。在选择使用哪种连接方式时,应根据具体的业务需求和数据表结构来确定,确保联接条件正确、结果符合预期。
2024-03-05 09:00:50 4927
原创 EXPLAIN:mysql 执行计划分析详解
在MySQL中,你可以使用EXPLAIN命令来生成查询的执行计划。EXPLAIN命令可以显示MySQL如何使用键来处理SELECT和DELETE语句,以及INSERT或UPDATE语句的WHERE子句。这对于了解查询的性能瓶颈以及优化查询非常有用。
2024-03-04 14:13:52 4580
原创 EXPLAIN PLAN FOR:在Oracle中生成执行计划
在Oracle中,可以使用 EXPLAIN PLAN FOR 命令来生成执行计划,然后通过SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'))来查看执行计划。需要注意的是,这两个命令需要在同一个窗口下运行,否则会报错。
2024-03-04 10:50:34 6064
原创 Java 8 Lambda表达式:基本语法及在集合中的应用
5. 收集到不同的集合类型(Collecting to Different Types):使用collect方法,可以将流中的元素收集到不同的集合类型中。4. 聚合操作(Aggregation):使用reduce方法,可以对集合中的元素进行聚合操作,如求和、求最大值等。与Stream API的结合使得集合操作变得更加简洁和函数式。1. 过滤元素(Filtering):使用filter方法,可以根据某个条件过滤集合中的元素。3. 排序元素(Sorting):使用sorted方法,可以对集合中的元素进行排序。
2024-02-27 08:56:03 4872
原创 @Transactional:Spring框架中的事务控制
Transactional 是 Spring 框架中用于声明式事务管理的一个注解。当一个方法被这个注解标记时,该方法将在一个事务的上下文中执行。如果在执行该方法时抛出了指定类型的异常(在这个例子中是 Exception.class),那么事务将被回滚,即之前进行的所有数据库操作都将被撤销。
2024-02-26 14:15:48 4481
原创 方法鉴权:基于 Spring Aop 的注解鉴权
权限标识如:"business:project:list" 保存在菜单表,用户表与菜单表关联。如果自定义注解中的参数值@RequiresPermissions("business:project:list") 存在于当前用户所拥有的权限中,则该允许访问该方法,否则拒绝。这通常涉及到定义一个切面(Aspect),该切面会在方法执行前进行拦截,并根据注解value值来决定是否允许执行该方法。然后,你需要定义一个切面,该切面会拦截带有 @RequiresPermissions 注解的方法。
2024-02-22 09:02:13 4803
原创 Spring框架中的异步请求处理:AsyncHandlerInterceptor拦截器详解
在Spring Framework中,AsyncHandlerInterceptor 是用于异步请求处理的一个拦截器接口。当你有一个异步的控制器方法(通常使用@Async注解标记)并且你希望在异步处理之前、之后或完成时进行某些操作时,你可以实现这个接口。在这个配置中,HeaderInterceptor被添加到了拦截器链中,因此它将适用于所有符合拦截器路径模式的请求。你可以通过调整addInterceptor方法的参数来定制拦截器的行为,例如指定拦截哪些URL路径。
2024-02-21 15:24:47 5643
原创 Java自定义注解:如何优雅地扩展代码功能
首先,你需要定义一个自定义注解@Loggable。在这个例子中,使用@Target(ElementType.METHOD) ,@Loggable被定义为方法注解,并且使用@Retention(RetentionPolicy.RUNTIME)来指定它在运行时仍然可用。
2024-02-21 09:36:48 4468
原创 过滤器:Gateway GlobalFilter在分布式系统中的应用
在Spring Cloud Gateway中,GlobalFilter接口允许你创建全局过滤器,这意味着该过滤器会应用到所有的路由上,无论它们是否匹配特定的路由规则。Ordered接口用于定义过滤器的执行顺序。
2024-02-20 11:30:24 4457
转载 什么是 JWT ? 基于 JWT 的身份认证解决方案
转自:java技术爱好者链接:https://www.zhihu.com/question/485758060/answer/2257869896来源:知乎起源需要了解一门技术,首先从为什么产生开始说起是最好的。JWT主要用于用户登录鉴权,所以我们从最传统的session认证开始说起。session认证众所周知,http协议本身是无状态的协议,那就意味着当有用户向系统使用账户名称和密码进行用户认证之后,下一次请求还要再一次用户认证才行。
2024-02-20 10:16:20 4005
原创 通俗易懂,Spring Bean生命周期管理的理解
总的来说,Spring bean的生命周期管理涉及到了从bean的创建、初始化到销毁的整个过程,确保了bean在使用前已经准备好,并且在不再需要时能够被正确地清理。
2024-02-18 15:51:20 4979
原创 深入理解Spring中的集合依赖注入
如果集合需要独立配置,那么将其作为一个独立的Spring Bean可能是更好的选择。首先,我们可以创建一个配置类,其中定义一个要独立配置的集合,作为Bean交给Spring 容器管理。这个集合可以是一个简单的列表、映射或任何你希望独立配置的集合类型。如果集合仅仅是实体类的一个内部属性,并且与实体类的其他属性紧密相关,那么将其作为实体类的一个属性可能更加合适。Setter方法注入则提供了更大的灵活性,可以在对象创建后动态地改变依赖项的值。然后,我们可以在Spring组件中注入这个独立配置的集合Bean。
2024-02-09 01:42:44 4638
原创 深入理解Java泛型:概念、用法与优势
例如通配符类型:这个方法可以接受任何类型的List作为参数,因为?当代码需要处理不同类型的数据,并且你希望确减少类型转换错误时,泛型是一个很好的选择。例如泛型类:在定义类时,可以使用类型参数来指定类中某些字段或方法的类型。泛型是JDK的一个特性,它允许在定义类、接口和方法时使用类型参数。这个特性有什么用呢?
2024-02-08 16:01:15 4484
原创 Java集合框架在数据处理中的应用场景
集合框架的主要优点是通过使用高性能的数据结构和算法,可以帮助开发者更高效地处理数据。此外,集合框架的接口和实现是可互换的,因此可以通过切换实现来调整程序的行为。以下是集合框架中的一些主要接口和类。
2024-02-06 18:26:07 4445
原创 如何在 Java 中通过 Map.Entry 访问 Map 的元素
entrySet() 方法返回一个包含映射中所有键值对的 Set 视图。每个元素都是一个 Map.Entry,可以通过它来访问键和对应的值。Map.Entry 是一个接口,代表一个键值对映射关系,其中 K 是键的类型,V 是值的类型。在 Map.java 中,
2024-02-06 18:15:15 324
原创 掌握Static精髓,深入理解静态成员、静态块与静态内部类
当我们希望变量、方法和代码块在这个类的所有实例中共享,那么就使用static关键字创建类变量,类方法,静态代码块。调用时无需通过实例对象调用。以类变量和实例变量为例,探讨一下他们的生命周期。假设这个静态内部类包含静态方法和实例方法!
2024-02-06 12:02:51 4528
原创 如何正确使用Java中的final关键字:变量、方法和类的终极指南
3.当我们希望成员变量、局部变量的值被初始化后不被改变时,如配置参数等。值得注意的是,对于基本数据类型的变量,final确保变量的值不会被改变。而对于引用类型的变量,final确保变量引用的对象地址不会改变,但对象本身的内容是可以改变的(除非对象也是不可变的)。2.当我们希望方法不被覆盖(override)时,通常用于确保父类中的某个方法不会在子类中被改变。final关键字在Java中有多种用法,它可以用来修饰类、方法、变量(包括成员变量和局部变量)
2024-02-06 10:19:46 5401
原创 从标准异常类到自定义异常类:Java异常处理的优雅演变
自定义异常类的实现可以通过继承Exception或其子类来创建和使用。// 自定义异常类try {// 一些可能会抛出异常的代码if(){throw new MyException("这是一个自定义异常");// 处理自定义异常System.out.println("捕获到自定义异常: " + e.getMessage());// 处理其他异常System.out.println("捕获到其他异常: " + e.getMessage());自定义异常类。
2024-02-05 17:11:07 4780
原创 SpringBoot+Slf4j+Logback日志记录方案
简单介绍下几大日志框架之间的关系Log4j:这是最早的日志框架之一。Logback:这是log4j的升级版。Log4j2:最新推出的日志框架。Slf4j:日志门面,为各种日志框架提供统一的记录日志的接口。接下来主要讲一下Logback的实现。
2024-02-05 10:00:43 11915
原创 使用Dubbo实现微服务之间的高效通信
确保项目中已经存在dubbo依赖,可以直接添加spring-cloud-alibaba-dependencies依赖到项目中,spring-cloud-alibaba-dependencies依赖于spring-cloud-starter-dubbo,spring-cloud-starter-dubbo依赖于dubbo。@DubboReference注解告诉Dubbo当前类是一个服务消费者,Dubbo会自动检测这个类并从注册中心获取被注解的服务提供者对象的信息,并建立与服务提供者的通信。
2024-02-04 15:20:08 4831
原创 解析父POM中的<scope>import</scope>
时,你实际上是在告诉Maven:“我想引入其他POM的依赖管理信息,而不是实际地添加这些依赖到项目构建中。”这样,子模块可以使用父POM中定义的依赖管理信息,而不需要在子模块中重复定义。当你在父POM中使用。
2024-02-02 18:07:43 471
ClearTemporaryFiles.bat
2024-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人