自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(161)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java读取json文件并解析属性

记录Java中读取json文件的内容

2023-01-15 18:39:08 1448 1

原创 Python中如何实现IP和端口号可配置

介绍python实现参数可配置

2022-12-31 22:37:15 1457

原创 MySQL存储引擎的选择

介绍如何选择MySQL存储引擎

2022-12-04 22:20:17 797

原创 如何实现python构建打包供他人安装

讲解Python中如何使用setuptools进行打包构建。

2022-12-02 16:27:15 1149

原创 python中如何打印日志信息

讲述在python中如何打印日志信息

2022-11-30 15:02:53 10002 1

原创 如何校准Linux服务器时间

介绍如何校准Linux服务器时间

2022-11-29 11:46:03 18602 2

原创 Windows配置python3环境变量解决无法识别pip指令报错

解决Windows下配置python3环境变量不生效的问题

2022-11-27 22:42:16 3685

原创 代码合并Git出现refusing to merge unrelated histories错误

解决refusing to merge unrelated histories问题

2022-11-11 11:32:16 843

原创 使用JWT如何限制账号不能同时在多台设备登录?

限制账号不能同时登录多台设备的简单实现方法。

2022-10-30 00:14:47 3078 1

原创 解决上传图片时报错Uncaught (in promise) DOMException: Failed to execute ‘put‘ on ‘IDBObjectStore‘

SpringBoot过滤器排除特定请求的URL方法

2022-09-12 21:48:04 4192

原创 解决springboot启动jar包时加载了jar包内的配置文件

详细描述了排查jar包启动时加载配置出错问题的过程。

2022-08-13 22:14:17 3062

原创 Nginx在前后端分离项目中的配置

本文简要介绍Nginx在前后端分离项目中的使用。

2022-08-07 17:47:08 4502

原创 Windows10安装Jenkins

简要介绍Windows10安装jenkins服务。

2022-07-03 22:18:06 1463

原创 SpringBoot集成swagger

本文介绍如何将swagger集成到springboot项目中。

2022-06-24 10:12:36 181

原创 Linux环境使用shell脚本启动springcloud多服务

服务启动脚本脚本中需定义服务的端口号,jar包的名称和版本号以及jar包存放的路径。#!/bin/bashjar_path=/opt/jarlogs_path=/opt/logsjar_version=0.0.1-SNAPSHOTjar_array=('user' 'gateway')user_port=8001gateway_port=8002echo "services start begin..."for i in ${jar_array[*]}; do nohup java

2022-05-25 22:05:18 534

原创 shell脚本报错期待二元表达式

shell中对字符串判空报错信息:第 7 行:[: 2531: 期待二元表达式;排查过程:使用指令sh -x start.sh对脚本进行调试,发现报错的地方是因为对变量进行了判断,而变量返回了数组,执行出错;解决办法:将原来的判断if [ $sid ]; then使用双引号""进行判空,写法改为if [ "$id" == "" ]; then使用cp -f依然出现提示现象:使用cp -f指令,命令框依然出现提示是否覆盖,需要用户进行确认;原因:cp指令被设置别名,cp别名默认为cp

2022-05-25 21:46:21 4583

原创 解决报错Rsa Public Key not Find

解决Rsa Public Key not Find出现这个问题的原因,我发现是因为没有把注册机放到Navicat安装路径下面导致的。解决:需将注册机复制到Navicat安装目录中。解决No All Pattern Found! File Already Patched?出现此提示,是因为之前在电脑上已经使用注册机注册过了,无法重新进行注册。解决:1.使用WIN+R输入regedit指令,编辑注册表;2.在注册表中找到HKEY_CURRENT_USER\SOFTWARE\PremiumSof

2022-05-11 21:52:57 17711 10

原创 Spring Cloud Alibaba脚手架搭建

Spring Cloud AlibabaSpring Cloud Alibaba是国产微服务一站式解决方案,提供一些列微服务组件,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案。功能组件Alibaba体系跟Netflix体系有一些区别,主要体现在其官方推荐的组件上。Alibaba推荐的组件包括:Nacos:用于构建云原生应用的服务注册与发现、配置管理的平台;Sentinel:从流量控制、熔断降级等方面维护服务的稳定性;Dubbo:高效能Java

2022-05-04 20:19:31 5419 3

原创 MySQL之为什么不建议使用外键约束

接上篇短文中提到我们项目中不会设置外键,这里简单谈下原因。外键的优点外键能够保证数据的一致性和完整性,通过设置外键,数据库就会判断数据的完整性,不需要在应用代码里实现。外键的缺点性能问题比如table_a和table_b通过外键关联,当往table_a插入数据时,数据库就会去查询外键关联的table_b里面有没有对应数据,没有对应数据是没法入库成功的。同时,在大数据量入库的情况下,每次入库都需要先查询会导致性能瓶颈。因此,阿里巴巴Java开发手册里建议,不得使用外键与级联,一切外键概念必须在应

2022-03-07 11:36:54 1049

原创 导出excel数据查询超时问题排查

最近遇到一个导出Excel文件时报超时的问题,经过排查,最终发现是MySQL索引失效导致的。排查思路Excel导出这个功能是先将数据查询出来组装好,再通过POI方式写入到Excel文档中,生成的Excel文件放到FastDFS文件服务器,最后把文件服务器中的文件地址返回给浏览器,供浏览器下载。首先是怀疑Excel导出数据量过大,服务器承受不了导致超时,但一问人家测试人员才导出5K+的数据,完全不至于;怀疑导出没有使用异步进程,没有使用多线程,查看源代码是使用了CompletableFuture.

2022-03-04 23:13:22 3500

原创 MySQL索引类型简介

MySQL索引的作用数据库系统在查询数据时,是按照当前行的所有列数据进行匹配。当对某一列设置了索引后,就可以只针对当前索引列进行查询,这样可以提升查询效率。索引实质上是一张描述索引列的列值与原表数据行一对一关系的关系数据表。就好比是字典里的音序检索,根据拼音首字母能够快速找到文字所在的页码位置。索引是MySQL数据库性能调优的基础。MySQL有哪些索引类型MySQL主要有五种索引类型:普通索引[index]唯一索引[unique]主键索引[primary key]组合索引[index]

2022-03-04 21:52:49 3922

原创 Spring ENC加密解密

使用jasypt工具加密在maven中引入jasypt依赖包:<dependency> <groupId>com.test.caep</groupId> <artifactId>jasypt-spring-boot-starter</artifactId></dependency>加密进入maven仓库中jasypt所在的目录,输入cmd进入命令窗口,执行指令:java -cp jasypt-1.9.3.j

2022-02-14 18:11:35 13924

原创 解决Postman发送请求报错org.springframework.web.bind.MissingServletRequestParameterException

异常现象最近使用Postman调试接口时出现报错如下:org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter 'userId' is not present问题原因首先从报错的字面信息来理解,是说有一个必填参数没有传值;如果这个参数是非必填参数的话,我们应该设置该参数的required属性为false: @RequestParam(required = fals

2022-01-16 23:52:23 25054 4

原创 使用Navicat复制数据到excel表格

Navicat复制功能通过select * from table where 1=1;筛选出数据后,我们可以将字段名和数据很便捷地复制到excel表格中。方法:选中需要复制的数据源,右键选择复制为-制表符分隔值(字段名和数据)。...

2022-01-05 17:38:13 1235

原创 Spring事务提交后处理TransactionSynchronizationManager#afterCommit

Spring事务提交后处理最近在业务处理中遇到一个锁表问题,经过排查发现是在微服务A中更新数据主表a,而更新方法中又通过RPC调用了另一个微服务B的函数,函数中更新数据子表b时也更新数据主表a,由于微服务A数据库事务并没有释放主表a的写库锁,微服务B更新数据时就会报出锁表的错误信息。这个时候考虑到有两种解决方案,一个是分布式事务锁,一个是在微服务B中先将前面写库的事务进行commit。这里我们用的第二种方式。实现方式如下示例:if (TransactionSynchronizationManager

2022-01-02 22:36:32 4402

原创 算法的时间复杂度

时间复杂度时间复杂度是决定一个算法好坏的重要指标。一个算法的好坏通常从算法的正确性、健壮性,时间复杂度和空间复杂度来衡量。一个算法中的语句执行次数称为语句频度或时间频度,记为T(n),n称为问题的规模。时间复杂度用标记符号O表示,定义为T[n] = O(f(n))。常见复杂度复杂度通用叫法O(1)常数阶O(n)线性阶O(n2)平方阶O(log n)对数阶O(2n)指数阶O(n2)双层for循环一般复杂度为O(n2)。示例代码:in

2021-12-12 20:11:22 359

原创 Java List集合查找元素是否重复

查找List集合中是否有元素重合并返回元素信息package main;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class ListTest { public static void main(String[] args) { List<Map<String, Object>> li

2021-12-12 15:32:33 1000

原创 Java Calendar获取当前日期的当月第一天

Calendar获取当前日期的当月第一天public class CalendarTest { /** * 获取当前日期的当月第一天 * * @return String */ public static String getFirstDayOfMonth() { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); Calen

2021-12-08 19:01:51 2528

原创 MySQL如何实现select into 临时表的功能

select into 临时表最近在写sql脚本时遇到需要将数据放到临时表中,供后续insert数据时使用。首先想到的是使用select into这个写法:select * into temp_test from user where id=007;写完在Navicat执行报错,发现MySQL居然是不支持select into这种写法的,没办法,只能转换思路。这个时候我又想起来有一个create table as select * from old_table的用法,想着是不是可以通过select

2021-11-14 20:38:18 4005

原创 mysql如何交换两列的值

最近遇到了需要将表里的两列值进行互换,原因是存库时值存放反了。在编码语言中,我们一般可以通过定义一个临时变量c,将b赋值给c,a赋值给b,c赋值给a就能实现a和b的值互换。那么,在mysql中,非储存过程的sql语句,没有定义变量的过程,如何实现呢?我们可以将原表选择出一张临时表,再根据临时表字段的值进行交换。UPDATE t as t1, t as t2 set t1.a=t1.b,t2.b=t2.a where t1.id=t2.id;...

2021-10-31 18:42:23 1105

原创 Java函数对基本类型参数的修改

int类型参数修改public static void main(String[] args) { int count = 0; Map<String, Object> map = new HashMap<>(); map.put("person", "张三"); testParam(count, map); System.out.println("count: " + count); // 0

2021-10-14 18:54:49 1431

原创 MySQL使用JSON_EXTRACT获取json字符串某个键的值

JSON_EXTRACTMySQL5.7版本以后增加了JSON_EXTRACT函数,可用于获取json字符串中某个键的值。示例:JSON_EXTRACT('{"typeId": "001", "code": "C01"}', "$.typeId")获取到的typeId值为"001",带有双引号,我们可以再用REPLACE函数去掉双引号。REPLACE(JSON_EXTRACT('{"typeId": "001", "code": "C01"}', "$.typeId"), '"', '')运

2021-10-07 11:34:07 621

原创 Windows10配置hosts文件后被莫名还原

最近由于在外驻场支持项目上线,配置了几条域名映射记录,但是第二天重启电脑后,发现配置的hosts文件莫名其妙地被还原到之前的版本了,连修改日期都变成之前的。在网上查找资料,说用notepad++编辑进行保存,或者使用管理员权限进行编辑,试过都不好使。我还试了在git bash中使用vim进行编辑保存,仍然被还原。终于,我进入C:\Windows\System32\drivers\etc目录下仔细查看,发现有个hosts_backup的文件,这个文件的修改日期正是被还原的hosts的修改日期,即该备份.

2021-09-30 17:01:22 12006 5

原创 解决Postman由于找不到vcruntime140_1.dll无法继续执行代码而无法启动的问题

问题现象:Postman启动时报错“由于找不到vcruntime140_1.dll无法继续执行代码”。解决办法:针对Windows10系统,重新下载vcruntime140_1.dll并复制到C:\Windows\System32\路径下。下载地址:vcruntime140_1.dll

2021-09-30 16:33:54 557

原创 MySQL创建唯一索引时报错Duplicate entry * for key

场景在MySQL表创建唯一索引时,出现报错Duplicate entry * for key.使用show index from table确认table中并不存在重名的唯一索引名称。解决仔细看报错信息,根据那串ID数字,发现是表中出现违反创建的唯一索引键规则的重复数据,将此数据删除后创建唯一索引成功。ALTER TABLE person ADD UNIQUE `UNI_person_area`(`person_id`, `area_id`) USING BTREE COMMENT "人员重复"

2021-09-20 16:43:23 10147

原创 使用arthas jad比较线上代码是否最新

arthas是阿里巴巴开源的Java应用诊断利器。jad指令的应用场景修复Bug本地测试无误后,打包部署到线上环境,发现bug依然存在…这时是不是很想看看线上环境里的代码是否包含自己修复Bug的代码当代码里引用了其他领域或者第三包中的方法,想要在线上环境看下其中的代码逻辑…这时arthas jad指令就派上用场了,jad指令能将.class文件反编译成可读的java文件。jad指令的使用找到arthas的安装目录find . -name "arthas*"进入该目录下并启动art.

2021-09-20 16:07:03 515

原创 Postman本地测试上传MultipartFile文件接口

本文旨在记录如何在本地debug调试springboot后台服务中的上传文件接口。后端服务@RequestMapping("/import") public void import(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) { .

2021-09-20 15:31:36 4272

原创 python入门2-语句与运算符

语句条件语句Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现。#coding=utf-8if False: total = "item_one" + \ "item_two" + \ "item_three"; print total;else: days = ['Monday', 'Tuesday', 'Wedne

2021-09-05 17:58:36 182

原创 python入门1-基本语法

无意间翻到2017年9月学习python的笔记,时隔四年,整理至此。语法标识符Python 中的标识符是区分大小写的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。缩进Python 与其他语言最大的区别就是,Python 的代码块不使用大括号.

2021-09-05 15:00:29 70

原创 树型数据遍历之ConcurrentModificationException

场景最近需要去遍历修改树型数据中的叶子节点,数据结构如下:"data": [ { "id": 102528, "name": "一级代理", "children": [ { "id": 480896, "name": "二级代理", "parentId": 102528, "childre

2021-08-19 19:40:21 101

Myeclipse-2014-GA-破解文件

附Myeclipse-2014-GA版图文破解教程,轻松破解MyEclipse2014,永久免费使用!

2015-06-26

空空如也

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

TA关注的人

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