自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 dynamic-datasource + parallelStream数据源切换失效

分析问题:因为dynamic-datasource是通过AOP的方式,在调用方法前切换数据源的,而java8的ParallelStream需要新开线程,这些新的线程是独立于原来的线程的,原来线程中的数据源切换并不能传递到新的线程中,这就可能导致在新的线程中对数据库的操作还是使用的原来线程的数据源,不能正确地进行数据源切换。以上是问题的一次简单记录,并为深挖如有不对的地方请评论指导。

2023-09-27 10:22:19 546

原创 JDK内置线程池拒绝策略

jdk1.5以后新增了java.util.concurrent包下的api,简化了多线程代码的开发,底层的实现都是ThreadPoolExecutor,在ThreadPoolExecutor的源码中我们可以看到四种种实现策略:CallerRunsPolicy:只要线程池没有关闭,就在调用者的线程中执行任务。一般在不允许失败、对性能要求不高、并发小的场景使用。 public static class CallerRunsPolicy implements RejectedExecutionHandle

2021-07-07 12:07:23 148

原创 nginx location

一、location :用于配置映射路径uri对应的配置,一个server中可以有多个location,location后面跟一个uri,可以是一个正则表达式,/ 表示匹配任意路径,当客户端访问的路径满足这个uri时就会执行location块里面的代码。二、location uri正则表达式::匹配除换行符以外的任意字符 ?:重复0次或1次 +:重复1次或更多次 *:重复0次或更多次 \d:匹配数字 ^:匹配字符串的开始 $:匹配字符串的结束 {n}:重复n次 {n...

2021-07-06 11:50:48 404

原创 idea git commit message 提交消息总是显示以前的记录

Setting -> Version Control -> Commit Dialog -> Clear initial commit message取消勾选即可。

2021-04-08 10:33:00 1991

原创 XStream常用注解

业务中遇到的xml转bean的场景,记录一次xStream解析xml中注解的使用,如下是xml节点与bean字段的对应写法:xml:<?xml version="1.0" encoding="UTF-8"?><student name="xiaobai"> <report> <subject>language</subject> <score>100</score> </report

2021-03-24 14:31:08 2067

原创 Mac harbor-v2.1.3安装

安装前准备:安装docker 安装docker-compose 下载harbor(地址:https://github.com/goharbor/harbor/releases),我选择的是harbor-offline-installer-v2.1.3.tgz我选择把harbor安装到/usr/local目录下移动文件并解压 1.mv harbor-offline-installer-v2.1.3.tgz /usr/local2.tar -vxf harbor-offline-instal

2021-01-20 14:34:59 2114 1

原创 mysql命令行执行sql文件

方法一:mysql命令,直接在服务器上执行mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】例如:mysql -uroot -proot -Dtest < /tmp/test.sql方法二:source命令,登录mysql client执行source 【sql脚本文件路径全名】例如:source /tmp/test.sql...

2021-01-15 10:22:06 6168

原创 springboot文件上传500,重启服务正常

最近生产环境发现一个问题,后台管理系统有一个上传文件保存数据库的功能,每隔一段时间就会出现上传失败,重启服务就可以正常上传。分析问题:由于服务在启动时会在服务器的/tmp目录下生成tomcat.827296577384433988.8005(work/Tomcat/localhost/ROOT)和tomcat-docbase.546140289861349437.8005这样两个文件夹,对于Multipart(form-data)的方式处理请求时,默认就是在tomcat-docbase目录下创建临时文件

2021-01-14 14:46:30 672

原创 mysql 监控

近期人员变动以及业务调整,使我能够接触到mysql服务器,并且版本升级到mysql8,这样对于线上的使用情况需要做一些监控,整理了一些常用的监控命令,哪里说得不对,还望大佬们多多指正。一、命令总览SHOW STATUS:查看系统运行的实时状态,便于dba查看mysql当前运行的状态,做出相应优化,动态的,不可认为修改,只能系统自动update。(例:SHOW STATUS LIKE '关键字';) SHOW VARIABLES:查看系统参数,系统默认设置或者dba调整优化后的参数,静态的。可以通过

2020-12-24 14:08:24 88

原创 mysql8.0大小写敏感问题巨坑,一定要提前看了!!!

线上业务升级到mysql8.0后遇到一个大坑,就是表名大小写问题,我们知道在mysql5的时候,只要在配置lower_case_table_names=1就可以解决大小写敏感问题,但是mysql8.0初始化后,一旦启动服务在设置无效。如果已经晚了,那必须把MySQL数据库 data目录下所有文件删除,修改配置文件再启动。数据库会重新加载...

2020-11-27 17:13:19 1469

原创 Topic(s) [my-topic1] is/are not present and missingTopicsFatal is true

SpringBoot整合kafka时报错:Topic(s) [my-topic1] is/are not present and missingTopicsFatal is true分析原因是:消费者监听接口,监听的主题不存在解决办法:yml文件中增加如下配置spring.kafka.listener.missing-topics-fatal=false...

2020-11-10 16:14:44 1512

原创 idea python thrift import包飘红 Unresolved reference 报错

记录一次idea python thrift import包飘红 Unresolved reference 报错的问题。使用idea创建一个XXX.thrift文件,使用thrift --gen py ./ XXX.thrift命令生成文件后import的包飘红报错,如下图:解决办法:按照下面截图操作...

2020-10-26 15:07:19 1304

原创 MYSQL5.0之后 varchar类型

varchar类型是mysql中常用的字符型,在实际项目中也总能看到varchar(5)、varchar(20)、varchar(200)、varchar(255)等等这样的写法,但是究竟varchar占用多大空间、可以容纳多大的字符串呢?varchar为可变长度字符串,实际占用的空间大小以及最大可容纳的字符串为多少与具体的编码方式有关,先看下面两个例子:utf8的编码格式drop table if exists test_varchar;create table test_varchar

2020-06-30 16:03:50 402

原创 编码、哈希、加密

对于编码、哈希、加密,有些人工作了很多年也分不清楚这些算法的区别,也可能大家都叫习惯了,下面根据自己的理解简单的做一下区分:是否可逆上进行区分:编码、对称加密及非对称加密算法都是可逆的,而哈希算法不可逆。 是否使用密码区分:编码及哈希算法不使用密码,对称加密使用一个密码,而非对称加密使用两个密码。编码算法编码算法是一套二进制与字符的转换规则,能让人类更好的识别二进制数据,能让计算机理解人类抽象的文字,编码算法是可逆的。 常见的编码有ASCII、Unicode、UTF8、URL编码、HTML编码

2020-06-24 09:35:55 329

原创 从没见过这么详细的top命令详解

https://www.cnblogs.com/wangchen07026/p/7650688.html

2020-05-22 15:18:11 117

转载 限流方案

程序开发时,系统在短时间内访问量暴增,会导致程序崩溃,这个时候我们需要使用限流,下面对get到的限流方案整理如下:合法性验证限流:比如验证码、IP 黑名单等,这些手段可以有效的防止恶意攻击和爬虫采集; 容器限流:比如 Tomcat、Nginx 等限流手段,其中 Tomcat 可以设置最大线程数(maxThreads),当并发超过最大线程数会排队等待执行;而 Nginx 提供了两种限流手段:一是控制速率,二是控制并发连接数; 服务端限流:比如我们在服务器端通过限流算法实现限流;合法性验证限流:为最常

2020-05-22 12:08:17 570

原创 nginx Kibana

记录一个elk遇到的问题:项目中是使用nginx配置域名来访问kibana的,虽然配置了映射,并且在nginx的主机上使用curl是能访问到服务,但是域名访问始终报404异常,后来通过添加两项配置即可访问:server.basePath: "/kibana"server.rewriteBasePath: true...

2020-05-15 10:49:06 272

原创 Mac的VMware虚拟机固定ip配置

1、先找到虚拟的mac地址2.修改配置:sudo vi /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf 增加如下代码:host centos7.4 { #centos7.4是虚拟机的名称 hardware ethernet 00:0C:29:72:A1:58; #查到的mac地址 fixed-address 192.168.2.130; #设置的固定ip

2020-05-12 12:01:18 1041

原创 记录一次safari浏览器Invalid Date问题

问题描述:前端使用的是vue的moment组件格式化时间,之前使用的是:{ "data": 'triggerTime', "width": '16%', "render": function (data, type, row) { return data ? moment(new Date(data)).format("YYYY-MM-DD HH:mm...

2020-04-23 12:22:08 867

原创 记录一次Tomcat中Context的配置问题

问题描述:业务是在tomcat部署一个服务,任务执行失败时发邮件,两台相同环境的服务器部署相同的代码,其中一台服务器启动tomcat时就一直发邮件。查找问题:由于前期没有权限操作服务器,走了很多弯路,具体查找过程就不赘述了。解决问题:tomcat的xml配置如下:<Host name="172.18.8.110" appBase="/www/data/tomcat" unpac...

2020-04-23 11:51:24 137

原创 获取用键盘输入常用的两种方法

方法一,通过ScannerScanner input = new Scanner(System.in);String s = input.nextLine();input.close();方法二,通过BufferedReaderBufferedReader input = new BufferedReader(new InputStreamReader(System.in));...

2020-03-31 10:37:39 152

原创 ==与equals

==:它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象(基本数据类型==比较的是值,引用数据类型==比较的是内存地址)。equals():它的作用也是判断两个对象是否相等。但是它一般有两种使用情况:情况一,类没有重写equals()方法,通过equals()比较该类的两个对象时,等价于通过“==”比较这两个对象; 情况二,类重写equals()方法,一般我们都重写...

2020-03-30 16:25:32 76

原创 Spring Boot配置文件加载顺序

SpringBoot加载配置文件,由高到低顺序如下:在命令行中传入的参数。 SPRING_APPLICATION_JSON中的属性,SPRING_APPLICATION_JSON是以JSON格式配置在系统环境变量中的内容。 java:comp/env中的JNDI属性。 Java的系统属性,可以通过System.getProperties()获得的内容。 操作系统的环境变量。 通过ra...

2020-03-26 13:50:45 157

原创 properties文件的属性值为中文,读取时乱码问题

我们在开发中使用properties文件时,常会遇到这样的问题,比如说:test.property.value=中文值我们想把属性值设置成中文,这样无论使用@value还是直接读取出来会出现乱码,总结了两种解决方案如下:把属性值直接转成unicode编码,写在文件中,如: test.property.value.unicode=\u4e2d\u6587\u503c ...

2020-03-19 10:54:00 1534

原创 Dockerfile的主要指令

Dockerfile主要有如下指令:FROM指令:指明了当前镜像继承的基镜像。编译当前镜像时会自动下载基镜像。示例: FROM ubuntu MAINTAINER指令:指明了当前镜像的作者。示例: MAINTAINER xiaobai RUN指令:可以在当前镜像上执行linux命令并形成一个新的层。RUN是编译(build)时的动作。示例有两种格式,CMD和...

2020-03-10 11:39:02 389

原创 Docker常用命令及参数

Docker镜像命令:Docker镜像检索: docker search 镜像名 检索redis输入: docker search redis Docker镜像下载: docker pull 镜像名 下载redis输入: docker pull redis Docker镜像列表: docker images 其中REPOSITORY是镜...

2020-02-18 16:33:20 418

原创 SpringBoot 注解

总结一些springboot常用的注解:@SpringBootApplication:是SpringBoot的核心注解,是一个组合注解,不使用@SpringBootApplication,也可以直接在入口类上使用@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan代替。 @ImportResource:加载xml的配...

2020-02-18 15:49:32 56

原创 在Gihub上精准搜索开源项目

假设我们现在要搜索java,相信大部分小伙伴都是直接在搜索框里输入:“java”,然后一回车,你就会发现情况像下面这样:搜索结果会显示非常多的开源项目,根本找不到如何找到自己感兴趣的开源项目,所以这样搜索非常的不准确。所以我们需要一个稍微精确一点的搜索方法。在搜索之前,我们先来了解一下一个开源项目有哪些组成部分:name: 项目名 description: 项目的简要描述 项目的源...

2020-02-17 10:12:55 170

原创 Spring MVC

SpringMVC提供了一个DispatcherServlet来开发WEB应用。在servlet2.5及以下的时候只要在web.xml中配置<servlet>元素即可。但使用servlet3.0+无web.xml配置的方式,在springMVC里实现WebApplicationInInitializer接口便可等同于web.xml配置。SpringMVC的常用注解:@Contr...

2020-02-13 11:49:08 60

原创 spring的注解

近期想深入学习spring,整理一些spring常用的注解:声明Bean的注解:@Component组件,没有明确的角色。 @Controller在展现层(MVC->SpringMVC)使用。 @Service在业务逻辑层(service层)使用。 @Repository在数据访问层(dao层)使用。 @Scope描述Spring容器是如何新建Bean的实例的,默认是省略了@...

2020-02-10 15:02:07 79

原创 mybatis中LIKE模糊查询

mybatis中对于使用like来进行模糊查询的几种方式:使用${...}:由于$是参数直接注入的,导致这种写法,大括号里面不能注明jdbcType,不然会报错org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There...

2020-02-04 10:19:04 378

原创 bootstrap.min.css.map

springboot后台自定义handler拦截所有请求,redirect重定向后总有一个/error的请求,最后定位到问题是请求/bootstrap/css/bootstrap.min.css.map静态资源时404了,查找整个项目发现在bootstrap.min.css文件的结尾有/*# sourceMappingURL=bootstrap.min.css.map */这样一段代码,但是项目中...

2020-01-22 17:12:50 3862

原创 springboot 项目 使用 nginx 代理 https 重定向 http 无法访问

问题:描述:一个springboot的http项目,公司使用nginx配置了ssl证书通过https访问,但是后台代码使用了redirect重定向,结果response返回都是http无法访问。先贴一下nginx的配置server { listen 8080 ssl; server_name 127.0.0.1; ...

2020-01-22 14:11:18 3151 1

原创 redis更新缓存

当我们做项目时,总会遇到一些数据经常被查询,但是不会经常修改,对于这样的数据大家都会想到使用缓存处理。今天对使用redis更新缓存整理几个方案,有不足的地方还望多多指正。第一种:方案:后台设置更新缓存按钮由操作人员操作或者使用定时任务,从DB查找最新数据集合,删除原缓存数据,存储新数据到缓存; 问题:更新过程中删除掉缓存后刚好有业务在查询,那么这个时候返回的数据会是空,会影响用户体验;...

2020-01-19 16:04:53 3813

原创 怎么把自己的代码贡献到github开源项目

作为一名码农能贡献代码到github上是多么荣耀的事情,但是自己写的代码怎么上传到别人的开源项目呢?学习别人的博客成功贡献了代码,地址如下:https://blog.csdn.net/mapengbo521521/article/details/80244087重点是添加上游地址,添加后本地./git目录下的config文件中会多[remote "upstream"]这样一项。欢迎评论学习,...

2019-12-31 16:57:13 206

原创 idea中maven右侧的Dependencies里jar包红色下划线

记录idea中maven右侧的Dependencies里部分jar包下有红色波浪线(如下图)。产生的原因是:idea由2018版本更新到2019后,setting里的JRE变成了11版本(如下图),修改为8版本解决。如有更多问题的解决办法,欢迎留言讨论。...

2019-12-20 11:09:35 1415 2

原创 The temporary upload location *** is not valid

spring boot项目在生产环境运行一段时间后,一次文件上传报如下异常:Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.7333297176951596407.9008/work/Tom...

2019-09-10 11:09:30 9657 4

原创 SecureCRT 执行cat命令出现乱码

一次在测试环境查看到不明文件,使用cat查看后整个窗口乱码,如下图情况:查看crt设置的字符编码已经是UTF-8,网络搜索一番,执行reset命令解决问题,但是问题原因不明,还请同学多多指教。...

2019-09-10 10:28:01 989

原创 centos7.4环境搭建Elasticsearch FileBeat Kibana日志管理系统

随着分布式、微服务的广泛应用,每次出问题了需要查询日志时很不方便,为了达到快速查看、快速分析解决问题的目的,尝试搭建EFK日志管理系统,总结的不足还望指正。一、安装Java JDKElasticsearch需要运行在Java 8 及以上,所以需要先安装Java8,具体安装过程不在赘述。二、安装Elasticsearch本文以Elasticsearch6.2.4为例,注意Elasti...

2019-05-28 11:42:14 850

原创 Mac 下 sublime text3 注册码

sublime text3可以说是相当强大的,但是在使用时总提示更新,我的版本是:话不多说2019年4月10日亲测有效的激活码:----- BEGIN LICENSE -----sgbteamSingle User LicenseEA7E-11532598891CBB9 F1513E4F 1A3405C1 A865D53F115F202E 7B91AB2D 0D2A...

2019-04-10 15:13:56 5238 3

空空如也

空空如也

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

TA关注的人

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