- 博客(149)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
原创 docker快速部署docker流程
注意:在此处如果你拉取镜像的时候使用docker pull rabbitmq的时候,是默认不开启管理后台功能的。所以,如果此时你想要使用管理后台功能的话,就直接使用这个命令docker pull rabbitmq:management进行镜像的拉去。要快速部署RabbitMQ,可以使用Docker容器来简化过程。创建一个名为rabbitmq的容器,并且设置了RabbitMQ的默认用户名和密码分别为root、root。登录RabbitMq后台管理端,默认地址就是ip:15672,能登录成功便是启动成功。
2024-09-09 14:33:44
335
1
原创 手撸一个动态Feign,实现一个“万能”接口调用
当调用sytem微服务的时候,传递一个feignclient的name为system进去,然后定义一个通用的方法,指定调用的url,传递的参数,就可以了呢?对于fegin调用,我们一般的用法:为每个微服务都创建对应的feignclient接口,然后为每个微服务的controller接口,一一编写对应的方法,去调用对应微服务的接口。,为调用该接口所传递的参数,这里加了@RequestBody,那对应的controller接口,接收参数也需要加上该注解。好了,具体的操作步骤,就是上面所说的了!
2023-02-13 16:18:33
4264
1
转载 缓存穿透、缓存击穿、缓存雪崩区别和解决方案
一、缓存处理流程前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。二、缓存穿透描述:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。解决方案:接口层增加校验,如用户鉴权校验,id做基础校验,id<=0的直接拦截;从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-valu
2022-03-18 11:55:14
306
原创 Windows关闭指定端口命令
假设要关闭端口号为8175,使用下面的命令,查出此端口号对应的PIDnetstat -ano|findstr 8175上图红框内的 4388就是8175端口对应的PID,再使用下面的命令就可以关闭这个端口了taskkill /PID 4388/F
2022-03-02 09:58:08
4111
原创 mysql5.7安装教程(linux)
1、系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql2、下载mysql在官网:http://dev.mysql.com/downloads/mysql/ 中,选择以下版本的mysql下载:执行如下命名:#mkdir /data/software#cd /data/software–下载安装包–建议:在windows上使用迅雷下载,速度很快(
2022-01-10 11:26:48
462
原创 定时任务@Scheduled(cron = “* * * * * *?“) 表达式详解
cron表达式格式:{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}cron表达式各占位符解释:{秒数}{分钟} ==> 允许值范围: 0~59 ,不允许为空值,若值不合法,调度器将抛出SchedulerException异常“*” 代表每隔1秒钟触发;“,” 代表在指定的秒数触发,比如”0,15,45”代表0秒、15秒和45秒时触发任务“-“代表在指定的范围内触发,比如”25-45”代表从25秒开始触发到45秒结束触发,每隔1秒触发1次“/”代表触发步进(
2021-12-29 14:29:46
2574
原创 微信分享功能问题-描述内容换行,导致js加载失败
jsContent内容存在换行符,导致js处理失败,解决办法,在后台接口中替换’/r/n’为空,并截取前30位weiXinJsSdk.setSharcontent(StringUtils.isNotEmpty(data.getProfiles()) ? data.getProfiles().replaceAll("\r\n", “”).substring(0, 30) : “”); //微信分享 StringBuilder sb = new StringBuilder("https:/
2021-12-10 14:30:30
1224
原创 es大量数据导入效率优化
项目需求中,简历信息涉及10张表,需要联查获取组装数据,实测,查询一条数据需要5s,大概算了一下总时间的话需要60个小时左右导入完成。优化方法:数据分段+多线程1、10万条数据为例,数据分成10份,每一份10000条;2、每一份数据起一个线程,10个线程,代码大致如下:public Result putAllJobUserInfo() throws ExecutionException, InterruptedException { long l = System.currentT
2021-10-20 18:20:40
1537
原创 自动生成mybatisplus的相关代码
导入对应的jar包,这就不用多说了package com.app.appapi.generatorcode;import com.baomidou.mybatisplus.core.toolkit.StringPool;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.InjectionConfig;import com.baomidou.mybati
2021-09-16 16:10:23
215
原创 Mybatis的SQL注入
Mybatis的SQL语句可以基于注解的方式写在类方法上面,更多的是以xml的方式写到xml文件。Mybatis中SQL语句需要我们自己手动编写或者用generator自动生成。编写xml文件时,MyBatis支持两种参数符号,一种是#,另一种是$。比如:<select id="queryAll" resultMap="resultMap"> SELECT * FROM NEWS WHERE ID = #{id}</select>#使用预编译,$使用拼接SQL。Myb
2021-07-13 11:55:11
5678
原创 layui中接收modelView中返回的对象并赋值给容器
后端直接返list,不用转成json串layui前端一般都是data:***,如下图重点来了
2021-03-22 10:42:42
1717
原创 后端处理方式:特殊格式时间转换(2020-11-27T02:58:41.000000Z)
注意:使用dealDateFormat方法处理(2020-11-27T02:58:41.000000Z)这类时间类型后会出现和实际时间相差8小时,所以需要在处理之前加8小时(使用hourAddNum3方法处理)// 使用dealDateFormat处理这种类型的时间后会缺8个小时,需要加8小时DateUtil.dealDateFormat(DateUtil.hourAddNum3("2020-11-27T02:58:41.000000Z",8))import java.text.DateForma
2021-03-01 18:02:11
849
6
原创 微信生成专属海报(专属二维码)
通过get请求获取专属海报 /** * 获取专属海报 * * @param mid 会议编号 * @param openId 邀请人唯一码 * @return */ @SneakyThrows @ApiOperation(value = "获取专属海报", notes = "获取专属海报") @RequestMapping(value = "/getOwnPoster") public ModelAn
2021-03-01 17:29:27
1105
原创 前端处理方式:特殊格式时间转换(2020-11-27T02:58:41.000000Z)
前端js处理特殊时间格式(2020-11-27T02:58:41.000000Z): //特殊格式时间转换(2020-11-27T02:58:41.000000Z) function timeChange(UTCDateString){ if (!UTCDateString) { return '-'; } function formatFunc(str) { return str > 9
2021-02-03 09:44:06
736
原创 springboot 使用spring的线程池异步执行
springboot异步执行1.启动类在这里插入代码片@SpringBootApplicationpublic class ThreadStudyApplication { public static void main(String[] args) { SpringApplication springApplication = new SpringApplication(ThreadStudyApplication.class); springApplicat
2021-01-15 09:49:22
357
原创 微信网页授权获取用户信息实战代码
微信授权的整体思路:1 第一步:用户同意授权,获取code2 第二步:通过code换取网页授权access_token3 第三步:刷新access_token(如果需要)4 第四步:拉取用户信息(需scope为 snsapi_userinfo)5 附:检验授权凭证(access_token)是否有效微信授权官方文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization
2021-01-14 14:36:54
685
3
原创 sql先排序后去重
https://www.cnblogs.com/dsj2016/p/10679366.html注意对时间进行排序时,需要取最大值MAX(createTime) DESCSELECT TOP 10 orgName FROM Test_Report_log WHERE renCode = '0000' GROUP BY orgName ORDER BY MAX(createTime) DESC;
2020-12-28 16:51:22
1188
原创 读取*.properties文件的配置信息
FileName:配置文件的文件名(带后缀)key:想要读取配置文件中的关键字key(如下图红框中的key) public static String GetValues(String FileName, String key) throws IOException { Properties properties = new Properties(); // 使用InPutStream流读取properties文件 String path = RuntimeEnv.getInstance()
2020-12-15 15:27:40
411
1
原创 java两个项目之间通过webservice调用-源码仅供参考
项目1、本项目为struts2项目所以需要配置配置文件applicationcontex-cxf.xml配置<!-- 定义具体实现的 Bean ,这个 Bean 的定义与 Spring 普通的 Bean 定义是一样的 --> <bean id="webServiceInterface" class="com.git.easyloan.picc.fpdb.piccservice.impl.WebServiceInterfaceImpl" /> <jaxws:serv
2020-10-20 16:36:53
549
原创 IDEA导入javaWeb项目注解爆红问题
出现此问题的原因一般都是jar包没有被扫描到;解决办法:1、在idea的设置里面如图:如果有多个jar包文件夹就都给加进来2、一般jdk版本正确的话,这样选择后重新编译完就应该好了,如果还有问题,那就是jdk版本有问题了,那就更换一下jdk版本试试,如图选择你本地的jdk路径,点击ok修改这两个地方,然后点击apply,再点击ok。这样应该就好了。...
2020-10-13 14:05:59
2682
原创 oracle—“操作记录已被里一个用户锁住” 解决办法
查询锁住sessionSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id = s.sid;锁表释放sessionALTER system kill session '537, 52813';
2020-09-08 13:03:43
338
原创 面试问sql优化怎么回答
(1)最重要的是尽量避免全表扫描”(2)适当的创建索引,考虑在 where 及 order by 涉及的列上建立索引(把所建的索引所用列名,用在where语句中,并尽量在条件的最右边,索引相关知识:https://www.jianshu.com/p/f588c41f1cb5)(3)尽量避免在 where 子句中对字段进行 null 值判断、使用!=或<>操作符、使用 or 来连接条件、对字段进行函数操作等(4)in 和 not in 也要慎用,否则可能会导致全表扫描(5)很多时候用 ex
2020-09-07 15:56:46
1395
原创 lock和synchronized的区别
lock是一个接口,而synchronized是java的一个关键字,synchronized是内置的语言实现;(具体实现上的区别在《Java虚拟机》中有讲解底层的CAS不同,以前有读过现在又遗忘了。)synchronized在发生异常时候会自动释放占有的锁,因此不会出现死锁;而lock发生异常时候,不会主动释放占有的锁,必须手动unlock来释放锁,可能引起死锁的发生。(所以最好将同步代码块用try catch包起来,finally中写入unlock,避免死锁的发生。)lock等待锁过程中..
2020-09-04 15:49:26
633
原创 replaceFirst、replaceAll、replace区别
replace、replaceAll和replaceFirst是Java中常用的替换字符的方法,它们的方法定义是:replace(CharSequence target, CharSequence replacement) ,用replacement替换所有的target,两个参数都是字符串。replaceAll(String regex, String replacement) ,用replacement替换所有的regex匹配项,regex很明显是个正则表达式,replacement是字符串。re
2020-09-03 15:02:08
1429
转载 基本数据类型和包装数据类型的使用标准
【强制】所有pojo类属性必须使用包装数据类型;【强制】RPC方法的返回值和参数必须使用包装数据类型;【推荐】所有局部变量都推荐使用基础数据类型。这里建议我们使用包装类型,原因是什么呢?举一个扣费的例子,我们做一个扣费系统,扣费时需要从外部的定价系统中读取一个费率的值,我们预期该接口的返回值中会包含一个浮点型的费率字段。当我们取到这个值得时候就使用公式:金额*费率=费用 进行计算,计算结果进行划扣。如果由于计费系统异常,他可能会返回个默认值,如果这个字段是Double类型的话,该默认值为nul.
2020-09-03 14:30:56
533
转载 pojo类中的布尔类型的变量为什么不能加is
【强制】 POJO类中的布尔类型的变量,都不不要加is,否则部分框架解析会引起序列化错误。反例:定义为基本数据类型boolean isSuccess;的属性,他的方法也是isSuccess();RPC框架在反向解析的时候,会误认为对应的属性名称是“success”,而不是所定义的isSuccess,导致属性获取不到,进而抛出异常。那么,为什么会有这样的规定呢?我们看一下POJO中布尔类型变量不同的命名有什么区别吧。示例:class Model1 { private Boolean isS
2020-09-03 14:18:47
677
转载 自动拆装箱的那些事
哪些地方会自动拆装箱(比较有意思的是场景四)场景一、将基本数据类型放入集合类我们知道,Java 中的集合类只能接收对象类型,那么以下代码为什么会不报错呢?List<Integer> li = new ArrayList<>();for (int i = 1; i < 50; i ++){ li.add(i);}将上面代码进行反编译,可以得到以下代码:List<Integer> li = new ArrayList<>();for
2020-09-03 14:09:13
230
原创 springboot和springcloud及常用注解积累
@SpringBootApplication是springboot启动类,包括三个注解(@ComponentScan && @Configuration && @EnableAutoConfiguration),他们的作用分别是:@Configuration: 表示将该类作用springboot配置文件类@EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置@ComponentScan:表示程序启动是,自动扫描当前包及子
2020-09-02 14:48:26
396
1
转载 oracle数据库数据表误删后,恢复数据处理方式
有两种方案解决此问题,具体操作:一:根据时间来恢复:1、查询数据库当前时间(目的是为了检查数据库时间是否与你电脑时间相近,避免时间不同而将数据恢复到错误时间点)select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss’) from dual;2、查询删除数据时间点之前的数据select * from 表名 as of timestamp to_timestamp(‘2016-08-11 16:12:11’,‘yyyy-mm-dd hh24:mi:ss’);(若
2020-08-20 10:32:28
359
翻译 记录一下很好用的java爬虫代码-很有意思,原理也很简单,一看就懂
**主要功能是:**爬取百度图片中的图片,一键下载功能就是这样,根据输入的关键字不同,自动下载不同的图片,当然,这些图片都是从百度图片中爬取出来的。思路随便输入一个关键字,百度图片就会展示出很多图片F12打开控制台,看源码,找到图片的地址,多看几个,会发现规律都一样。规律还是很容易简单的吧,写一个简单的正则表达式 https://.*?0.jpg 当然,可以写得更准确,但是这个已经够用,就不写那么精确了。剩下的就简单了,利用java中的URL这个类和IO流,把展示很多图片的那个页面给读出成一个
2020-08-07 11:16:18
397
原创 解决wps如何只复制标题文字(不复制正文)
office好像提供直接右键点击标题选择复制。本地没有office不做过多阐述,重点说一下wps的这个问题。公司有一个项目的数据结构文档,很大上千张表,包含数据结构等其他内容,现在是要这个文档中的所有表名;**解决方案:**将文档生成目录,直接把目录中需要的部分复制出来,这样就获取到表名了(前提是表名要是任意级别的标题)。...
2020-07-13 16:43:05
5639
原创 List、Map、Set三个接口,存取元素时,各有什么特点
【Java面试题】List、Map、Set三个接口,存取元素时,各有什么特点?List与Set都是单列元素的集合,它们有一个功共同的父接口Collection。Set里面不允许有重复的元素,存元素:add方法有一个boolean的返回值,当集合中没有某个元素,此时add方法可成功加入该元素时,则返回true;当集合含有与某个元素equals相等的元素时,此时add方法无法加入该元素,返回结果...
2020-01-16 17:15:42
3881
原创 *福音*阿里云redis5.0.*集群搭建及java代码测试详细(终于不用ruby了)
redis集群搭建:1.CentOs命令如下:wget http://download.redis.io/releases/redis-5.0.6.tar.gz tar xzf redis-5.0.6.tar.gz cd redis-5.0.6 yum install gcc make MALLOC=libc cd src && make insta...
2019-11-28 10:59:55
478
原创 面试经常问的:mybatis的执行流程(比较简洁)
mybatis的执行流程在网找了好多,说的都很详细,但是太多不太简洁,看以下代码就懂了:实际流程大概就是注释的那几句话,面试的时候就这么说就行1、获取mybatis配置文件并读取配置2、获取sqlsessionfactory,并获取实现类(DefaultSqlSessionFactory)3、 通过调用会话工厂的实现类中(DefaultSqlSessionFactory)的openS...
2019-11-26 17:21:47
813
原创 java.net.UnknownHostException 未知的名称或服务
在服务器上部署jar包或者war包时遇见类似:“**java.net.UnknownHostException 未知的名称或服务”**这个的错误,百思不得其解,总以为是项目代码里面有哪个配置或者什么写错了,但是百度了一圈终于得知是服务器的主机地址没有绑定ip地址,也是醉了!!!!!!!!解决办法:获取主机名的命令:hostnamevi /etc/hosts添加一行:你的服务器ip地址 你...
2019-11-22 09:45:00
5044
原创 通俗易懂RESTful,如何设计RESTful风格API
REST – REpresentational State Transfer 直译:表现层状态转移。这个中文直译经常出现在很多文章中。尼玛,谁听得懂“表现层状态转移”,这是人话吗?那就逐个单词来理解REST名称REST – REpresentational State Transfer首先,之所以晦涩是因为前面主语被去掉了,全称是 Resource Representational Stat...
2019-11-18 10:30:34
343
原创 java判断一个字符串是否为空,isEmpty和isBlank的区别
实际应用中,经常会用到判断字符串是否为空的逻辑比较简单的就是用 Str != null && Str.length() >0 来判断其实很多java工具集都是有包装好的接口可以使用的比如 StringUtils.isEmpty(String str) 和 StringUtils.isBlank(String str)isEmpty和isBlank的区别在于i...
2019-08-26 09:38:08
498
吃鸡鼠标宏(完美适合罗技402和502)
2019-06-23
DB2错误代码.txt
2019-05-15
Sublime Text3(windows版和Mac版)
2017-09-20
基于java开发的山寨QQ
2017-09-12
xshell执行脚本,spool打印输出信息,如何去除所有提示信息(包括查找到的数据)
2018-07-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人