自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于python进程在linxu运行时接受MQ消息阻塞一段时候后在进行业务交易时会在固定代码卡住固定时间问题

我们其中的一个进程在阻塞了超过二十多分钟后,接受到mq的消息后继续执行时,会在固定的数据库操作中卡住15至16分钟,卡完后会抛出数据库异常ORA-03113: 通信通道的文件结尾,后续由于我们封装的执行数据库操作的函数在检测到规定内的异常时会尝试重新建立数据库连接,后续就不会在卡住。当应用起来之后只会初始化一次数据库连接,后续一直用同一个,当等待mq超过一定时间后,数据库服务端单方面将连接清理,但我们的代码对此是感知不到的,由此会发生系统流程卡住一定时间的现象,而且是偶现的。

2024-01-03 11:15:20 403

原创 文件采集程序注意事项

移动文件通用的一些方案,考虑到文件名字有可能携带一些特殊字符,如&、|、"、-等,所以尽量用高级编程语言提供的一些函数进行处理,而不是使用系统命令操作。并且移动文件时如果使用系统命令在文件还未传输完成时就进行执行命令会导致传输文件的程序报错。所以移动文件的程序还需要有能力检验文件是否传输完毕。例如python的os.rename()函数,如果文件还未传输完毕会抛出异常。

2023-08-29 16:31:20 122

原创 联想一面面经

好久不写博客了,因为最近在准备面试,一共投了九家,腾讯、菜鸟、美团、京东、贝壳、哔哩哔哩、联想、字节跳到、百度。到目前为止,笔试了美团和京东,美团五道编程题,通过了三道,有一道写了一半,另一道没写。京东三十道选择,两道编程,通过了一道编程。但是一直都没有了后续,知道5.19号晚上八点多收到了联想的面试通知,5.20日下午两点半开始。以下是我的面经。1、介绍自己2、面试官说问点基础的吧,问我hashmap和hashtable的区别。我答介绍了hashmap的数据结构,回答上了两个,a、hashmap是

2022-05-20 16:30:31 1348 1

原创 RabbitMQ确认应答和确认发布

首先是个人理解一、确认应答:可以在消费端设置自动确认应答和手动确认应答。将第二个参数设置为true,即表示开启自动应答。channel.basicConsume(queueName,true,deliverCallBack,cancelCallBack);开启了自动应答之后,不管消费端有没有处理完从队列里拿到的消息,都会将队列中的消息删除掉。将这个设置为false,就表示开启了手动应答·,只有在执行了channel.basicAck(参数一(String类型,消息的tag),

2022-04-25 19:30:30 3506 2

原创 springboot集成swagger2报空指针异常

确定了swagger2配置文件和依赖版本没有问题后,本来也以为是配置文件的bean没有被注入,但又在启动类上加了@ComponentScan()注解依然没用。翻阅资料,将springboot的2.6.7版本改为了2.0.7.RELEASE 后就解决了,可能是springboot版本过高和swagger2的版本不匹配造成的。...

2022-04-21 20:52:49 1036

原创 feign远程调用传参问题

如果是简单参数,用@RequestParam或者@PathVariable注解如果是对象参数,用@RequestBody注解

2022-02-22 16:56:53 1663 2

原创 使用feign远程调用小记

当我们要使用feign远程调用其他项目的接口时,要在启动类上注解@EnableFeignClients然后将创建一个接口要,将要调用的接口的注解和返回值类型、函数名那两行粘过去。这里,要尤其注意,粘过去之后,如果函数里有参数,则一定要在参数前声明一个注解表明你的参数名,即使只有一个参数也要写注解声明。例如:@PostMapping("/user/login") public AppResponse<UserRespVo> login(@RequestParam("loginacc...

2022-02-21 16:39:18 630

原创 @AutoWired类的名字必须是类名首字母小写的全拼

@AutoWired类的名字必须是类名首字母小写的全拼,否则可能会出现required a single bean, but 2 were found的问题。

2022-02-11 16:01:02 496

原创 thymeleaf取值域名加不加#的区别

[[${session.xxx}]]等价于[[${#session.getAttritube(xxx)}]]不加#整体看是调用了session.getAttritube,#session相当于是取session对象本身,然后再调用getAttritube方法取域中的值。

2022-02-09 16:31:49 619

原创 thymeleaf的th:include用法

例如,被导入的页面include.html:<span th:fragment="cssStyle"><link href="xxx" th:href="@{/xxx}" ></span>导入的页面:<div th:include="~{include::cssStyle}"></div>经过浏览器解析过后为:<span><link href="xxx">&...

2022-02-09 16:08:46 2558

原创 MySQL中after触发器和外键谁先执行的问题(个人见解)

做了以下实验。主表users,从表sales,外键 uid ( on delete casecade)创建了触发器DELIMITER //create trigger tri_3 after delete on usersfor each rowbeginif(exists(select * from sales where uid = old.uid))then update sales set uid = null where uid = old.uid;end if;end/

2021-12-19 11:31:27 475

原创 js函数参数如何接收字符串和日期类型

在其对应的字符串或日期参数前拼上引号,即可。如果函数调用的地方在引号中,就使用转义字符,使得最后的参数外有引号即可。

2021-12-16 15:40:54 265

转载 表单如何使用ajax异步提交

使用ajax异步提交表单的几种方法总结 - 经验笔记方式三比较靠谱

2021-12-15 16:00:39 107

原创 jsp,ajax如何返回json

需要设置返回的结果类型,不然异步回调的结果默认是String,String在js中无法遍历元素。response.setContentType("text/json");设置好之后,当前的servlet返回的结果会被当成json数据返回。

2021-12-15 10:37:14 1206

原创 jsp乱码问题

如果确定浏览器编码格式和jsp编码格式都没有错误,就检查服务器的编码格式,设置为相同的编码格式即可。

2021-12-14 12:14:56 549

原创 对拷,springAPI

org.springframework.beans.BeanUtils;BeanUtils.copyProperties(拷贝对象, 目标对象);前提,要求靠别对象的属性名必须与目标对象的属性名一致,若不一致则不会被拷贝。

2021-12-05 16:54:26 68

原创 调用第三方接口实现短信功能

首先登录阿里云官网,搜索短信,随便找一家提供服务的商家。将上面的代码粘过来,由于我们要做的时做一个模板类,将函数名修改,将参数改为一个map集合,因为Map<String, String> querys = new HashMap<String, String>();querys.put("mobile", "15165025602");querys.put("param", "3213");querys.put("templateId", "SMS_75800.

2021-12-05 15:09:16 539

原创 目前遇到的页面数据显示与底层数据库变化的解决方案

根据业务需求可以选择跳转页面的方式或者不跳转页面的方式。实现:一、单纯使用页面跳转的方式二、单纯使用Ajax异步回调的方式 这种方式在页面显示往往要拼串,页面不发生跳转,数据的变化与页面的显示同步。三、混合使用 在页面初始化需要跳转页面,但数据的更新不能跳转页面,由于页面的数据不是由函数拼串出来的,这时就只能将页面的数据变化与数据库的数据变化分离,也就是说页面的变化不在依赖于某个函数或某个controller层的控制器,单纯使用前端的技术将页面的变化展示出...

2021-11-19 11:40:51 1006

原创 对于ajax异步请求的方式生成的元素如何绑定事件

页面刚加载时,ajax请求生成的元素还未被加载假设ajax请求中生成了这样一个标签,其中<div></div>标签是刚加载页面时被加载的,也就是不是被ajax请求中生成的。<div id = "testDiv"><button typer="button" id = "testBtn">test</button></div>使用$("#testBtn").click(function(){});这种方

2021-11-16 14:51:40 924

原创 小记attr和prop的区别

attr会有bug。适用的场景大多在给自定义属性赋值时使用。prop是修复了attr的bug后的产物,给内置的属性赋值用它。

2021-11-14 16:25:12 69

原创 SSM路径跳转404小记

当我在跳转路径时,出现了问题。跳转的链接并没有被controller层的@RequestMapping("/xxx")对应的方法处理,并且跳转后报404的界面的路径并没有包含根路径,http://localhost:8080/index像这样,本应出现的路径应该是这样http://localhost:8080/项目根路径/index。检查了web.xml,springmvc.xml配置文件均未有问题,由于是maven项目我又做了一系列依赖重新导入的操作,确认了jar包的导入。原本我跳转的链接是这样写

2021-11-09 15:13:14 1289

原创 Description Resource Path Location Type Archive for required library:xxxcan not or is not a vail zip

解决方案:找到根据错误提示的maven本地仓库jar包的所在位置,删除该jar包所在文件夹的全部文件,在保存一下项目或者强制更新maven项目,让他重新从外网上下载对应的jar包,应该能解决大部分问题。...

2021-11-05 11:52:10 127

原创 vue条件渲染v-if和v-show的区别

由上图查看网页源码可以看出,v-if只会加载值为true的网页元素,修改时会重新加载,而v-show是都加载,但是会添加一个是否显示的属性,修改时只改变属性的值。总结:相对来说当我们的这个属性的值经常修改时选择v-show标签,因为他已经加载了所有的元素。当我们的这个属性的值不经常修改时选择v-if标签。选择合适的方式来可以提升加载的速度。...

2021-10-27 20:05:36 102

原创 前端框架vue中单向绑定和双向绑定

如图下是单项绑定的实例及效果,当我们改变输入框中的value时,{{search.info}}的值不会改变。图下是双向绑定的示例及效果图,当我们改变被v-model也就是双向绑定的数据时,其他所有的同名的值都被改变。...

2021-10-25 16:03:00 154

原创 Java Script中var和let的区别

声明变量都是同样的格式var num = xxx;let num = xxx;区别:1、var没有作用域的概念,而let有作用域的概念。2、var可以重复声明并初始化同一个变量,之后赋的值会覆盖掉前面的值,而let不能。var num = 1;var num = 2;结果num的值为2,而let不能声明一个变量两次。3、var声明的变量在程序执行前就会被提前声明,但不会赋值,而let声明的变量在程序执行到对应的语句才会被声明。所以推荐使用let的方式声明变量。

2021-10-24 16:56:49 727

原创 Linux系统创建软连接(快捷方式)

ln -s 源文件得绝对路径地址 存放软连接的绝对路径地址注意:源文件的地址必须是绝对路径,如果写相对路径系统会找不到文件所在位置,创建出来的软连接会变成这样。而正常的软连接是这样:...

2021-10-23 16:56:08 681

原创 2021-10-22

Spring Boot 使用JUnit5Spring Boot2.20版本开始引入JUnit5作为单元测试默认库JUnit5由三个不同子项目的几个不同模块组成。JUnit5=JUnit Platform + JUnit Jupiter + JUnit VintageJUnit Platform :是在JVM上启动测试框架的基础,不仅支持JUnit自制的测试引擎,其他测试引擎也都可以接入。JUnit Jupiter:提供了JUnit5的新的编程模式,是JUnit新特性的核心。内部包含了一个测试引擎,

2021-10-22 17:29:26 58

原创 使用thymeleaf抽取公共资源

首先在templates中新建一个HTML文件,该页面不被外界访问,只被用来存放其他页面相同的公共资源。这里将这个页面命名为common.html。推荐原页面中的文件存放在<head></head>或<body></body>,公共资源文件也存放在对应的位置。1、fragment方式common中<div th:fragment="xxxx"></div>源文件中<div t...

2021-10-14 15:01:24 219

转载 为什么使用thymeleaf的th:href

语法格式如下:<a th:href="@{/channel/page/add}">添加渠道 </a><a href="/channel/page/add">添加渠道 </a>在默认项目路径为空时,打Jar包单独运行时。二者效果一致。在使用Maven内嵌Tomcat或打War包部署到Servlet容器,或者在项目内执行App启动类,且有配置项目路径时。二者区别如下:href始终从端口开始作为根路径,如http://localhost:80

2021-10-14 14:46:18 235

原创 SpringBoot获取页面的参数@PathVariable@RequestHeader@RequestParam@CookieValue@RequestBody@RequestAttribute..

1、@PathVariable获取请求路径的参数在Controller层中对应的@xxxMapping("/xxx/{参数名}")public 返回值 函数名(@PathVariable("参数名") 参数类型 形参名){}可以设置一个形参@PathVariable() Map<String,String> map,通过这个map可以获取所有的参数对应的网页端链接地址/xxx/参数值2、@RequestHeader获取请求头的参数xxxMapping("/xxx")pu.

2021-10-11 09:29:17 482

原创 SpringBoot如何使用Rest设计风格

注释中的是SpringMVC的原生Rest风格,SpringBoot又进行了二次包装,减少了代码量。

2021-10-10 10:08:22 104

原创 SpringBoot如何修改默认配置

SpringBoot默认会在底层配好所有会用到的组件(用到了大量的ConditionOnXxxxx,确保了性能),如果用户自己配置了则以用户的优先。修改方法:1、用户直接自己在配置类中@Bean生成一个对应的自定义组件,当默认的组件加载时会检查容器中是否有对应的组件,如果有但是组件名不规范,会自动帮用户修改,保证规范化;如果没有,则创建对应的组件。2、(推荐的方法)可以直接在resources文件夹的application.properties中覆盖掉组件的配置绑定对应的属性,可以查看官方文档中

2021-10-09 10:16:26 1123

原创 Could not autowire. (SpringBoot配置绑定功能)

当我们使用配置绑定功能时,可能会出现Could not autowire这种错误,原因是因为当我们使用配置绑定功能实现实例创建的时候,不再是new出来,而是SpringBoot自动帮你加载resource文件中配置中的信息,从而创建实例。所以要解决和我相同的错误只需要将类中的构造方法去掉即可,因为我们不在需要new这个类的实例了。配置绑定功能的两种实现方式一、@Component + @ConfigurationProperties(prefix = "resource文件中的配置信息前缀...

2021-10-08 16:59:23 915

原创 使用idea打包Springboot项目helloworld

一、准备好写好的项目并配置好服务器端口号二、确定自己的pom.xml文件中有相应的插件,并且在对应项目的属性下设置打包方式为jar包的方式<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven..

2021-10-08 11:58:27 729

原创 Spring框架的常见错误

框架:具有约束性的支撑我们实现功能的半成品的项目。遇到Spring的错误,就看最后一个错误就行了,前提是只有一处错误。SpringError_one: Exception in thread "main" org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [com.atguigu.spring.mod.Person] is defined: exp...

2021-10-07 15:25:57 1293

原创 常用的正则表达式

整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字:”^[0-9]*$”只能输入n位的数字:”^\d{n}$”只能输入至少n位的数字:”^\d{n,}$”只能输入m~n位的数字:”^\d{m,n}$”只能输入零和非零开头的数字:”^(0|[1-9][0-9]*)$”。只能输入有两位小数的正实数:”^[0-9]+(.[0-9]{2})?$”。只能输入有1~3位小数的正实数:”^[0-9]+(.[0-9]{1,3})?$”。只能输入非零的正整数:”^\+?[1-9][0

2021-10-07 15:22:05 78

原创 usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-5.6.4.zip/plugin-descriptor.properties不是目录

在给elasticsearch配置中文分词器后,启动elasticsearch时没有错误,但是却无法访问然后查看日志vim /var/log/elasticsearch/my-es.logmy-es是配置的集群名称,可以查看自己的集群名称vim /etc/elasticsearch/elasticsearch.yml发现最近的报错导致的原因是/usr/share/elasticsearch/plugins/elasticsearch-analysis-ik-5.6....

2021-10-06 17:06:48 1436

原创 elasticsearch的基本概念

cluster:整个elasticsearch 默认就是集群状态,整个集群是一份完整、互备的数据。node:集群中的一个节点,一般指一个进程就是一个node。shard:分片,即使是一个节点中的数据也会通过hash算法,分成多个片存放,默认是5片。index:相当于rdbms(关系型数据库)的database,对于用户来说是一个逻辑数据库,虽然物理上会被分为多个shard存放,也可能存放在多个node中。type:类似于rdbms的table,但是与其说是像table,其实更像面向对象中的c

2021-10-06 16:03:05 131

原创 .yaml(可以简写为yml)格式的文件修改注意事项

一、每行必须顶格,不能有空格。二、“:”后面必须有一个空格。

2021-10-06 14:12:41 890

原创 常用软件的默认端口号(MySQL,nginx,Tomcat,Redis,myCat,zookeeper,Elasticsearch,Kibana,Activemq)

MySQL:3306nginx:80(可以不写)Tomcat:8080Redis:6379myCat:8066zookeeper:2181Elasticsearch:9200

2021-10-05 19:08:08 2612 1

空空如也

空空如也

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

TA关注的人

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