- 博客(1540)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Docker 安装solr 配置IK分词,说明
参考:docker 安装solr8.4.0 配置IK分词在拉取或创建solr容器的时候,要带上版本号,否则会拉取到一个具有不稳定性的、可能会引发错误和问题的TAG为latest的版本。正确写法:docker pull solr:8.4.0docker run --name solr -d -p 8983:8983 -t solr:8.4.0...
2020-05-12 10:04:25
371
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 数据库命名之规范
引言数据库设计过程中库、表、字段等的命名规范也算是设计规范的一部分,不过设计规范更多的是为了确保数据库设计的合理性、为了项目最终的协调稳定性,而命名规范更多的是为了确保设计的正式和统一。数据库中字段等等以什么样的命名方式,并不会直接影响到项目的稳定性。制定规范的直接目的是约束行为,最终目的是确保色痕迹的合理统一。规范虽然是那些有丰富项目经验的人制定的,但维护的却不是某个人的意志,因为遵守此...
2020-04-02 17:26:40
357
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 锁
Java中的锁主要用于保障多并发线程情况下数据的一致性。在多线程编程中为保障数据一致性,我们常需要在使用对象或方法之前加锁。这时若有其他线程也需要使用此对象或該方法,则产生要获得锁。如果某个线程发现锁正被其他线程使用,就会进入阻塞队列等待锁的释放,直到其它线程执行完毕并释放锁,該线程才有机会再次获取锁进行操作。这就保障了在同一时刻只有一个线程持有该对象的锁并修改对象,从而保障数据安全。锁可分为...
2020-03-07 23:13:01
298
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 整数的素因数权重分析
用Python实现将一个正整数分解素因数,以权重的形式来表达。例如表示成元组字典的形式{2: 2, 3: 2, 11: 1, 17: 2}先定义素数池:primePool = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,79,83,89,97,101,103,107,109,113]实现:def...
2020-03-03 00:16:38
224
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Python判断一个正整数是否为素数的算法
先定义一个列表,作为素数池,这样多次操作的时候可以直接用里面的数作为取模的除数:primePool = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,79,83,89,97,101,103,107,109,113]定义素数判断函数def isPrime(num): if num in primePool: r...
2020-03-02 21:55:39
7075
原创 给定一整数数组,其中有p种数出现了奇数次,其他数都出现了偶数次,怎么找到这p个数?
取结果为c的元素组成子集A',由于b的第s位是1,则两个目标数字不会都是A'的元素,否则经过⊕运算,s位的值是0的话,如果b中没有某位是1的数字,则b=0,从而产生矛盾。按位异或运算⊕是具有如下性质的二元运算:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0,并且满足交换率、结合率。则0是⊕的单位元,即对于任意的二进制数a,都有a⊕0=0⊕a=a。,其中有p种不为0的数出现了奇数次,其他数都出现了偶数次,找到这p个数。,则必然b≠0,否则可以推出这两个数相等,从而产生悖论。可能不为0,也可能为0。
2024-07-20 15:21:34
232
原创 Java 在切面中为SqlSessionFactory调用.openSession()产生的非Bean的SqlSession对象 添加监听器,以监听它调用的insert、update操作。
在Java中,为非Spring管理的Bean(如由的方法产生的SqlSession对象)添加监听器,需要采用一种间接的方法,因为Spring AOP默认只代理Spring容器管理的Bean。为了监听SqlSession对象的insert和update操作,我们可以创建一个代理,该代理负责生成代理的SqlSession对象。然后,我们可以在这个代理SqlSession上应用AOP来实现所需的监听功能。
2024-07-17 10:40:11
165
原创 Java 在切面中为某个非Bean对象添加监听器,以监听它的某些方法调用
但是,你可以使用Spring AOP的`@Aspect`注解来定义一个切面,并在切面中使用`@AfterReturning`、`@Before`、`@AfterThrowing`等注解来定义通知(Advice),这些通知将在匹配的方法执行前后或抛出异常时运行。由于非Bean对象不由Spring管理,你需要手动创建它的实例,并在需要的地方使用它。- 如果你的非Bean对象需要访问Spring容器中的Bean,你可能需要重新考虑它的设计,或者使用其他方法来实现所需的功能。// 在这里实现监听逻辑。
2024-07-17 10:05:23
235
原创 用Spring监听器为某个类型的非Bean对象添加监听事件,并在这个非Bean对象调用某个方法时,在监听方法中将这个非Bean对象调用方法所产生的数据变化记入日志数据库中。
**非Bean对象的创建**:你需要确保非Bean对象能够获取到`ApplicationEventPublisher`的实例。- **事务管理**:在记录数据到数据库时,你可能需要考虑事务管理,以确保数据的一致性。3. **创建事件监听器**:实现一个监听器来响应事件,并将数据变化记录到数据库中。1. **定义自定义事件**:创建一个事件类,用于封装方法调用后的数据变化信息。2. **创建事件发布者**:在非Bean对象的方法调用后,手动发布事件。// 这里注入你的数据访问对象或Repository。
2024-07-17 09:19:07
329
原创 用Spring监听器为一个普通对象添加监听事件,并在这个普通对象调用某个方法时,在监听方法中将这个普通对象调用方法所产生的数据变化记入日志数据库中。
2. **创建事件监听器**:创建一个事件监听器,它将实现`ApplicationListener`接口,用于监听上面定义的事件。3. **创建普通对象的代理**:使用Spring AOP(面向切面编程)来创建普通对象的代理,以便在调用方法时触发事件。5. **记录日志到数据库**:在事件监听器中,实现将数据变化记录到日志数据库的逻辑。1. **定义事件**:首先,定义一个事件类,它将包含普通对象调用方法后的数据变化。4. **配置Spring**:在Spring配置文件中配置事件监听器和代理。
2024-07-17 09:10:08
370
原创 阐述软件23种设计模式背后的图论和代数结构基础
与图论中的**同态(Homomorphism)**概念相关,适配器模式提供了一种将一个类的接口映射到另一个接口的方式,类似于图的同态。- 与图论中的**生成树(Spanning Tree)**概念相关,工厂模式可以用于构建对象的层次结构,类似于生成树在图中的应用。- 与图论中的**快照(Snapshot)**概念相关,备忘录模式保存对象的状态,以便可以恢复到先前的状态。- 可以与图论中的**图(Graph)**概念相关,对象之间的观察者-主题关系可以被视为图中的节点和边。
2024-07-17 09:09:19
585
原创 复变偏微分方程
1. **分离变量法**:通过将函数 \( f(z, \bar{z}) \) 分解为 \( f(z) \) 和 \( g(\bar{z}) \) 的乘积,然后分别求解 \( f(z) \) 和 \( g(\bar{z}) \)。复变偏微分方程通常涉及复数域上的函数 \( f(z, \bar{z}) \),其中 \( z \) 是复变量,\( \bar{z} \) 是其共轭。复变偏微分方程是一类在复数域上定义的偏微分方程。- **电磁学**:在电磁场理论中,Maxwell方程可以转化为复变偏微分方程的形式。
2024-07-16 19:20:46
296
原创 RUP的特点
RUP使用和支持面向对象,且。RUP综合了多种软件开发过程的优点,全面考虑。用例模型表达了系统的需求,后面的各种。系统的概念化、构造和管理均围绕。了软件开发过程的技术因素和管理因素。从技术角度,RUP的软件系统开发是基。建立的设计、实现模型均是对象模型。系统开发从建立业务领域的用例模。工作围绕如何实现用例模型展开。系统开发过程中,体系结构用。系统的体系结构进行。
2024-03-31 15:41:42
347
原创 5人雨天参会,每人带一把伞,入场时随意挂在架子上,离场时每人随意拿走一把。求:
或从另一个角度考虑,即5人中最多有四人错排,拓展:至少2人拿到自己原伞的概率。(1) 5人错位排序。
2024-03-31 15:20:20
207
原创 求满足递推关系h(n)=5h(n-1)-6h(n-2) 中h(n)的表达式,其中初始条件ん0=1,ん1=-2.
解:其递推公式的特征方程为。的表达式,其中初始条件。
2024-03-31 14:50:25
270
原创 An Interview
What is your experience with Python and MySQL? Can you provide examples of projects you have worked on using these technologies?How would you handle customer requirements gathering and analysis? Can you provide an example of how you have translated custome
2024-03-31 14:01:29
324
原创 能除尽600的正整数有_个
一共有3+1+2=6个质因数,考察从中取r个因数,注意取r个因数与取6-r个因数的情况是一样的,因为设∀取r个因数,令它们的积是A,则取6-r个因数的积正好就是。根据乘法原理,根据质数的次数,先后取0~3个2、0~2个3、0~2个5,一共是4×2×3=24个。设R(r)为取r个因数时的情况数。按照质因数的种类分组。②当r=1时,根据每组取数的情况不同,有。③当r=2时,根据每组取数的情况不同,有。④当r=3时,根据每组取数的情况不同,有。,二者是一一对应的关系。
2024-03-17 15:30:41
440
原创 1到30的正整数中任意选取三个不同的数,使得它们的和能被3整除,则共有_种不同的选取方法
中的同一个等价类,或从三个等价类中各取一个元素,其和都能被3整除。,则A的关于被3整除同余的关系R的商集。
2024-03-17 08:43:40
373
原创 排成一行的正方形染色问题
有r个正方形排成一行,今用红、黄、白、蓝四种颜色给这个r个正方形染色,每个正方形只能染一种颜色,如果要求染红、黄、白色的正方形分别至少出现一个,问有多少种不同的染法?再减1就能表示去掉了一个都不出现的情况。红、黄、白色分别至少出现一个,则可表示为。从红、黄、白、蓝4种颜色中,允许重复的取出r个进行排列,其中红、黄、白至少出现一次。而蓝色没有限制,是全部的计数情况。
2024-03-16 16:31:00
321
原创 本福特定律
当薪资水平超过劳动者认为合理的水平时,他们的工作动力可能会下降,从而导致生产力的下降。这一定律的原理在于,薪资水平的提高可以作为一种激励机制,激发劳动者的工作动力。因为劳动者往往会将更高的薪资视为一种回报,他们会更加努力地工作,以保持或提高自己的薪资水平。当劳动者的薪资水平增加时,他们通常会更加努力地工作,以最大程度地发挥自己的潜力,从而提高生产力。综上所述,本福特定律强调了劳动者的薪资水平与生产力之间的相互关系,提出了薪资水平对于激发劳动者工作动力和提高生产力的重要性。
2024-03-15 08:37:37
426
原创 Mybatis分组查询大于某值的最小值记录
`ROW_NUMBER() OVER (PARTITION BY cid, pid ORDER BY score ASC) as rn`:这是一个窗口函数,它为每个`cid`和`pid`分组内的记录分配一个唯一的序号,序号是根据`score`字段升序排列的。- `WHERE subquery.rn = 1`:在外层查询中,我们只选择那些窗口函数返回的序号为1的记录,即每个`cid`和`pid`组合中`score`字段值大于给定值的最小的一条记录。- `your_table`是你要查询的数据库表名。
2024-03-11 10:26:39
373
原创 Mybatis 对接 Mysql 实现根据id查到code,再根据这个查到的code拼接0至若干个“_Copy“,直到拼接的字符串长度超过code字段的长度,或第一个不存在的
例如,查到id为3的code为"abc",而库中有code为"abc"、"abc_Copy"、"abc_Copy_Copy"、"abc_Copy_Copy_Copy"的记录,则返回字符串"abc_Copy_Copy_Copy_Copy"。而字符串"abc_Copy_Copy_Copy_Copy"的长度是23,如果code字段的长度不超过23,就返回"abc_Copy_Copy_Copy_Copy"这个字符串;如果拼接后的字符串长度超过了code字段的长度或在表中找不到匹配的记录,则返回null。
2024-02-19 13:15:40
350
原创 Mybatis 直接存储JSONObject类型
首先需要创建自定义的 TypeHandler,该 Handler 将会负责将 Java 对象转换为 JSONObject 并进行持久化操作。现在就可以在 Mapper XML 或者注解中直接使用 JSONObject 了。来处理 JSONObject 类型的数据。在 MyBatis 中,可以使用。
2024-01-19 14:37:08
798
原创 Java Stream的reduce方法,输入一个Set,得到另一个Set。回调方法中,根据某种逻辑判断是否向结果集中添加元素。
对象,一个回调方法用于按条件添加元素到结果集,以及一个合并函数,在并行处理的情况下将中间结果合并起来。方法来实现这个逻辑,虽然这不是一个典型的用例,但仍然可以做到。操作本身通常不用于直接从一个集合生成另一个集合。方法通常用于将流中的元素组合起来,生成单一的结果。组合来进行这种操作,因为这样更加清晰且易于理解。API来根据某种逻辑判断来从一个。方法的三个参数是一个初始的。方法来过滤元素,然后使用。等方法来生成新的集合。
2024-01-03 15:18:39
518
原创 Java代码中利用Mybatis 创建Mysql存储过程
注意,这种方式存在SQL注入的风险,因为你是直接将SQL语句拼接然后执行的。通常,像创建存储过程这样的操作在应用程序初始化或者部署的时候由DBA在数据库层面手动完成,而不是通过应用程序代码执行。在标准的做法中,存储过程是在数据库中手动创建的,然后通过MyBatis映射器调用。在上面的代码示例中,`executeRawSQL`是你需要在MyBatis映射文件中定义的一个语句。但如果你有一个需求在Java代码中动态创建存储过程,你将需要通过Java代码发送原始SQL来执行存储过程的创建。
2023-12-22 10:52:09
599
原创 new File 得到的是父工程的src路径,而不是本微服务的路径。如何进行全局配置来解决这个问题
对于全局配置,您可以将获取到的路径保存到配置文件中,例如 "application.properties",然后在需要使用路径的地方从配置文件中读取。这样,您就可以在整个微服务中使用统一的配置,来获取正确的微服务路径。同时,您也可以在部署时轻松更改配置文件中的路径,以适应不同的环境和部署要求。这种方法可以获取到当前类所在的路径,通常是微服务项目的根路径。如果是非 Spring Boot 应用程序,则可以使用其他配置文件读取库来读取配置文件中的值。这种方法可以获取到当前工作目录,通常是微服务项目的根路径。
2023-12-21 14:40:09
911
原创 SpringClou不同的微服务依赖不同的spring-boot-starter-parent版本
需要注意的是,如果使用了不同版本的spring-boot-starter-parent,可能会出现冲突或兼容性问题,需要做相应的测试和调整来解决这些问题。通过这种方式,不同的微服务可以使用不同版本的spring-boot-starter-parent,从而实现依赖不同版本的依赖库和配置。在主pom文件中指定默认的spring-boot-starter-parent的版本,这个版本将被所有的微服务共享。标签重新定义新的spring-boot-starter-parent。
2023-12-21 11:29:30
906
原创 出现错误org.springframework.cloud.configuration.CompatibilityNotMetException: null的原因
org.springframework.cloud.configuration.CompatibilityNotMetException: null错误的原因是由Spring Cloud框架在应用程序中使用的组件或依赖项的版本之间存在不兼容问题引起的。该异常可能是由于Spring Cloud组件的不兼容版本或Spring Boot和Spring Cloud之间的不兼容版本引起的。如果使用了依赖于Spring Cloud的第三方库或插件,请确保它与您使用的Spring Cloud版本兼容。
2023-12-21 10:26:01
447
转载 【Spring boot 中 logback 配置<springProperty> 读取application.properties 中的属性】
Spring boot 中 logback 配置<springProperty> 读取application.properties 中的属性
2023-12-20 15:58:45
201
原创 Eclipse 绘制架构图的插件
Papyrus:Papyrus 是 Eclipse 的一个可扩展的开源 UML 工具,可以用于绘制不同类型的架构图,包括类图、时序图、活动图等。Architexa:Architexa 提供了一个新颖的方法来理解和绘制架构图,它可以将已有的源代码转换为可视化的架构图,帮助开发者更好地理解代码结构和模块间的关系。Sirius:Sirius 是 Eclipse 的一个可扩展的模型驱动工具,可以用于绘制各种类型的架构图,如类图、状态图、时序图等。
2023-12-12 13:29:55
789
原创 人工智能增强的全流程测试在需求理解分析阶段和单元测试阶段的提效手段
(1) 引入自然语言处理(NLP)技术,将需求文档转化为语义模型,以更好地理解需求,发现需求中的潜在问题。(2) 使用机器学习和数据挖掘技术,对需求文档进行自动分类、聚类、过滤等处理,提高需求分析的效率和准确性。(3) 引入深度学习技术,在单元测试中使用测试自动生成和模糊测试技术,自动发现程序中的错误和异常。(2) 使用代码覆盖率分析工具,对测试用例的覆盖率进行评估和分析,优化测试用例的设计和执行。(3) 引入知识图谱,将需求信息进行链接和整合,辅助需求分析人员更好地理解需求与相关信息。
2023-12-12 09:58:20
456
openpyxl-3.0.2.7z
2020-01-01
微分方程特解的微分算子法.pdf
2019-12-30
开发人员如何能快速地理解好业务需求
2019-09-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人