自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Maven聚合与继承

当我们一次想要构建多个项目时应该怎么做?当我们多个模块下存在很多相同的配置时如何进行版本控制?

2024-09-02 19:26:31 1331

原创 Maven 坐标与依赖配置信息详解

maven 传递性依赖和依赖范围

2024-08-30 10:12:01 866 1

原创 本地部署Canal笔记-实现MySQL与ElasticSearch7数据同步

本地搭建canal实现mysql数据到es的简单的数据同步,仅供学习参考- 本地搭建MySQL数据库- 本地搭建ElasticSearch- 本地搭建canal-server- 本地搭建canal-adapter

2024-01-08 11:01:55 1490 1

原创 MySQL表结构转换为ES索引Mapping

日常开发过程中肯定会存在MySQL表数据迁移至ES的情况,以canal为例,数据迁移时需要提前在ES中创建索引Mapping,但是如果碰到字段特别的表时,创建Mapping将是一件耗费心神的事情。为了解决这些重复工作,我使用Python编写了一个脚本,自动将MySQL中的表结构同步到ES中,本脚本只同步表结构,并不同步表数据,如需同步数据可以采用canal或者logstash等方式进行同步。

2024-01-08 10:54:09 1539

转载 深度解读Java线程池设计思想和源码实现

AbstractExecutorService 抽象类派生自 ExecutorService 接口,然后在其基础上实现了几个实用的方法,这些方法提供给子类进行调用。这个抽象类实现了 invokeAny 方法和 invokeAll 方法,这里的两个 newTaskFor 方法也比较有用,用于将任务包装成 FutureTask。定义于最上层接口 Executor中的由于不需要获取结果,不会进行 FutureTask 的包装。

2023-09-13 21:57:03 297

原创 SpringBoot如何优雅接收前端请求参数

springboot项目中如何优雅接收前端请求参数

2023-06-25 19:27:05 4070

原创 Runtime.class有什么用

Every Java application has a single instance of class Runtime that allows the application to interface with the environment in which the application is running.

2022-07-12 20:28:54 468

原创 Apifox实战——微信的第三方小程序提审发布

Apifox实战微信第三方小程序提审

2022-06-30 18:15:49 1893

原创 mysql 保存emoji表情报错:java.sql.SQLException: Incorrect string value:‘\xF0\x9

MySQL存储表情时报错:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A…’的解决方法前情提要我的项目架构:springboot+mybatis+druid+mysql如果在网上搜了半天按照网上大神的做法依然发现在自己的项目中不管用,那么我认为应该从以下几点来排查问题了需要注意的地方:1.数据库的版本以及数据库的编码是否按照utf8mb4修改,首先你要保证你的mysql数据库能够存

2021-09-26 21:08:37 482

原创 加密算法(对称加密与非对称加密)

加密算法思维导图对称加密概念对称加密也叫私钥加密,指加解密使用相同秘钥的加密算法。数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。因此对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,

2021-03-18 20:59:17 1827

原创 Failed to load driver class com.mysql.cj.jdbc.Driver from-----(springBoot连接mysql出现的各种问题)

背景自己在写点代码的时候之前pom文件的内容都是从前一个项目中复制的,并没有认真分析一下各种依赖的关系,有时候重复的问题会出现好多次,比如说连接数据库报错,有时候配置没有问题,可能是依赖的jar包的问题,有时候jar包依赖的正确可能是配置的问题。明确项目环境以及我们的需求首先我们需要明确的知道我们使用的mysql数据库的版本,是mysql5系列版本还是比较新的mysql8系列版本这个关系到我们引入的jar包,以及具体的配置其次我们需要知道我们所用的springboot的版本,不同springboo

2020-08-05 16:01:36 5491 1

原创 关于Spring事务全面分析-什么是声明式事务

Spring事务详解事物的基本特性(ACID)A: 原子性(atomicity)事物中各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事物的失败;C: 一致性(consistency)事物结束后系统状态是一致的;I: 隔离性(isolation)并发执行的事物彼此无法看到对方的中间状态;D: 持久性(durability)事物完成后所做的改动都会被持久化,即使发生灾难性的失败。Spring事务的配置方式Spring支持编程式事务管理以及声明式事务管理两种方式。编

2020-05-28 17:43:48 497

原创 activit6.0 根据当前节点信息获取下一步的审批人信息

背景:公司内部oa系统进行审批,需要集成极光推送,这样的话,需要在审批的时候,通过当前节点,查找出下一个需要审批人的信息,在网上查看了很多资料,大多都是activit版本对不上,还有就是提供的代码不完整,思路也不清晰,下面为个人解决这个问题提供的一个办法首先我们要先分析使用的流程图,由于我们公司审批业务比较简单,所以我们用的是自定义的通用模板如下所示:具体思路是:通过获取到当前的节...

2019-08-20 18:40:22 8025 3

原创 springboot环境下工具类中注入对象或者静态方法中工具类中注入对象

众所周知工具类一般为static的,如果我们在工具类中需要操作数据库,那么spring环境下需要注入service或者dao将对象交给spring进行管控,但是静态的的对象是无法被注入的,代码可能会出现各种空指针。需要采用@PostConstruct注解,具体@PostConstruct使用的条件:1.@PostConstruct 用在方法上2.使用这个注解的类必须可以被spring管...

2019-06-04 16:20:29 2935 1

原创 Oracle—导入用户名和表空间不同的dmp文件

将dmp格式的文件导入到本地数据库中由于用户和表空间不同,所以在导入的过程中出现很多问题现在将解决办法分享给大家。背景:需要将一个数据库中的部分表格导入到本地数据库,由于数据量过大,因此采用导出成dmp的形式,但是在插入的过程中出现了问题,由于用户和表空间不同出现了很多问题。在使用plsql进行导入的时候,不知道什么原因,数据没有导入进去,只建立了表格,因此采用toad,使用toad进...

2019-03-19 15:20:00 7892

原创 JVM专栏-3.垃圾收集器

在垃圾收集器的上下文中和的意义。

2023-04-25 21:46:15 635

原创 RedisTemplate中使用多种序列化方案

由于 Java 序列化是 Java 自带的序列化方式,因此该方式适用于仅限 Java 环境的数据存储,例如在 Redis 中缓存 Java 对象。这种序列化方式也可以用于存储非字符串类型的数据,但不推荐用于存储大型数据,因为其序列化的数据大小通常比其他序列化方式大。例如,使用 JdkSerializationRedisSerializer 序列化对象可以方便地将 Java 对象转换为字节数组,并在 Redis 中进行存储和读取,但也存在对象版本兼容性问题和序列化性能差的风险。

2023-03-20 21:13:02 1564

原创 springboot项目中redis连接不同的库

【代码】springboot项目中redis连接不同的库。

2023-03-20 21:12:42 1155

原创 解决Error running IandunCustservApplication. Command line is too long. Shorten the command line

常见异常

2022-07-08 11:25:51 3682

原创 gRPC-Java

gRPC-Java

2022-07-04 22:06:33 300

原创 Git基本理论以及常用命令

Git基本理论工作区Git本地有三个工作区,再加上远程的git仓库共四个工作区:工作目录(Working Directory)工作区,就是你平时存放项目代码的地方暂存区(Stage/Index)暂存区,用于临时存放你的改动资源库(Repository)仓库区,就是安全存放数据的位置git仓库(Remote Directory)远程仓库,托管代码的服务器工作流程在工作目录中添加或修改文件将需要进行版本管理的文件放入暂存区–add操作将暂存区的文件提交到仓库–commit将修

2021-03-10 21:49:36 341

原创 mybatisGenerator自动生成代码

首先需要添加依赖 <!-- MyBatis 生成器 --> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.7</version>

2021-03-03 14:25:46 173

原创 .net调用java的Jar包(多种情况解决方案)

一.下载IKVM需要注意版本的问题,JDK版本为1.7的话使用ikvmbin-7.2.4版本,如果JDK版本为1.8的话使用ikvmbin-8.1版本,这个不向低版本兼容哦,如果找不到这个版本的ikvm可以私聊我。下载地址:http://www.ikvm.net/download.html8.1版本下载地址 http://weblog.ikvm.net/2015/08/26/IKVMNET81ReleaseCandidate0.aspx二.配置环境变量解压后,需要配置环境变量,在"Path"中添加

2021-02-02 18:36:27 3225 2

原创 微服务架构设计模式--------第一章笔记

第一章.逃离单体地狱迈向单体地狱的漫长旅程1.单体架构的好处应用的开发简单易于对应用程序进行大规模的更改测试相对简单直观部署简单明了横向扩展不费吹灰之力2.什么是单体地狱项目过度的复杂性会吓退开发者开发速度缓慢从代码提交到实际部署的周期很长,而且容易出问题难以扩展交付可靠的单体应用是一项挑战需要长期依赖某个可能已经过时的技术栈3.你会在本书中学到什么读完本书,你会理解和掌握如下知识:微服务架构的基本特点,它的好处和弊端,以及应该在什么情况下使用

2020-10-21 17:35:56 303

原创 JVM专栏-2.垃圾回收(如何判定对象为垃圾对象)

概述垃圾回收(Garbage Collection,GC),顾名思义就是释放垃圾占用的空间,防止内存泄露。有效的使用可以使用的内存,对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。如何判定对象为垃圾对象1.引用计数算法在对象中添加一个引用计数器,当有地方引用这个对象的时候,引用计数器的值就加1,当引用失效的时候(变量记为null),计数器的值就减1。但Java虚拟机中没有使用这种算法,这是由于如果堆内的对象之间相互引用,就始终不会发生计数器-1,那么就不会回收。2.可达性分析法此算法

2020-09-27 17:41:03 261

原创 JVM专栏-1.JVM内存模型

内存模型划分1.程序计数器程序计数器是一块很小的内存空间,它是线程私有的,可以认作为当前线程的行号指示器。为什么需要程序计数器我们知道对于一个处理器(如果是多核cpu那就是一核),在一个确定的时刻都只会执行一条线程中的指令,一条线程中有多个指令,为了线程切换可以恢复到正确执行位置,每个线程都需有独立的一个程序计数器,不同线程之间的程序计数器互不影响,独立存储。注意:如果线程执行的是个java方法,那么计数器记录虚拟机字节码指令的地址。如果为native【底层方法】,那么计数器为空。这块内存区域是

2020-09-27 16:23:08 188

原创 vim 行号的显示与隐藏,光标移动,文本替换

vim 行号的显示与隐藏显示与隐藏行号:1.首先我们vim 1.txt (进入我们编辑的文档),如下,此时是显示行号的2.按一下esc键,并输入:(冒号),完成效果如下3.输入set nonumber ,并按回车键,完成后即不显示行号如果编辑后,又想显示行号,同样操作按一下esc键,并输入:(冒号),输入set number ,并按回车键,完成后即显示行号完成vim的显示行号和不显示行号后可以继续按i键进入编辑模式Vim快速移动光标至行首和行尾 、第一行和最后一行由于vi

2020-09-14 15:11:15 648

原创 mysql常用函数- 取逗号分隔第一个词

取逗号分隔第一个词:select left(cover, LOCATE(',',cover)-1) from product_album1、left(str, length):mysql左截取2、LOCATE(substr,str):返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 01. MySQL-locate()函数判断字符串(string)中是否包含另一个字符串(subStr)locate(subStr,strin

2020-08-31 09:16:32 1777

转载 在RestController中获取各种信息的方法

内容获取方法URL中路径的一部分首先需要在RequestMapping做映射, 之后在方法中可以通过注解使用映射的变量 @GetMapping("/{id}")public Student getStudent(@PathVariable(“id”) int id {}可以写多个)POST方法传递过来的Json给参数前加个@RequestBody注解, Spring会自动把POST的Request Body部分的Json转成方声明的类。如果转化失败会返回4xx错误,表示请求参...

2020-08-04 09:53:27 1193

原创 Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来了解一下与内存模型相关的概念和知识,然后分析了volatile关键字的实现原理,最后给出了几个使用volatile关键

2020-07-29 09:00:59 149

原创 mysql 索引需要知道的知识点总结

mysql 索引一、MySQL中索引的语法在创建表的时候添加索引CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) ); 在创建表以后添加索引ALTER TABLE my_table ADD [UNIQUE] INDEX index_name(column_name);或者CREATE IN

2020-07-22 15:25:14 138

原创 解决java.lang.NoClassDefFoundError: org/apache/ibatis/session/SqlSession

控制台报错信息org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.mrx.aop.AopLogSpringBootApplication#MapperScannerRegistrar#0': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache

2020-07-20 10:36:13 7025

原创 解决阿里云服务器采用docker部署web项目遇到的问题以及具体配置文件

所使用到的docker容器jdk1.8nginx1.19redis5.0mysql5.7项目所用到的docker-compose文件jdkversion: "3"services: febsshiro: container_name: febsshiro restart: always image: java:8 volumes: - ./febsshiro.jar:/febsshiro.jar - ./logs:/logs

2020-07-16 08:52:36 528

原创 阿里云中通过docker-compose 创建 MySQL 外部无法连接

在阿里云服务器上通过docker-compose 创建 MySQL 外部无法连接,进入容器内部通过命令可以连接,查看进程运行也正常,外部通过各种连接工具都无法进行连接,百度了半个小时,发现同样的问题有很多种解决方法,我的报错信息是通过SQLyog连接的时候报“2003“异常docker-compose.ymlversion: '3.1'services: db: image: mysql restart: always environment: MYSQL_R

2020-07-06 22:45:17 1147

转载 Java虚拟机详解-内存结构和垃圾回收

以下是本系列博客参考的相关文档: 来源链接:https://juejin.im/post/5ef1fd01f265da02ab172c19 ①、JDK1.7虚拟机规范:docs.oracle.com/javase/spec…   JDK1.8虚拟机规范:docs.oracle.com/javase/spec…      ②、Oracle Java SE 8 产品组件:docs.oracle.com/javase/8/do…     ③、周志明老师:《深入理解Java虚拟机:JVM高级特性与

2020-06-30 09:57:50 351

原创 nginx是什么?nginx常用方法附带对应的配置文件

nginx 常用用法什么是nginxNginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品。

2020-06-28 15:58:28 558

原创 完美解决异常javax.net.ssl.SSLHandshakeException: sun.security.validator.

使用Java访问https请求exception网上搜索了好多,主要说明是证书方面的问题,现在汇总网上的解决办法,总结处理两种笔记简单的方法1.使用浏览器导出证书使用浏览器访问对应的网站例如 百度(www.baidu.com)之后按照图片的步骤将证书导出到自己定义的位置然后把证书复制到%JAVA_HOME%/jre/bin/路径下,即保证证书与keytool.exe文件同目录进入keytool.exe目录 通过cmd控制台执行导入证书命令keytool -import -alias

2020-06-18 08:44:50 12579 4

原创 Linux(Centos7)搭建svn服务器

Linux(Centos7)下搭建svn服务器第一步:通过yum命令安装svnserve,命令如下:yum -y install subversion此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行若需查看svn安装位置,可以用以下命令:rpm -ql subversion第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)选择在var路径下创建版本库,当前处于根目录下,一次性创建如下:mkdir /var/svnrepos第三步:创建svn版本

2020-06-16 10:48:11 621

原创 使用Docker-compose构建项目

docker-compse 构建tomcat新建docker-compse.yml文件编辑 version: '3' service: tomcat: restart: always image: tomcat container_name: tomcat ports: - 8080:8080执行docker-compose upDocker Compose 实战Tomcatvers

2020-05-20 21:44:14 270

原创 自动生成sql以及实体类接口-基于mybatis逆向工程

基于mybatis逆向工程生成对应数据库表的sql语句,接口以及实体类首先需要创建一个maven项目pom需要引入三个依赖<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.4</version> </dependency>

2020-05-20 21:39:59 403

空空如也

空空如也

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

TA关注的人

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