自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java透传参数至logback,自定义日志文件名。过期日志文件自动删除

filter日志拦截,把不需要打印的日志信息拦截在外,只录入有key参数的(filterReply = FilterReply.ACCEPT;

2023-09-01 16:58:49 1188

原创 SSH连接阿里服务器搭建JAVA环境

迁移tomcat到文件中,便于管理 mv apache-tomcat-9.0.78 tomcat。2.安装JDK(不存在时)我选了支持jdk1.8的。下载完成后,上传到服务器。3.右下角点击连接即可。1.查看是否存在jdk。

2023-08-11 12:07:13 515

原创 从浅入深理解序列化和反序列化

序列化:把对象转换为字节序列的过程反序列:把字节序列恢复为对象的过程对象序列化机制(object serialization)是java语言内建的一种对象持久化方式,通过对象序列化,可以将对象的状态信息保存为字节数组,并且可以在有需要的时候将这个字节数组通过反序列化的方式转换成对象,对象的序列化可以很容易的在JVM中的活动对象和字节数组(流)之间进行转换。

2023-05-24 18:45:00 1218

原创 JAVA反射简介及应用

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。属性最重要的是名字实例方法最重要的是名字和形参列表构造方法最重要的是形参列表。

2023-05-23 19:00:00 4690 2

原创 利用PostgreSQL的存储过程为多个库表增加固定字段

PostgreSQL的存储过程及基本使用为每个表生成插入字段的SQL,执行,要粘贴好多遍表名 / 手工一个一个表加,很累!需要为某个schema下的表追加字段,可使用存储过程定义。

2023-05-12 19:45:00 1776

原创 无效的 “UTF8” 编码字节顺序: 0x00

对于输入对象 sqlsever的数据库表查询时,针对char varchar类型字段做replace函数处理。原由:就是因为sqlserver和pg的编码不一致,sqlserver的空串处理用了结束符,pg不支持该字符导入。在通过kettle对sqlsever数据迁移至postgresql操作时,报错无效的 “UTF8” 编码字节顺序: 0x00。SQL案例: select REPLACE(fieldName, CHAR(0), '') from table。查询结果做处理,增加字符串替换,再去导入。

2022-09-15 17:45:35 5452 1

原创 java执行python脚本

python执行是由多种方式的,可以在java程序中编写python代码执行,也可以提前写脚本,通过执行脚本文件方式执行。注意事项是 args[0]是python执行的命令,windows和linux注意区分,args[1]是文件地址,是本地的地址噢,不是http网络文件。关键代码(执行脚本的):Runtime.getRuntime().exec(String[] args)如果是网络文件的话,先下载到本机。通过java执行脚本文件,.........

2022-09-01 15:39:45 5296

原创 window环境 mysql 无法登录、密码正确权限错误、找不到mysql等语法问题

命令5:mysqld --console --skip-grant-tables --shared-memory。命令4:mysqld -console --skip-grant-tables --shared-memory。命令3 : mysqld --initialize-insecure mysqld --install。命令1:cd E:\AppData\MySQL\MySQL Server 8.0\bin。命令6:mysql -u root -p。管理员权限运行cmd。此时开启新的控制台。....

2022-08-27 03:08:16 1292

原创 开发问题,参数错误,程序包找不到,JAR冲突

感觉是我更改了接口后,测试类没反应过来,咱也不知道它从哪捞的代码,运行的时候测试类代码是新的,调用的service代码是旧的,参数不一致。3. 全部都一致还存在问题可能是IDE的问题 尝试mvn clean install 重新加载。一般差不多就成功了,但是我的测试类经常会报错XXX接口参数无法应用之类的报错。3. 我配置没问题,更新也没问题,感觉还是IDE和MAVEN之间有什么坑在。重构一下,解决了我所有问题,真的是超大的坑,搞一晚上 T^T。经过不断的踩坑,查到了一个命令。后面遇到的小问题就很简单了。.

2022-08-03 22:38:50 473

原创 MD5、AES 算法加密、解密

MD5、AES 算法加密、解密

2022-07-12 14:51:54 336

原创 StringBuffer删除最后一个字符

StringBuffer删除最后一个字符

2022-07-12 14:25:35 5977

原创 错误: 找不到或无法加载主类 com.XXX.XXXApplication

springboot 错误: 找不到或无法加载主类

2022-06-10 14:17:18 2677

原创 @PathVariable接收参数信息不全的问题解决方案

原接口@GetMapping("/user/{type}")public List<Selection> users(@PathVariable("type") String type) { return userService.queryByType(type);}type入参是com.demo.user.man此时接收到的type数据为com.demo.user解决方案:调整路由信息@GetMapping("/user/{type:.+}")入参接

2022-04-12 10:06:58 610

原创 正则表达式解决:restful请求url中拼接参数问题

restful请求url中拼接参数工具类

2021-12-30 17:14:08 1601

原创 Elasticsearch exception [type=illegal_argument_exception, reason=request [/index索引名/_search] contain

记录开发中遇到的问题:报错:Elasticsearch exception [type=illegal_argument_exception, reason=request [/index索引名/_search] containspring 2.4.5版本集成ES时,默认集成的是7.9的ES。我环境搭建的ES是6.8的,导致两个版本不匹配,报上述错误。下方是从其他博客上找到的spring和ES的对应版本,建议大家做好版本匹配。下面讲一下版本号不匹配时的解决方案:(更改前)调整spri

2021-12-30 17:02:13 15162

原创 springboot+junit5+surefire测试报告

1. 框架:springboot + mybatis + mysql + junit52. 项目代码2.1 pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/

2021-10-13 17:42:07 1963

原创 springboot定时任务@Autowired注入报空指针异常

定时任务代码:/** * @Author mxy * @Date 2021/9/15 * @Desc 用户定时任务 */@Slf4j@Componentpublic class UserTask { //注入方式不用@Autowired,改成下面的代码注入 private final IUserInfoService userInfoService= (IUserInfoService) ApplicationContextUtil.getBean("userInfoS

2021-09-15 10:55:01 2534 3

原创 go 环境搭建

go下载Downloads - The Go Programming Language (google.cn)然后一路安装next就行,在遇到修改安装地址的时候可以改成自己的地址环境搭建GOROOTGOPATH建立gopath目录,里面包含bin,pkg,src新增系统变量更新PATHwindows10 GOPATH不生效的话 就命令配置一下cmd命令:setx GOPATH D:\goSpace然后通过命令查看环境是否配置成功命令 .

2021-09-02 15:42:44 3461

原创 maven junit surefire cobertura 测试报告

目录1 使用JUnit @Test测试用例2 生成XML,TXT测试用例报告surefire3 生成HTML测试用例报告surefire-report4 生成HTML测试覆盖率报告cobertura5 pom文件整体配置1 使用JUnit @Test测试用例pom文件配置增加junit, 测试<dependency> <groupId>junit</groupId> <artifactId>junit...

2021-09-02 11:51:58 1592

原创 安装配置ANT

1.前提准备,安装好JDK1.82.下载ANT,下载地址如下, 我选择的是标记黄色背景的选项,zip文件Apache Ant - Binary Distributions3.解压到自定义的安装路径下4.配置环境创建一个系统变量编辑PATH,增加 %ANT_HOME%\bin全部保存后,cmd控制台验证, ant -version环境配置成果~......

2021-08-31 10:51:40 119

原创 Redis

1 Redis安装,推荐使用6.0.8以上官网说6.0.8之前有BUG安装成功后, 查看redis版本的方法方法一:redis- server -v方法二:redis info2 Redis的五大数据类型数据类型 使用场景 String 比如:想知道什么时候封锁一个IP地址, Incrby命令 Hash 存储用户信息【id,name,age】 Hset(key,filed,value) Hset(userKey,id,101...

2021-08-16 20:46:28 713

原创 spring IPC, AOP,TX

tx:事务控制,哪些失效,哪些不失效1 spring aop顺序1.1 AOP常用注解@Before:前置通知:目标方法之前执行@After:后置通知:目标方法之后执行(始终执行)@AfterrReturning:返回后通知:执行方法结束前执行(异常不执行)@AfterThrowing:异常通知:出现异常时执行@Around:环绕通知:环绕目标方法执行1.2 面试题1.3 业务类1.3.1 接口CalcService1.3.2 接口实现类CalcService

2021-08-15 15:55:27 521

原创 AQS(抽象的队列同步器)

前提了解:公平锁和非公平锁可重入锁LockSupport自旋锁数据结构之链表设计模式之模板设计模式 1 是什么抽象的队列同步器队列:单/双列表, ArrayList就是链表结构是用来构建锁或者其他同步器组件(一系列根据锁相关的组件)的重量级基础框架及整个JUC体系的基石,通过内置的FIFO队列来完成资源获取线程的排队工作,并通过一个int类型变量表示持有锁的状态。JUC中有几个AQS缩写的相关内容,长得很相似,通常聊的AQS是指Abstract...

2021-08-13 22:09:31 953

原创 HashMap

HashMap<k,v>put进去的内容是到了Node<k,v>中hashMap是数组+链表+红黑树结构数组是:kv键值对作为载体的Node数组后续补充一下红黑树的知识

2021-08-13 14:36:33 86

原创 LockSupport

1 是什么2 线程等待唤醒机制(wait/notify)2.1 3种让线程等待和唤醒的方法1.使用Object中的wait()方法让线程等待,使用Object中的notify()方法唤醒线程2.使用JUC保重的Condition的await方法让线程等待2.2 Object类中的wait和notify方法实现线程等待和唤醒2.2.1 DEMO-wait/notify最原始的案例public class LockSupportDemo { stati...

2021-08-12 21:48:35 210

原创 string.intern

1 intern1.1 string.intern()方法源码:1.2 解释intern() 返回一个字符串常量池对象调用时,已包含对象,string直接被返回没有对象,会被新建到池中返回1.3 DEMOpublic class StringPool58Demo { public static void main(String[] args) { String str1 = new StringBuffer("58").append("tong.

2021-08-12 15:32:32 125

原创 JAVA面试题

Redis:6379spring.io2020:参考文献:以上内容来自于下方视频,用于个人学习笔记记录Java面试_高频重点面试题 (第一、二、三季)_ 面试 第1、2、3季_柴林燕_周阳_哔哩哔哩_bilibili...

2021-08-12 14:16:50 178

原创 github使用相关

可学习项目:996.ICU1.常用2.in例:3.star/fork例:4 awesome相当于官网内容5.高亮例:地址#L行号, 一行高亮地址#L行号-L行号, 一段高亮6 项目内搜索7 搜索比较厉害的人参考文献以上内容均来自于下方视频, 仅用于个人学习笔记记录Java面试_高频重点面试题 (第一、二、三季)_ 面试 第1、...

2021-08-12 14:01:36 72

原创 生产环境服务器变慢,CPU过高等问题诊断(待完善)

Linux生产环境服务器变慢,诊断思路及性能评估以上方面均可能变慢测试DEMO:运行,死循环程序。检查性能:整机: top查看java进程的程序CPU和MEM右上角系统的负载均衡,三个值三个值相加除以100% 若大于60,说明系统负载重了。命令 uptime, top的精简版命令vmstat -n 2 3//每2秒采样一次,共采样三次r:runtime 运行(3+1+2)/3=2, 已经算高了b:b...

2021-08-12 13:34:12 551

原创 垃圾收集器,垃圾回收算法

垃圾回收算法:4种复制用在新生代,后两种用在老年代。1GC垃圾回收算法和垃圾收集器的关系?分别是什么?垃圾收集器就是 以下引用计数,复制,标记清除,标记压缩整理四种算法的实现类。1.1 四种主要的垃圾收集器1.1.1 串行垃圾回收器(Serial):它为单线程环境设计,且只使用一个线程进行垃圾回收,会暂停所有的用户线程。所以不适合服务器环境。例子:好比吃饭时被打断,中间打扫了一下,打扫后继续用餐。总结:单线程环境,单线程垃圾回收,用户程序会暂停。1.1.2 并行.

2021-08-09 22:31:41 899

原创 OOM的认识

以下内容均来自Java面试_高频重点面试题 (第一、二、三季)_ 面试 第1、2、3季_柴林燕_周阳_哔哩哔哩_bilibili用于个人学习笔记记录,如有维权,可联系删除。1 java.lang.StackOverflowError方法的加载在栈中,栈管运行,易出现在递归方法中,方法特别多把栈空间撑爆了。1.1 DEMO-栈溢出public class StackOverflowErrorDemo { //栈一般大小是512-1024 public static

2021-08-09 15:48:46 145

原创 对线程池的理解

1 为什么要有线程池,优势1.1 线程池工作内容控制运行的线程数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行。1.2 特点:线程服用,控制最大并发数,管理线程.降低资源消耗,通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度,当任务到达时,任务可以不需要等到线程创建就能立即执行。 提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统

2021-08-08 21:33:05 1102

原创 死锁编码及定位分析

死锁代码class HoldLockThread implements Runnable { private String lockA; private String lockB; public HoldLockThread(String lockA, String lockB) { this.lockA = lockA; this.lockB = lockB; } @Override public...

2021-08-08 21:32:11 138

原创 JVM GC垃圾回收

4中类装载器:启动类(根)加载器 bootstrap拓展类加载器应用加载器自定义:继承class抽象类双亲委派java类加载过程中的杀箱安全机制灰色:线程私有亮色:线程公有堆内存:伊甸园区幸存者0区幸存者1区养老区java7以前: 永久代java8 : metaspace 云空间有对象引用+1, 没对象引用-1,到0回收复制算法 年轻代复制之后有交换,谁空谁是two...

2021-08-08 21:30:03 384

原创 强引用,软引用,弱引用,虚引用

Book b1= new Book();一般这个就是强引用整体架构:

2021-08-08 21:28:13 510

原创 Runnable和Callable区别

1Runnable和Callable区别Runnable Callable 没有返回值 有返回值 没有异常 有异常 1.1 Runnableclass MyThread implements Runnable { @Override public void run() { }}1.2 Callableclass MyThread2 implements Callable<Integer> { @Overr...

2021-08-07 14:39:11 275

原创 阻塞队列的使用

目录1. 概念1.1 队列:1.2 阻塞队列:1.3 解释:2 为什么需要BlockingQueue(阻塞队列的优势)3 使用场景4 架构4.1ArrayBloackingQueue:4.2 LinkedBlockingQueue:4.3 SynchonousBlockingQueue:5 BlockingQueue 核心方法5.1抛出异常5.1.1DEMO-抛出异常(阻塞队列满时)5.1.2DEMO-抛出异常(阻塞队列空时)5.1.3 D..

2021-08-04 22:16:22 1106

原创 JUC包中的 CountDownLatch/CyclicBarrier/Semaphore

1. CountDownLatch1.1 概念1.2 CountDownLatch方法(2个)1.3 DEMO1.3.1 DEMO-使用之前1.3.2 DEMO-使用之后1.3.3 DEMO-生活案例,秦灭六国,一统华夏2CyclicBarrier2.1 概念​2.2 DEMO3 Semaphore(信号灯,信号量)3.1 概念3.2 使用场景3.3 DEMO

2021-08-04 13:38:04 199

原创 锁(公平锁、非公平锁、可重入锁、递归锁、自旋锁、互斥锁)

目录1. 公平锁,非公平锁1.1 概念1.1.1 公平锁1.1.2 非公平锁1.2 公平锁和非公平锁两者区别1.2.1 公平锁1.2.2 非公平锁1.3 源码2 可重入锁(又称递归锁)2.1 概念2.2 作用2.3 DEMO-synchronized是可重入锁的验证2.4 DEMO-ReentrantLock是可重入锁的验证2.4.1重复加锁是否会造成异常?3. 自旋锁3.1 概念3.2 DEMO-自旋锁4 独占锁(写锁)、共享锁.

2021-08-03 23:13:15 1436

原创 JVM运行时数据区,理解变量存储位置和作用域

目录1 DEMO【文献3】2 JVM运行时数据区【文献1】2.1 程序计数器(Program Counter Register)2.1.1 程序计数器的作用位置2.1.2使用程序计数器存储字节码指令地址有什么用?为什么使用程序计数器记录当前线程的执行地址呢?2.1.3 程序计数器为什么被设定为线程私有的2.2 Java虚拟机栈(Java Virtual Machine Stacks)2.2.1 Java虚拟机栈是什么?2.2.2 作用2.2.3 栈中存储什么?2.

2021-08-02 22:08:43 439

空空如也

空空如也

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

TA关注的人

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