自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小鹏子的博客

日常bug解决方案分享

  • 博客(59)
  • 资源 (6)
  • 收藏
  • 关注

原创 开发常用的 Linux 命令知识积累

查看iptables状态service iptables status# 要封停一个ipiptables -I INPUT -s ***.***.***.*** -j DROP# 要解封一个IP,使用下面这条命令:iptables -D INPUT -s ***.***.***.*** -j DROP备注: 参数-I是表示Insert(添加),-D表示Delete(删除)。后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。

2023-10-24 14:00:51 501

原创 idea 提高开发效率、快速编程技巧

idea 快速上手配置准备工作,提高开发效率的方法、软件、插件

2022-10-24 23:43:35 1966 6

原创 处理发票上的中文大写金额的转换工具类

处理发票中数字金额转成中文大写金额字符串问题。效果图: package com.szmsd.hulutianxia.util;public class ChineseNumberUtil { public static final String ZERO = "零"; public static final String ONE = "一"; public static final String TWO = "二"; public static final String

2022-07-11 18:18:25 630 2

原创 构建项目提示 Initialization failed for ‘https://start.spring.io‘ Please check URL

解决办法先检查是不是自己网络问题 (使用ping查看) 如果是网络问题,那你可以使用国内的构建网站构建,比如切换阿里构建(https://start.aliyun.com) 使用阿里构建的和spring构建的项目结构是一样的,只是可勾选的依赖不同这些依赖都是可以手动进行添加的,不会有任何的影响的。我们再国内去访问到spring构建网站可能会因为网络原因导致我们不能正常连接,或者是丢包的情况,所以我们可以切换成我们国内的构建网站来处理构建问题,然后再到我们对应添加我们项目需要的依赖。......

2022-06-07 15:49:23 3973 1

原创 第三方API返回类型为JSONString转化标准的JSON格式

使用场景:调用第三方api接口,别人返回的是JSONString,所以我们自己拿到还要重新转义成JSON,但是jsonString可能中属性会有嵌套json数组或者json对象。所以写了一个工具类来转化。效果图:原JsonString1.2.转义后1.2.引用fastjson包来做转义 <dependency> <groupId>com.alibaba</gro...

2022-05-25 15:47:39 1484 2

原创 ConcurrentHashMap实现缓存池

Map实现缓存池介绍缓存池是基于map实现的一种本机缓存的解决方案,优点就是不会重复创建对象(复用性),避免浪费资源和Gc回收造成的开销和查询Map复用对象比较快,缺点也显而易见因为他是通过Map来存储该复用对象,所以受限于map的值不易被Gc回收,一直保存到内存中,如果使用map来存储大量复用的数据,一直不能清除的话会导致内存泄漏。-ps 使用基于Map缓存池要考虑业务场景,如果是复用对象是有边界则可以使用(如:文件存储对象,消息队列名等),如果是无边界的不推荐使用(如:用户对象,商品对象等)

2022-04-10 18:16:41 3047 1

原创 PLA、ABS、PETG这个三种3D打印材料各有什么优缺点?

PLA材料:是聚乳酸,这种材料是生物分解性塑料,食品级要求,进口原料,符合食品级要求。使用过程中没有气味,即使是关着窗在房间里面打印,基本都没有什么气味,健康完全环保。打印出来模型不翘边,无气泡。产品表面光滑,颜色饱满。这种材料几乎不会收缩,粘性比较好,能打印比较大尺寸的模型,不必担心会在平台上的成品悬空、歪斜或破埙。ABS材料:是丙烯腈-丁二烯-苯乙烯共聚物,为浅黄色或乳白色的粒料非结晶性树脂,是使用最广泛的通用塑料之一。ABS材料是进口原料,不掺杂废料。耐高温,强度高,韧性好,打印模型表面光

2022-03-05 11:30:14 48760 1

原创 解决github访问不了或者慢

github访问不了或者慢的问题原因:当我们访问GitHub 的网址时,会向 服务器发送一个请求,获取到 GitHub 网站所在的服务器 IP 地址,但是这个国际的开源代码平台解析出来的IP有的是不能访问导致我们访问不了或者访问效率比较低。解决办法:使用开源的软件:dev-sidecar,我们通过DL来加速,通过本地代理的方式将https请求代理到一些加速通道上从而选择最佳域名ip地址,获取最佳网络速度。(支持windows、Mac、Linux)dev-sidecar特性网络优选(选中最

2022-02-25 14:43:20 8141 4

原创 jd-GUI.exe 打开编译后的jar 类中出现多行注释Byte code:开头

这是正常的!!!把jar放到jd-gui反编译后显示的多行注释Byte code:后面都是序号这是正常的,这是JDK版本不一致反编译显示不同导致的可以测试我们把这个jar放到idea 中设置低jdk版本反编译后是显示正常的。打开同一个包的这个类中显示异常这个方法,点开显示是正常的所有说这个不会影响代码的,只是反编译工具的jdk版本太高了!!!...

2022-01-07 14:13:07 1686 3

原创 win10任务栏下的更新提示红色感叹号去除

1.按Win+R打开运行,输入”services.msc“打开服务。2.找到"Windows Update”,选择【属性】。3.将Windows Update的启动类型修改为【禁用】,按【确定】保存设置就可以禁用自动更新服务了。修改后,状态为停止,点击应用,然后确定4.在状态栏右键-打开任务管理器,找到资源管理器这个程序,在点击窗口右下角的重启程序就OK了。5.点击重新启用,电脑屏幕会闪一下,然后那个红色的感叹号就不见了...

2021-12-24 17:25:40 12544 2

原创 Mac brew最常用的命令

# 安装最新版本brew install mysql # 安装制定版本brew install mysql@5.7 # 启动 mysql, 并设置为开机启动brew services start mysql# 关闭 mysqlbrew services stop mysql# 重启 mysqlbrew services restart mysql # 查看服务器所有组件启动情况brew services list # 查看已安装的包brew list已经涵盖了bre.

2021-12-18 20:17:13 2074

原创 spring-boot-starter-web包中校验 @Valid 对List集合提示处理

我们随便建一个提交表单类来模拟提交操作@Datapublic class UserForm { @NotNull(message = "不能为空!") private String name; @NotNull(message = "年龄为空!") @Max(value = 150,message = "大于150岁") private Integer age;}1.我们先看直接使用@Valid对单个表单对象进行提示处理。测试结果:名称.

2021-12-17 11:44:41 1401 1

原创 IntelliJ IDEA 无法输入中文解决办法

第一种方法1.点击菜单 “Help 中 Edit Custom VM options…”。2. 打开后,到最后一行加上:-Drecreate.x11.input.method=true 重启IDEA并测试是否能使用中文输入法。第二种方法重新安装搜狗输入法,并重启IDEA 再试试是否可以使用中文输入法。二种都亲测有效的,大家可以试试...

2021-12-17 10:21:56 15593 9

原创 线上不停机,使用反射动态扩展Java类

线上类可以把newInstance的工厂方法扩展处理,封装到框架中来减少代码的冗余public class NotReceivingBillUtil { private volatile static NotReceivingBillUtil helper = null; public static NotReceivingBillUtil newInstance() { if (helper == null) { synchronized

2021-12-15 16:23:02 390

原创 .gitignore (Git 过虑文件)

################## Eclipse ######################target.metadata.settings.classpath.project*.classtmp/*.tmp*.bak*~.niblocal.properties.loadpath.recommenders####### Java annotation processor (APT) ########.factorypath################ Pac.

2021-12-10 17:43:27 417

原创 Java前后端分离动态国际化(动态配置扩展性高)

#### 介绍主要是针对前后端分离场景国际化系统设计;亮点:1.动态国际化配置2.可维护性3.国际化数据池化(性能高)4.后端数据内容动态国际化5.提供前台动态国际化数据6.后台异常国际化处理7.可动态添加国际化的语种8.国际化配置集中到数据库中进行管理,包含前端部分国际化#### 软件架构使用Spring Boot+Mybaits+Mysql+Redis来构建这个国际化Demo项目#### 设计思路1. 利用自定义注解来启用国际化,拦截所有返回请求进行处理2. 大..

2021-11-21 21:22:44 4535 6

原创 IDEA 忽略编译报错,改成eclipse编译模式运行

1.进入 File——Settings——Compiler——Java compiler修改配置中:Use complier:将Javac改为Eclipse在Eclipse Options中选中“Processed on errors”Project bytecode version 改成 6进入项目配置 :Project Structure ->Project ->Project name 界面设置:Project language level: 设置 6 版本...

2021-11-03 22:53:16 3193

原创 Jenkins以root用户运行的方法

记录下修改Jenkins以root用户运行的方法。1.修改Jenkins配置文件# 打开配置文件vim /etc/sysconfig/jenkins# 修改$JENKINS_USER,并去掉当前行注释$JENKINS_USER="root"2.修改Jenkins相关文件夹用户权限chown -R root:root /var/lib/jenkinschown -R root:root /var/cache/jenkinschown -R root:root /var/log/jenkin

2021-07-01 10:16:08 4560 10

原创 Date.getyear()、Date.getMonth()、Date.getDay() 已经作废,其他解决办法

//今天时间Date now = new Date();SimpleDateFormat sdf = new SimpleDateFormat(DateFormat);Calendar calendar = Calendar.getInstance();calendar.setTime(now);//当前开始时间GregorianCalendar thebaygc = new GregorianCalendar();thebaygc.set(calendar.get(Calendar.YE

2021-07-01 09:40:51 2958

转载 Mysql 统计排名时使用函数rank() over,dense_rank() over,row_number() over

rank() over:查出指定条件后的进行排名。特点是,加入是对学生排名,使用这个函数,成绩相同的两名是并列,下一位同学空出所占的名次。dense_rank() over:与ran() over的區别是,两名学生的成绩并列以后,下一位同学并不空出所占的名次。row_number() over这个函数不需要考虑是否并列,哪怕根据条件查询出来的数值相同也会进行连续排名使用rank() over的时候,空值是最大的,如果排序字段为null,可能造成null字段排在最前面,影响排序结果。可以这样:rank.

2021-05-26 09:42:49 564

原创 算法中-大O表示法

大O表示法,是估算你的算法中执行的公式中,最大的阶数

2021-05-25 16:42:41 301 1

原创 IDEA 指定Junit test文件生成位置到main下

选择我们要创建的测试类的类,使用AlT+Insert(右击 -> go to -> test) 创建测试类。我们刚刚需要创建的类下方(main 下),预期应该是在test下,自动生成的位置地址不正确。解决是因为Junit 没有找到你的test目录他没法生成到指定位置。所以我们可以手动生成test/java 即可行。1.到src目录下创建test/java可能你的idea 版本太老没有显示测试标识点击小文件图标-》点击Modulaes 选择我们的模块-》点开src-》再test

2021-05-10 11:22:08 2516 3

原创 Git 高级特性命令操作

1.什么是分支?在开发软件时,可能有多人同时为同一个软件开发功能或修复BUG,可能存在多个Release版本,并且需要对各个版本进行维护。所幸,Git的分支功能可以支持同时进行多个功能的开发和版本管理。分支是为了将修改记录的整体流程分叉保存。分叉后的分支不受其他分支的影响,所以在同一个数据库里可以同时进行多个修改。并且分叉的分支都可以合并。2.merge与rebase区别开辟topic分支,最后要合并回merge分支。合并分支有2种方法:使用merge或rebase。使用这2种方法,合并后分支的历史

2021-04-09 17:28:53 134

原创 Git 常见入门命令操作

1.新建数据库在你要创建文件数据库目录下执行git init2.提交数据2.1使用status命令确认工作树和索引的状态。$ git status# On branch master## Initial commit## Untracked files:# (use "git add <file>..." to include in what will be committed)## sample.txt表示 sample.txt文件没有建立索引。$

2021-04-08 21:04:57 182

原创 wait/notify应用举例实现生产者和消费者通讯模型

下面,在不考虑实用性等前提下,我们会实现一个最简单的生产者、消费者模型,仅仅只用来理解wait/notify的机制。在这个例子里,将启动一个生产者线程、一个消费者线程。生产者检测到有产品可供消费时,通知消费者(notify)进行消费,同时自己进入等待状态(wait),如果检测到没有产品可供消费,则进行生产。消费者检测到有产品可供消费时,则进行消费,消费结束没通知生产者进行生产,如果检测到没有产品可供消费,自然也通知生产者进行生产。也就是说,生产者线程和消费者线程会互相等待和互相通知。他们会争夺同一个对

2021-02-03 11:40:56 138

原创 微服务的拆分规范和原则

微服务拆分没有一个绝对正确的方案,服务拆分的粒度完全要根据业务场景来规划,而随着业务的发展,原先的架构方案也需要做调整。既然没有标准答案,那我们就使出“乱拳打死老师傅”的招数,想怎么拆怎么拆好了?且慢且慢,这不就成了暴力拆迁了吗,现在“扫黑除恶”正当头,我们可不能这么干。要讲解方法和原则的。拆分方案分为压力、业务压力模型拆分业务模型拆分1 压力模型拆分压力模型简单来说就是用户访问量,我们要识别出某些超高并发量的业务,尽可能把这部分业务独立拆分出来。这么做的原因非常简单,高并发业务相当于前线战场

2021-01-26 12:32:30 1120 1

原创 Session 和 Token 认证对比

Session 认证图解很多时候我们都是通过 SessionID 来实现特定的用户,SessionID 一般会选择存放在 Redis 中。举个例子:用户成功登陆系统,然后返回给客户端具有 SessionID 的 Cookie,当用户向后端发起请求的时候会把 SessionID 带上,这样后端就知道你的身份状态了。关于这种认证方式更详细的过程如下:用户向服务器发送用户名和密码用于登陆系统。服务器验证通过后,服务器为用户创建一个 Session,并将 Session信息存储 起来。服务器向用户返回

2021-01-26 10:42:03 380

原创 构造者模式 Builder链路化封装 链式调用,代码简洁

构造者模式 这里使用消息类来演示MqMsgDto类import com.tuan.pojo.ExchangeTypes;import lombok.Builder;import lombok.Data;import java.util.HashMap;import java.util.Map;/** * * @author tuan * @date 2021/01/21 11:21 **/@Datapublic class MqMsgDto { private S

2021-01-21 16:08:42 191 5

原创 ThreadPoolExecutor自定义线程池 IO密集型的场景,CPU计算密集型的场景

自定义线程池配置组件类封装pom.xml 配置 <dependency> <groupId>com.alibaba</groupId> <artifactId>transmittable-thread-local</artifactId> <version>2.11.5</version> </dependency>

2021-01-20 19:08:00 1675

原创 RabbitMQ集群(非常详细总结)

RabbitMQ安装:## 1. 首先在Linux上进行一些软件的准备工作,yum下来一些基础的软件包yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz## 2. 下载RabbitMQ所需软件包(本神在这里使用的是 RabbitMQ3.6.5 稳定版本)wget www.rabbitmq.co

2021-01-19 20:19:49 4597 5

原创 CentOS 7 急速入门 RabbitMQ 推送消息 “Hello World”

注意要点准备一台2G以上内存的Linux机器检查Linux机器和本机的网络、防火墙等基础设施是否可以访问Linux机器是否能够和本机Ping通进入安装:## 1. 首先在Linux上进行一些软件的准备工作,yum下来一些基础的软件包yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz#

2021-01-19 16:15:48 274

原创 springBoot 整合阿里云OSS对象存储封装实现类

OSS对象存储阿里云提供针对各种存储资源(块、文件和对象)的低成本、高可靠、高可用的存储服务,涵盖数据备份、归档、容灾等场景。本文介绍阿里云各类存储服务及特性的适用场景、性能、安全、接口和费用模型等,帮助您选择最适合您业务场景和需求的云存储服务。OSS适用于以下场景静态网站内容和音视频的存储与分发每个存储在OSS上的文件(Object)都有唯一的HTTP URL地址,用于内容分发。同时,OSS还可以作为内容分发网络(CDN)的源站。由于无需分区,OSS尤其适用于托管那些数据密集型、用户生产内容的

2021-01-16 21:47:12 1166 2

原创 Logstash数据同步和自定义模板配置IK中文分词

Logstash介绍和注意点Logstash是elastic技术栈中的一个技术。它是一个数据采集引擎,可以从数据库采集数据到es中。它可以通过 同步增加和修改数据,但是数据库的删除它无法实现,但是我们可以设置删除为逻辑删除同时修改es来带到同步的目的,我们可以通过设置自增id主键或者时间来控制数据的自动同步,这个id或者时间就是用于给logstash进行识别的id:假设现在有1000条数据,Logstatsh识别后会进行一次同步,同步完会记录这个id为1000,以后数据库新增数据,那么id会一直累加,

2021-01-15 12:08:12 1267

原创 Liunx日常总结命令

#查看配置信息中非注释的内容(好用)more elasticsearch.yml |grep ^[^#]

2021-01-15 11:36:24 56

转载 ElasticSearch的DSL语句使用教程

ElasticSearch DSL 语句使用转发 虚无境的博客大佬文章 :https://www.cnblogs.com/xuwujing/p/11567053.html

2021-01-13 17:57:18 543

原创 Elasticsearch-Analysis-IK中文分词器安装配置和使用(非常详细)

Elasticsearch 默认已经含有的分词法Standard 分词器英文的处理能力同于StopAnalyzer.支持中文采用的方法为单字切分。他会将词汇单元转换成小写形式,并去除停用词和标点符号simple 分词器功能强于WhitespaceAnalyzer, 首先会通过非字母字符来分割文本信息,然后将词汇单元统一为小写形式。该分析器会去掉数字类型的字符。Whitespace 分词器仅仅是去除空格,对字符没有lowcase化,不支持中文;并且不对生成的词汇单元进行其他的规范化处理。Sto

2021-01-13 12:38:15 2755

原创 Linux CentOS7安装Elasticsearch

本文介绍Linux环境如何安装Elasticsearch主要分为三个部分第一步 安装JDK提供对Elasticsearch支持(Java8以上)第二步 解压安装Elasticsearch和修改配置第三步 解决启动Elasticsearch时遇到各种的问题第一步 安装JDK网上教程非常的多,搜索安装即可第二步 解压安装Elasticsearch和修改配置下载安装包访问elasticSearch官网地址 https://www.elastic.co/上传安装包到指定目录解压安装包 ta

2021-01-12 17:40:50 189

原创 Swagger2 集成 Swagger-Bootstrap-Ui 生成美化文档

Swagger-Bootstrap-Ui 使Swagger2默认模板更佳简洁好看只有三步就可以完成配置第一步 :引入jar包第二步 :启动配置Swagger属性第三步 :使用注解编写文档第一步 Maven 引入jar包<!-- swagger2 配置 --> <dependency> <groupId>io.springfox</groupId> <artifactId&gt

2021-01-11 15:15:25 912

原创 Java 对象属性映射转换器 mapStruct ,PO转VO或VO转DTO等

在项目中,时常有DTO、VO、BO等转换问题时候,我们会使用Apache或者Spring的BeanUtils来做copy。他们使用的原理都是反射,而且是浅拷贝性能不高。场景耗时(调用100万次)原理get/set20ms直接调用MapStruct20ms接口映射注入(简洁方便)BeanCopiers20ms基于 cglib,修改字节码BeanUtils12000ms反射PropertyUtils4000ms反射MapStruct 性能

2021-01-10 13:21:11 2176 4

原创 Redis整合SpringBoot的RedisTemplate实现类

Redis整合SpringBoot》》RedisService 接口package com.tuan.common.base.redis;import java.util.List;import java.util.Map;import java.util.Set;import java.util.concurrent.TimeUnit;public interface RedisService { //Redis 字符串(String) /** * 模糊值再删

2021-01-08 22:02:07 488 3

网站建设工具工具.rar

网站建设工具

2021-03-15

骏龙优化文件.rar

骏龙系统优化

2021-01-22

RabbitMQ消息服务用户手册.docx

RabbitMQ消息服务用户手册(框架构造,集群搭建,运维注意点,扩展包)

2021-01-22

elasticsearch-7.4.24 + elasticsearch-analysis-ik(对应版本中文分词器)

elasticsearch-7.4.24 + elasticsearch-analysis-ik-7.4.2

2021-01-13

ElasticSearch Head 插件(浏览器版)

ElasticSearch Head 插件里面有es-head.crx文件

2021-01-12

2020 Java 最新面试题库

免费分享 2020Java 最新面试题库

2021-01-06

空空如也

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

TA关注的人

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