- 博客(94)
- 收藏
- 关注
原创 redis获取缓存对象bean时报:SerializationException: Could not read JSON: Could not resolve type
关于redis缓存反序列化失败的处理
2022-07-21 11:44:05
9236
1
原创 工作中遇到的异常以及解决方法整理,持续更新
1.异常:java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64解决方案:加入驱动包 <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.6</version>
2022-05-20 10:39:31
781
原创 简单好用将bean转为xml结构
偶尔因为对接或者需求,需要把bean转为xml数据结构,各位网友用时,直接复制到自己idea中,测一下再根据自身需要调整就行首先组装的对象类例:对象类:lhstmqimport javax.xml.bind.annotation.XmlAttribute;import javax.xml.bind.annotation.XmlRootElement;import javax.xml.bind.annotation.XmlType;/** * 这个类是xml的头信息配置 */
2022-04-14 11:27:25
2291
原创 如何处理从application.properties配置文件获取的汉字乱码问题
平时从配置文件各种读取配置参数都正常,但是有时候放了个中文就乱码,你肯定试过网上好多方法,都没解决,那么来看下面,恭喜你终于找这里了这里,我们以springboot框架为例:首先,从配置文件读取汉字乱码的真正原因:application.properties中文乱码是因为spring boot项目默认的加载配置文件application是通过字符集ISO-8859-1载入的;方法一:网上常说的方法如下图设置,还说前提application.properties文件编码为UTF
2022-01-01 20:53:02
22362
5
原创 简单快速的理解rabbitMQ并学会使用
目录一、从思想上理解rabbitMQ的运转过程二、知悉RabbitMQ运转过程中的组成一、从思想上理解rabbitMQ的运转过程很多时候,人都是自带无知属性,时不时暴露一下;就像rabbitMQ,你不能只知道它是干什么用的,就觉得自己懂它了!!!首先,先按照下图理解rabbitMQ的运转过程,以及动作的意义上图流程中动作的意义:一、生产者:指定“交换器”,就相当于进超市前去“储物区域”存放东西,设置路由规则就是“投放规则”,就是筛选给哪些储物柜(队列)里都放东西.
2021-11-20 15:41:34
1294
原创 linux服务进程频繁被killed掉的分析与解决
首先 是查看linux 系统日志.所有的系统操作这里都可以看到vi /var/log/messages或者:tail -f /var/log/messages
2021-11-06 10:19:04
2723
原创 如何给idea配置JProfiler,分析本地运行项目
第一步:首先给自己电脑下载JProfiler软件,记录你的安装目录;如果没购买,可以在安装使用时,选择 试用10天,而不是放lincense第二步:给idea安装JProfiler的插件,如下图:安装好以后重启idea;第三步:给idea配置JProfiler的执行程序,如下图,这里选择你自己本地安装的JProfiler软件安装目录bin里的.exe;点击apply;第四步:点击下图中圈出的按钮,运行你的项目,就会启动你的JProfiler,对项目运行状况进...
2021-11-01 19:39:07
4493
原创 注解@JsonFormat和@DateTimeFormat对时间格式进行转换控制
注解@JsonFormat(对外提供查询结果时使用)使用场景案例:在对外提供接口时,数据库的时间字段begin_time的值,在数据库显示正常,结果一查询反馈给接口调用方的时间字段值的格式毕竟乱,这个时候需要在我们接口内的实体类加上此注解:@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")pattern:是想转换的时间日期的格式timezone:时间设置为东八区,避免时间在转换中有误差注解@DateTime
2021-10-08 11:47:22
1540
原创 用fastjson进行字符串/对象转map/实体类对象/List等系列操作
首先,在使用 com.alibaba.fastjson 时,纠结使用JSON还是JSONObject时,看看下图相信你就悟了,满足需要即可;后端常用的转换操作如下:// 使用com.alibaba.fastjson 将 普通对象/字符串 转为实体类对象 VehicleMinutesDO vehicleMinutesDO = JSON.parseObject(countCircleStr, VehicleMinutesDO.class); VehicleMinu.
2021-10-08 11:04:32
2701
原创 使用ActiveMQ发送消息报错:Object is not a primitive
我所遇见的报错原因:原因就是MQ会解析message的数据结构,传参本身是个json或者map,他会取出对应的值,循环解析取出来的值,但解析t时,json/map某个属性的值取出来的是null,发现null的类型是JSONNull,这个时候就会执行类型匹配解决方案:将传参转为 字符串,比如你传的是个实体对象vehicleDTO 转为字符串:JSON.toJSONString(vehicleDTO) 思路是这样,转为字符串避开被解析,至于传参和怎么...
2021-09-29 15:47:12
516
原创 springboot里@Scheduled定时任务没有按时执行
如图的定时任务,本地跑正常,生产就出问题,不按时执行:原因:@Scheduled 默认是单线程的,一旦某个定时任务比较耗时,就会导致线程阻塞,影响其他定时任务的执行;解决方案:第一种,自己去配置多线程去执行定时任务第二种:使用springboot自带的异步线程注解 定时任务上增加@Async注解,并在启动类上增加@EnableAsync注解...
2021-09-17 09:50:55
2359
原创 win10系统如何开启telnet
1、首选打开“控制面板”,进入“程序”界面2、进入如下界面后,点击 启用或关闭Windows功能3、进入如下界面后,找到 telnet client,勾选,确定,再打开cmd命令窗口,就可以执行telnet命令了...
2021-09-16 09:45:26
2989
原创 避坑版:springboot+JPA如何配多种数据源(postgresql+mysql)
注意: JPA和mybatis是不同的持久层,各自特点独特,与mybatis相比,JPA需要考虑对数据源的映射和操作,通常我们设置在项目启动时,JPA就会根据设置去创建或者更新表,因此不能像mybayis那样等到调用时再去告诉方法用哪个数据源,JPA需要一开始就设定好repository和entity所对应的数据源,在下列文件repository里你可以看到相关设置;坑,请注意,网上有很多的JPA配多种数据源,但是他们都缺失一点,连方言都没有设置,有的压根不知道这回事,要知道,JPA
2021-09-08 10:24:51
3647
1
原创 springboot+mybatis如何配多数据源
从目前工作中常用的框架来讲;一种是 springboot+mybatis;另一种是springboot+JPA;两种持久层,配多数据源自然也有区别;且 多数据源 和 多种数据源 也是有区别的;千万不要稀里糊涂混为一谈!1、springboot+mybatis配置多数据源...
2021-09-08 10:00:56
200
原创 苦恼:postgressql查询结果字段名大写自动变小写
实际原因是:别名加引号时,为大写,指定字符串的写法select road_id as roadId from ihswfld_vehicle_pass d where config_type=1别名未加引号时,为小写select road_id as roadId from ihswfld_vehicle_pass d where config_type=1...
2021-09-01 14:05:57
2758
原创 由于使用JPA会操作表,加索引的操作也需设置在实体类上,
设置唯一索引@Table(name = "表名",uniqueConstraints=@UniqueConstraint(columnNames="字段1,字段2"))设置普通索引@Table(name = "ihswfld_vehicle_pass", indexes = {@Index(columnList = "road_id"), @Index(columnList = "pass_time"), @Index(columnList = "config_type..
2021-09-01 09:51:18
256
原创 简单快速生成序列化ID
如下图照着操作:setting-->insppections-->java-->Serializable class without "serialVersionId"勾选后,点击 apply,点击ok;在实体类中选择 类名,按快捷键 ALT+ENTER就会出现提示生成序列化ID的按钮,点击就可以了;...
2021-08-25 14:45:44
2520
原创 Command line is too long. Shorten command line for IhswfldWebApplication or also for Spring Boot ..
工作中,使用idea启动服务时报错如下图:解决方法:打开启动配置页,选择 JAR mainfest, 点击 Apply, 点击 OK.再次启动项目
2021-08-17 17:00:25
149
原创 IDEA启动弹出Server‘s certificate is not trusted怎么办
这是idea检测警告:服务器的证书不受信任(原因你自然懂)解决方法:在idea界面 ---》Setting--》Server Certificates在界面找到Accept non-trusted certificates automatically,勾选后点“应用”,点“保存”如下图:...
2021-08-12 08:54:25
5134
3
原创 java线程池的逻辑原理
注意:经常使用线程池,那你就必须懂的其运作原理,不说刨析源码,最起码要知道思想逻辑;线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。他的主要特点为:线程复用;控制最大并发数;管理线程。1. 线程复用每一个 Thread 的类都有一个 start 方法。 当调用 start 启动线程时 Java 虚拟机会调用该类的 run方法。 那么该类的 run()
2021-08-09 15:26:17
321
原创 简述Nginx 常用的应用场景第五篇:动静分离
动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。upstream web_servers { server localhost:8081; server localhost:8082; }server { listen 80; server_name localhost; set $d..
2021-08-09 14:40:54
182
原创 简述Nginx 常用的应用场景第四篇:负载均衡
负载均衡是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。而Nginx目前支持自带3种负载均衡策略,还有2种常用的第三方策略。负载均衡通过upstream指令来实现。1. RR(round robin :轮询 默认的负载均衡策略):每个
2021-08-09 14:11:55
516
原创 简述Nginx 常用的应用场景第三篇:作反向代理使用
反向代理应该是Nginx使用最多的功能了,反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。反向代理通过proxy_pass指令来实..
2021-08-09 14:04:18
280
原创 简述Nginx 常用的应用场景第二篇:作为静态服务器
工作中经常会遇到静态服务器,提供着资源上传与获取,以便多个项目之间资源分享1、在/app/nginx/ 下分别创建images和img目录,分别在每个目录下放一张test.jpguser nginx;http { server { listen 8080; server_name localhost; client_max_body_size 50M; set $file_root /app/nginx.
2021-08-09 13:59:40
107
原创 简述Nginx 常用的应用场景第一篇: 作为HTTP服务器
Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如举个例子,在nginx部署vue前端项目。1、 首先在服务器上/app/nginx/目录下创建html目录, 然后在html中放一个test.html;2、 配置nginx.conf中的serveruser nginx;http { server { listen 8080; server_name localhost; .
2021-08-09 13:56:20
330
原创 轻松内网穿透,实现外网访问本地服务
不管你的初衷是因为什么,总之,它可以帮你通过外网访问自己本地的服务链接:https://pan.baidu.com/s/1kwt99nK9zQuLky4oTA27dw提取码:uqvk在地址里下载 ngrok,双击运行在上述界面输入命令:ngrok http 8888(8888对应你自己服务的端口)执行后,界面会输入与你本地服务地址端口对应的 https地址,这个地址就是ngork生成的用于外网访问你自己服务的地址,非常简单,快速试试效果吧...
2021-07-27 15:37:24
629
原创 JVM工具怎样远程连接
jconsole与Jvisualvm远程连接通常我们的web服务都输部署在服务器上的,在window使用jconsole是很方便的,相对于Linux就有一些麻烦了,需要进行一些设置。1.查看hostname,首先使用hostname -i查看,服务器的hostname为127.0.0.1,这个是不对的,需要进行修改2.修改hostname修改/etc/hosts文件,将其第一行的“127.0.0.1 localhost.localdomain localhost”,修改为:“1..
2021-07-19 11:02:57
979
原创 快速初步学会正则表达式
1、首先请仔细看一下正则表达式中各个字符的意义2. 注意,重点来了正则表达式匹配时,一个正则内,每个匹配规则都对应字符串里相应位置和长度的字符串,在书写自己需要的正则表达式是,根据自己需要的字符串限制要求来写不同位置的正则匹配就行;例如:要求字符串数字只能是1-3 : ^[1-3]$要求字符串只能是以 3/6/9结尾的:(3|6|9)$3. 常用正则素材常用数字范围:0-9,常用字母范围:A-Z,a-z常用汉字范围:[\u4e00-\u9fa5],但是它不算全面.
2021-07-19 10:10:30
159
原创 整蛊:聊天中,连续发送消息的vbs脚本
如何实现连续发送消息呢?准备工作:只要我们将下面这段代码复制放在记事本里,然后保存退出将记事本文件后缀名改为.vbs就可以了On Error Resume Next Dim wsh,s,xTimes,tle set wsh=createobject("wscript.shell") xTimes = inputbox("请输入重发消息的次数") 'clipboardData.SetData s for i=1 to Cint(xtimes)wscript.sleep 30
2021-07-17 12:39:52
10391
16
原创 mysq统计查询时 条件字段加索引后,效率反而变慢?group by配合子查询 效率低于 直接 使用DISTINCT
生产现象出现场景:统计查询效率低下超时用户提出,想统计一下知识推荐量,有效推荐量,点击查看量;初始操作:于是用sql给了个简单统计,按月查询,在表上给sql中的条件字段加了索引,如下: SELECT count(1) allCount from (select COUNT(1) from read_log_manage where tenant_id = "TJBBT" and begin_time > "2021-06-01 01:00
2021-07-14 14:46:28
1687
原创 红色避坑警告:mysql数据库 sum() 函数用法避坑
场景描述:工作中拿到一个小需求,要求给智能推荐能力做一个简单的推荐量统计与推荐明细记录;SELECT IFNULL(sum(user_id),0) SUM(tks.TOTAL_CLCK_QUT) allCount,SUM(tks.MON_CLCK_QUT) monthCount,SUM(tks.WEEK_CLCK_QUT) weekCount,SUM(tks.DAILY_CLCK_QUT) dayCount FROM t_kc_doc_edit_pus pus JO.
2021-05-28 10:34:08
1197
原创 ExecutorService等所有线程执行完毕,并设置超时时间
1、工作中遇到的业务处理需要:例:生产问题:生产上一个常用的会话接口,此接口内集成了5个外部接口能力(python的,Java的,其中每个接口基本耗时2~3秒),原有会话接口里是依次去调用的, 这就导致用户体验很差,因为2乘5也就是10秒,也就是说会话接口耗时10秒起步;解决方案:将原来的依次调用,改为多线程异步调用,等所有线程的调用都处理结束后,再去统一处理封装数据,因为多线程异步的原因,一个接口调用耗时2~3秒, 则...
2021-04-13 22:01:38
2089
原创 java项目代码中数据源密码加密
1.添加依赖 <!--加密依赖--> <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>1.14</version> ...
2021-03-12 10:31:55
598
原创 通过pip安装组件库一直超时失败WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, stat
许多时候,别人的情况不一定是我们的情况,网上有说代理,源配置错误,conada安装有误,各自说法都有,但是实际通用场景的现象,根据下面方案解决就可!搜集了一些国内的pip源,如下:阿里云 http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/豆瓣(douban) http://pypi.douban.com/simple/清华大学 https://pypi.tuna.t
2021-03-03 20:33:07
663
1
原创 centOS7安装Anaconda3实践操作
第一步,安装bzip2,如果已经安装yum install -y bzip2第二步,下载Anaconda3,如果你给虚拟机配了代理,可能就会下载不了,这个时候主机直连外网重新执行命令即可wget https://repo.continuum.io/archive/Anaconda3-5.3.1-Linux-x86_64.sh第三步,安装bash Anaconda3-5.3.1-Linux-x86_64.sh一路yes,但是遇到vscode时,可以选择no,不安装。第四
2021-03-02 11:37:37
325
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅