自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (4)
  • 收藏
  • 关注

原创 【Linux】macOS下使用scp命令编写脚本上传文件至服务器

上传文件

2023-12-20 18:03:28 942

原创 【Linux】查看Java进程并编写脚本停止和启动

查看Java进程并编写脚本停止和启动。

2023-12-20 17:00:31 802

原创 【SpringBoot】springboot数据使用多线程批量入数据库

Spring实现事务的原理是通过ThreadLocal把数据库连接绑定到当前线程中,同一个事务中数据库操作使用同一个jdbc connection,新开启的线程获取不到当前jdbc connection。可见时间从180秒,缩短到了28秒,但是@Transactional对于多线程是控制不了所有的事务的。可见5个线程都报错了,但是去查询数据库,却可以查询到5000条数据,这是不应该出现的情况。分别放开子线程报错和主线程报错,会发现事务都可以正常回滚,达到了预期的效果。耗时时间:87217ms。

2023-02-02 17:09:32 5940 6

原创 【JAVA】一个方法中多个线程new Thread(....).run()会发生啥呢

根据上面说的,直接调用run方法,效果其实就是普通代码块,并没有以多线程的方式执行,所以输出 A B。A线程sleep的时间比B长,所以输出结果是 B A。

2023-01-30 16:23:02 1081

原创 【SpringBoot】FilterRegistrationBean一次只能注册一个Filter,那在Filter个数不确定的情况下如何注册呢,那便是需要手动注册过滤器

1. 首先编写程序时,或多或少会存在几个固定的Filter,那么第一步就是为确定的那几个Filter指定好顺序。(通常情况下的使用场景是:你要将你现在编写的项目打包成jar给别的项目使用)2. 其次程序确定的几个Filter已经编写好了,那么需要将它们和不确定的那几个放在一起进行重新排序。3. 将排好序的Filter进行注册。

2023-01-16 18:48:06 1411

原创 【SpringBoot】使用AOP+注解实现请求参数的指定自动填充

使用AOP+注解实现请求参数的指定自动填充

2023-01-09 18:08:27 1844 2

原创 【SpringBoot】在一个@Bean方法内,this调用同一个类的@Bean方法会有什么效果呢?

此时配置类会被CGLIB增强(生成代理对象),放进IoC容器内的是代理,方法相互调用能够保证是同一个实例,都指向IoC内的那个单例,可以支持通过常规Java调用相同类的@Bean方法而保证是容器内的Bean,但是运行时会给该类生成一个CGLIB子类放进容器,有一定的性能、时间开销。模式中的Bean,不支持Bean间的相互调用,如果相互调用,那么将会被视为标准的Java方法调用,Spring不会通过。方法,甚至只是在一个非常普通的类中声明的Bean方法,都被认为是Lite版的配置类。

2023-01-05 10:33:54 864 1

原创 【JAVA】我一定要重写equals()和hashCode()方法吗?

通常不重写上述两个方法,一个类大致是这样的可见,我们给一个对象设置的每个属性都相同,期望就是,但是此时的结果并不尽人意,那么此时要想实现需求,就需要去重写方法,我们在上述类中添加下面这段代码,重写其方法。代码还是比较简单的,我们判断这两个对象是否一样,那就是要去判断他们的每个值是不是一样的。此时可以看到,比较返回true了,这已经达到了我们的预期结果了,好像不重写也没什么关系,确实,如果你的对象仅仅是这么使用的,不需要像方法中后半段一样放进集合进行操作,那重不重写对你来说问题不大。

2022-11-07 09:48:22 258

原创 【JAVA】给线程的interrupt()方法使用举个栗子

上面这段代码就是,interrupt()的基本用法,子线程TestThread会一直判断当前线程有没有被标记为可以中断了,直到检查到被标记了,while循环结束,子线程任务结束。

2022-08-05 17:12:35 260

原创 【Spring】@Transactional常用参数使用示例、以及常见的一些坑

当spring隔离级别和数据库隔离级别不一样时,spring的优先。

2022-08-03 22:45:46 2815 5

原创 【SpringBoot】在A类上标注@Component和@ConditionalOnMissingBean({A.class})两个注解,导致bean注册失败

我有一个类名为,我在其上加上注解和期望其在没有这个Bean的时候注册一个Bean,但是得到的结果却是,容器中并不存在这个Bean。}System.out.println(beanDefinitionName+"存在");}}}}那么此时,如果容器中存在该bean,springboot程序启动时就会如下图但是,实际情况是只存在@Component注解时会输出,一旦加上使用了就会不存在。......

2022-07-27 22:14:49 1600 2

原创 【SpringBoot】异步执行,设置某些异步任务优先执行

前提: @Async 注解可以实现异步功能,但是如果想让其中一些异步任务先于一些异步任务执行,那么这个注解就实现不了了。参考大神文章:这篇文章,需要大显神通解决思路:为使用这里的配置基本和使用注解时配置线程池的无异,就是使用了去为在等待队列中的线程设置优先级。调试和输出结果String类型任务优先级高,List类型任务优先级低输出结果:可见List任务在最后执行完成......

2022-06-14 16:20:47 1661 1

原创 【JAVA】用二维码生成工具,取出无法联网电脑的文件内内容

背景内网环境开发,内外网不互通,想拿东西进出都得申请,有时候写代码时总结了一些帮助开发的工具类,想拿出来做点笔记方便后续的使用,但是由于内网原因,只能再敲一遍代码,这属实是很难受,由于内网仓库二维码开发工具包都有,所以就有了将文件生成二维码再手机扫码拿出文件的想法。实操(完整类在文末)所需jar包<dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</art

2022-04-27 22:46:48 802

原创 【Database】动手捣鼓一下MySQL并发问题:脏读、幻读、不可重复读

MySQL脏读、幻读、不可重复读问题演示建测试表和数据create table show_me_problem( id int auto_increment, price int null, location varchar(256) null, constraint show_me_problem_pk primary key (id))comment 'mysql并发问题演示表';insert into show_me_problem values (1,1,'第一条');i

2022-04-19 23:18:11 661 1

原创 【Linux】docker login 明明账号密码正确,但还是登陆不上问题记录

登陆时要用账号登陆,不要使用邮箱!!!!

2022-03-29 23:12:06 2383 1

原创 【Linux】M1芯片MacBook上制作xxl- job镜像并在aarch64的CentOS7虚拟机上运行,并制作镜像push到Dockerhub

aarch的cnetos7上的xxl-job镜像的制作,并push上Dockerhub

2022-03-29 22:55:53 2378 6

原创 【JAVA】使用流进行树形数据构造

使用Java8的流进行树形数据的构造

2022-03-17 19:01:28 506

原创 【Linux】Shell学习向一个sh文件写入内容并执行

文章目录Shell学习向一个sh文件写入内容并执行本次学习最终效果描述最终代码代码描述第一段第二段第三段知识补充上述if语法说明补充for循环补充while循环补充case语句Shell学习向一个sh文件写入内容并执行本次学习最终效果描述执行check.sh将向test.sh中写入命令并执行最终代码check.sh#!/bin/bashfile="null"#接受参数while getopts f: OPT; do case ${OPT} in f) echo "in==

2022-01-15 20:21:46 3170

原创 【Linux】设置时区、开机同步时间

设置时区开始是这样的通过命令 sudo timedatectl set-timezone 'Asia/Shanghai'设置并重启即可看到如下结果想修改成特定时间date -s "2021-12-16 10:12:12"保存设置hwclock --systohc同步时间yum install -y ntpdate后面的ntp.api.bz 如果不行就换一个ntpdate -u ntp.api.bz设置开启自动同步网络时间vi /etc/init

2021-12-19 16:15:11 1178

原创 【Linux】服务器安装使用FTP(安装,创建用户,使用windows连接)

安装1. 检查是否安装了vsftpd,如果安装了会显示对应信息的rpm -qa|grep vsftpd2. 没有的话下面开始安装yum -y install vsftpd#开机启动systemctl enable vsftpd.service创建用户及配置1. 创建用户# 创建用户useradd -d /home/testFtp -s /sbin/nologin -g ftp -G root testUser# 设置密码 我设置的是 Test@123passwd testUs

2021-10-11 22:45:04 644

原创 【Mybatis】Mybatis调用带有in和out的存储过程

Mybatis调用带有in和out的存储过程测试表CREATE TABLE `demo_test` ( `ID` varchar(64) NOT NULL, `name` varchar(64) DEFAULT NULL, `age` varchar(64) DEFAULT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `DEMO_TEST_ID_uindex` (`ID`));CREATE TABLE `demo_test2` ( `other

2021-08-13 15:31:28 1222

原创 【JAVA】基于commons.compress的压缩文件以及文件夹的工具类记录

依赖<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>1.20</version></dependency>代码import org.apache.commons.collections.CollectionUtils;imp

2021-08-05 18:56:39 987

原创 【JAVA】java8常用函数式接口示例

位于java.util.function的函数式接口,单个使用方法都大同小异,难的是将多个混合使用。Supplier只有输出Supplier<String> stringSupplier = () -> "supplier输出String";System.out.println(stringSupplier.get());Consumer只有输入Consumer<String> stringConsumer = (a) -> { System.out.p

2021-08-04 11:43:00 241

原创 【Database】Oracle分隔数据,及用指定字符连接数据

操作Oracle将逗号分隔的字符串转成列装显示'A,B,C,D,E'为你的字符串,[^,]+中的逗号是你的字符串分隔字符,其他不用变。SELECT REGEXP_SUBSTR('A,B,C,D,E', '[^,]+', 1, rownum) testfrom dualconnect by rownum <= LENGTH('A,B,C,D,E') - LENGTH(regexp_replace('A,B,C,D,E', ',', '')) + 1Oracle把上面转成列显示的内容再转回

2021-07-30 15:38:02 586

原创 【MySQL】MySQL存储过程从一张表查数据插入另一张表

测试表CREATE TABLE `demo_test` ( `ID` varchar(64) NOT NULL, `name` varchar(64) DEFAULT NULL, `age` varchar(64) DEFAULT NULL, PRIMARY KEY (`ID`), UNIQUE KEY `DEMO_TEST_ID_uindex` (`ID`));CREATE TABLE `demo_test2` ( `other_info` varchar(255) DEF

2021-07-27 15:03:34 2385

原创 【Maven】mvn install打包让其包含源码注释

<build> <plugins> <!--生成doc jar包--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId>

2021-07-27 13:34:20 1789 1

原创 【Database】虚拟机centos7安装Oracle12c数据库,以及创建用户使用PLSQL或者Navicat连接

准备工作为了方便学习,下面,否则奇奇怪怪的问题会层出不穷。1. 防火墙关闭防火墙systemctl stop firewalld.service禁止防火墙开机启动systemctl disable firewalld.service查看防火墙状态systemctl status firewalld.service2. 禁用SELINUX编辑文件vi /etc/selinux/config找到指定行修改改行为:SELINUX=disabled3.依赖安装直接全部复制粘贴就行

2021-07-25 21:13:36 813 5

原创 【Git】用到的git命令记录,防止忘了到处找

git config --global user.name "用户名" 配置全局用户名git config --global user.email "邮箱" 配置全局邮箱git config --list 查看配置git config --global --unset user.name "用户名" 删除配置的用户名git config --global --unset user.email "邮箱" 删除配置的邮箱git config --global --replace-all us

2021-07-23 13:39:46 92

原创 【JAVA】抽象类的使用,以及对比接口总结不同点

抽象类的使用抽象类public abstract class AbstractMethod { //子类都要要重写的方法, public abstract String write(); //子类不需要重写这个方法,但都可以调用, //这里可以是所有子类的公共相同方法 private String a = "我直接牛逼"; public String allWrite() { return a; }}子类1public cl

2021-07-05 22:43:43 92

原创 【Spring Boot】Spring Boot在项目启动后,预留接口,在不重启项目情况下修改数据库连接信息。

背景我将项目部署完成之后,突然发现我数据库连接用的本地的127.0.0.1,但是很明显我部署上服务器它就应该用服务器上的数据库,就此我就可以在代码上修改一下重新部署,但是!我比较懒,万一哪一次又忘了,那我不得再来一遍?所以就打算预留接口,传参修改,当然也可以配字典啥的。。。不多BBpom.xml<!--mysql--><dependency> <groupId>mysql</groupId> <artifactId>mys

2021-06-21 22:53:29 901 3

原创 【JAVA】基于ObjectMapper的Json操作工具类记录

import com.fasterxml.jackson.core.JsonParser.Feature;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.*;import java.util.ArrayList;import java.util.Li

2021-06-09 22:42:14 483 1

原创 【JAVA】将分散于多个文件夹的文件汇集于同一个文件

场景话不多说,直接上图.不难看出,如果这是一个班级的同学所有文件夹,现在我需要将他们上传的视频作业汇集到一个文件夹里面,那我需要一个个点进去剪切,这很显然就很瓜皮。 这时候一串简单的代码就可以解决这个问题。代码import java.io.File;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.ut

2021-06-06 16:55:38 537 1

原创 【Spring】程序启动时为某个类中的静态变量赋值

背景在某个场景下,一个类中不能使用@Value去获取配置文件中的值,我的想法是在启动时去读,并且赋值给该类中定义的静态值,以解决这个问题。代码待填充数据的类public class Test { public static String PARAM; public static String PARAM2; ......................... .........................}填充数据的类public class ConfigR

2021-05-30 13:23:43 597

原创 【MySQL】存储过程初体验(MySQL)

存储过程初体验(MySQL)1. 什么是存储过程?存储过程可以封装SQL语句集,可以用来完成一些比较复杂的业务逻辑,并且可以出参和入参(这也就是为什么Java代码可以直接传参调用存储过程,完成一批操作的原因。)2. 存储过程的优缺点优点在生产环境下,可以实现不修改代码就可以修改业务逻辑,并且不需要重启服务器。执行速度快,存储过程会比分散开的一条一条的SQL语句执行快。缺点调试不方便,你要想,如果是JAVA代码实现的,打断点调试多方便,存储过程你并不能打断点。迁移数据库就需要重新编

2021-05-20 23:32:22 168

原创 【JAVA】List常用移除、过滤、去重、flatMap、peek等操作

List常用移除,过滤,去重操作,flatmap,map,collect

2021-05-07 15:19:11 5969

原创 【JAVA】Optional优化if判空长龙

Optional为什么要有这个?先来看个例子,思考一下会输出null还是报错呢?public class TestOptional { public static void main(String[] args) { OptionTest optionTest = new OptionTest(); System.out.println(optionTest.getInnerParam().getInnerInnerParam().getParam());

2021-05-04 16:56:09 966 1

原创 【JAVA】如何突出一个有很多属性的对象的重点属性?

传统写法首先,我们有一个Param对象,他有9个参数,当我们new出它的时候通常会有两种写法:public class BuilderTest { public static void main(String[] args) { //写法一 Param param = new Param("1", "2", "3", "4", "5", "6", "7", "8", "9"); //写法二 Param param1 = new Pa

2021-04-30 15:26:07 161 1

原创 【Spring】@Order(100)和@Order(100)的两个Filter谁会先执行呢?

今日闲来无事突发奇想,平时写Filter都想着把谁放谁前面,谁放谁后面,那么如果他俩撞了会咋样呢?说干就开干 =.= 随便新建个Springboot项目新建两个过滤器第一个@Componentpublic class FirstFilter implements Filter, Ordered { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletRespons

2021-04-15 22:20:58 2170

原创 【OAuth2.0】我该如何选择使用的模式呢?

翻译自:这里OAuth2.0术语资源所有者:可以授予受保护资源的最终用户。客户端:代表资源所有者请求访问受保护资源的应用程序。资源服务器:持有受保护资源的服务,也就是你要访问的api接口。授权服务器:认证资源所有者以及在获得正确的认证之后颁发access_token的服务。用户代理:是一种被资源所有者去和客户端产生交互的代理(例如浏览器)。客户端是资源所有者吗?第一个决定点是需要访问资源的一方是否是一台机器。在机器对机器授权的情况下,客户端也是资源所有者,因此不需要最终用户授权。一个例子

2021-04-12 15:20:21 171

原创 【Database】Mysql更新数据库操作时产生的死锁问题(Deadlock found...)

Mysql更新数据库操作时产生的死锁问题(Deadlock found…)Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Deadlock found when trying to…产生问题代码MybatisPlus的写法,.eq类似于Where后的语句。 @Override public void updateProgrammeUser(Long userId, String

2021-02-23 20:09:59 1869

CentOS7_64位-Mini.zip

备着备着

2021-10-24

空空如也

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

TA关注的人

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