自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 问答 (38)
  • 收藏
  • 关注

原创 mysql,使用jpa配置mysql动态数据源Demo案例

gitee地址

2024-07-31 16:46:02 313

原创 记一次restTemplateheaders失败问题

问题记录

2024-05-07 23:17:17 248

原创 常用Java开发规范整理

POJO 类属性必须使用包装数据类型定义 DO/DTO/VO 等 POJO 类时,不要设定任何属性默认值。构造方法、set方法,get方法里面禁止加入任何业务逻辑。

2023-11-29 14:45:47 559

原创 在虚拟机单机环境搭建Kafka集群

zookeeper需要java运行环境。

2023-10-13 14:30:24 475

原创 Kafka进阶

Kafka的幂等性是指生产者在发送消息时,可以保证同一个消息不会被重复写入到同一个分区中,即使发生了网络错误或者重试;自行实现Partitioner接口,自定义分区策略。

2023-10-13 14:29:54 1220

原创 Kafka基础入门

kafka可以由多个消费者构成一个消费组去消费topic。topic的分区会根据消费策略均匀的分配给消费组中的每个消费者。

2023-10-13 14:28:47 1227

原创 【无标题】

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>甘特图</title> <script type="text/javascript" src="echarts.min(1).js"></script></head><body><!-- 为ECharts准备一个具备

2023-08-09 10:46:54 128

原创 CompleteFuture异步处理和多线程异步处理有什么区别

CompleteFuture是Java SE 8中新增的一个异步处理工具类,它可以将一个异步的操作封装为一个Future对象,并允许你设置一个回调函数在操作完成后执行。而多线程异步处理是通过创建线程来执行并行任务,以达到异步处理的效果。可以看到,使用 CompleteFuture 可以通过 thenAccept() 方法来设置异步操作完成后的回调函数。这个回调函数将在指定的线程池执行,参数是异步操作的返回值,而且不会阻塞主线程的执行。两者的区别在于实现方式不同。

2023-05-12 11:05:18 2155 1

原创 普通的项目非分布式项目中的技术点思考(学习随记)

在学习Java的路程中,最开始学习JavaSe,在Java基础学完后,开始接触JavaWeb,开始接触框架,Spring框架,SpringBoot框架、数据库框架、在学习一下中间件,就可以完成工作中crud的基础操作,去实现功能了。但如果一直crud,就无法进步,下一步,就应该更近一步的去学习。设计模式、代码重构、架构设计、技术选型等等,需要不断深入学习。有时候做的项目可能并不会涉及分布式,可能就是一些业务,但可能在业务上,也有值得去思考、去深入学习的地方。

2023-05-12 10:47:02 257

原创 SpringBoot 动态数据源配置(附带可执行Demo)

spring动态数据源,含完整demo,demo跑一遍基本都能明白

2022-10-28 23:21:01 4098 1

原创 windows换行符导致的异常( $‘\r‘: command not found 异常)

Windows换行符和Linux不一致导致的脚本运行错误问题

2022-10-26 12:53:39 1527

原创 maven依赖传统导致的 java.lang.NoClassDefFoundError和ClassNotFoundException产生原因以及解决方法

问题记录

2022-09-26 23:47:51 3107

原创 记录一次Maven依赖传递,模块之间依赖版本不一致问题

记录一次模块之间互相引入,版本号不一致问题

2022-09-15 22:00:35 4947 4

原创 Mysql之分组查询,Group By,Group Having的用法

mysql group by 和having的使用方法总结

2022-09-10 13:59:23 5792 1

原创 Mysql中DQL(查询类)语句的执行顺序

MYSQL的查询语句执行顺序

2022-09-08 16:31:55 521 3

原创 ArrayList作为ArrayList的泛型值时,HashSet去重问题

ArrayList作为ArrayList的泛型值时,HashSet去重问题

2022-09-06 22:35:42 570

原创 Arrays.asList()的那些坑

使用Arrays.asList()时需要注意的事项

2022-09-05 22:28:10 2443 3

原创 根据一个数组,构造一个二叉树--Java实现

数组生成二叉树

2022-08-21 12:36:12 662

原创 二分查找-一种效率较高的查找方法

二分查找是一种相比于逐个查找,性能更加优秀,时间复杂度更低的一种算法。二分查找的思路是,对一个,确定查找区间的左右边界,再根据左右边界,计算出中间的值,再和中间值进行比较,如果左边界大于中间值,左边界向右移动到中间值+1的位置,反之右边界移动的中间值左边的位置。首先左边界left是0,右边界right是5,mid中间值计算公式是:**(right-left) / 2 + left **= (5-0)/2 + 0 = 2.5,向下取整为2。...

2022-08-11 23:07:39 709

原创 NIO之Selector执行流程

selector单从字面意思不好理解,Seletor是一个监听器,它可以监听Channel中发生的事件。Channel可以注册在Seletor中,当这些注册的Channel在事件发生时,Seletor的select方法就会返回这些事件交给thread来处理。font-size16px;fill#333;#552222;#552222;stroke#552222;2px;3.5px;0;3;2;#333333;stroke#333333;#333333;font-size16px;...

2022-07-30 23:07:30 283

原创 AtomicInteger详解

AtomicInteger类是系统底层保护的int类型,通过对int类型的数据进行封装,提供执行方法的控制进行值的原子操作。AtomicInteger它不能当作Integer来使用从JAVA1.5开始,AtomicInteger属于java.util.concurrent.atomic包下的一个类。...

2022-07-30 23:06:23 8735 5

原创 NIO基础之三大组件

channel有一点类似于stream,它就是读写数据的,可以从channel将数据读入buffer,也可以将buffer的数据写入channel,而之前的stream要么是输入,要么是输出,channel比stream更为底层。channel是有类型的,一个string的channel只能存放string类型数据。可以通过Buffer作为容器,往Channel中取出数据或者添加数据。如果Channel是一个水缸,那Buffer就是打水的瓢。...

2022-07-30 23:05:13 101

转载 一次线上事故,我顿悟了异步的精髓

学习需要一层一层递进的思考。第一层什么场景下需要异步大量写操作占用了过多的资源,影响了系统的正常运行;写操作异步后,不影响主流程,允许适当延迟;第二层异步的外功心法本文提到了四种异步方式线程池模式本地内存+定时任务MQ模式Agent服务+MQ模式它们的共同特点是将写操作命令存储在一个池子后,立刻响应给前端,减少写动作的耗时。任务服务异步从池子里获取任务后执行。第三层异步的本质在笔者看来,异步是更细粒度的使用系统资源的一种方式。httpshttps。......

2022-07-21 22:18:08 157

原创 根据二叉树的中序和后续遍历,求树的前序遍历(附Java代码实现)

根据树的中序遍历和后续遍历求前序遍历

2022-07-17 23:00:27 1365 2

原创 在匿名内部类中访问局部变量

匿名内部类访问局部变量注意事项

2022-07-13 22:34:22 3605 3

原创 ArrayList源码解析

ArrayList源码解析

2022-07-13 08:09:23 169

原创 设计模式之单例模式

单例模式的几种实现方式

2022-07-06 21:32:01 103 1

原创 Thread和Runnable创建线程的方式对比

Java线程创建的区别

2022-07-03 17:17:09 509 10

原创 Java SSLSocket客户端认证配置

SSL证书的格式有很多,有.p12证书,.crt+.key证书,还有.jks证书,网上大多数案例都是基于.jks证书去实现认证,如果你的证书类型是.p12证书或者是crt证书,你可以手动把p12证书转换成jks证书,如果你是crt证书,下面会提供一个crt证书转换成jks证书的方法。SSLSocket相关类介绍SSLContext:SSLContext类可以创建SSLSocket实例,在这个类中配置自己的证书和自己所信任的证书。KeyManagerFactory:加载自己的证书文件,并且生成KeyMan

2022-06-08 21:28:16 1855 5

原创 用代码来过端午节---基于HTML的端午节划龙舟小游戏

作为程序员,虽然可能并没有机会去实时实地滴去试一试划龙舟,但我们还是得发挥一下我们的技术,就来简单的做一个基于HTML+CSS+JS的划龙舟小游戏吧。说干就干!css代码js代码二、运行一下吧我们可以通过键盘操作龙舟左右移动,躲避障碍物,最后计算出碰撞前的最后得分。很简单的一个html小游戏,直接复制代码,运行一下试试看吧!...

2022-06-03 17:12:41 3452 19

原创 记录一次换行符引起的bug

在学习java以来,一值都把\n当作换行符,偶尔看见有的地方换行符是\r\n,也没有去在意。但在一次项目中,我需要去向一个接口请求一个证书,然后再把这个证书的字符串,封装首尾,存在一个文件。证书大概是下面这样。我请求接口获取的是中间的字符串,而第一行和最后一行是手动添加的。代码如下:这个证书是crt格式的,我还需要用openssl把这个crt证书转成p12证书。结果我执行转换命令的时候,结果如下:提示找不到证书,后来我把这个证书的内容复制到其他文件,再去执行,居然又能解析了。想不通为

2022-05-30 21:55:27 380

原创 HTTPS加密原理,搞懂什么是对称加密、非对称加密、证书、数字签名

HTTPS加密原理,搞懂什么是对称加密、非对称加密、证书、数字签名

2022-05-11 18:18:06 5699 71

原创 Java修饰符访问权限介绍

Java中有4中访问权限修饰符,可以用来修饰类,修饰方法,修饰变量,下面来介绍Java中主要的4中访问修饰符。假设有如下类,四个变量用不同的修饰符修饰。1、publicpublic代表公开的,public修饰的类、方法、变量,在项目中任何地方都可以访问。2、protectedprotected修饰符代码受保护的,protected不能用来修饰外部类,只能用来修饰内部类。被protected修饰的资源,只能在同一个类、同一个包、子类(包括同包子类和不同包子类),其他类中无法直接访问被pro.

2022-05-07 19:56:25 747 1

原创 Navicat无法连接Linux服务器,报错2003解决方法

1、问题描述Navicat无法连接Linux服务器,,报错20032、排查检查服务器mysql是否没启动执行mysql -uroot -p,输入密码,成功进入mysql,不是这个问题检查服务器安全组是否放开发现也不是安全组的问题清除防火墙 iptables 规则执行 iptables -F 命令,清除 iptables 规则,成功解决。...

2022-05-04 21:59:49 1143

原创 代码重构之重构过长的参数列表

一个函数,往往都需要接收参数,通过参数去完成某些事情,在<<代码整洁之道>>中,作者提出,一个函数的参数应该尽可能的短,最好只有一个,其次是两个,如果出现三个及其以上的参数,那你应该引起注意了。那么如果拿到一段长参数的函数我们应该怎么办?如何去重构呢?一、过长参数的定义方法的参数过多,或者存在不必要的参数。二、过长参数带来的影响方法不易被理解和使用,方法不稳定,难以维护三、重构方法以查询或者计算取代参数:如果参数列表中的某些参数,可以通过现有的其他参数计算得出,那计.

2022-05-02 22:34:28 730

原创 代码重构之过长函数

在软件开发的过程中,我们为了实现某个功能,往往都要去编译无数的函数,然后把函数组合起来完成功能,但有时候,为了图方便,在一个函数中,写了很长的业务逻辑,导致一个函数的长度超过了我们的显示器,这个时候,就要学会去分析和重构它。一、什么是过长函数定义一个函数包含了过多的逻辑或者过分体现了逻辑功能的实现细节,导致函数产生过长的代码块,简单来说,过长函数就是很长的函数。(听君一席话,如听一席话)影响功能不单一:一般一个函数,最好做到功能单一,也就是一个函数只做一件事,功能单一的函数往往长度都不会太长.

2022-04-29 13:35:32 1628 1

原创 代码重构技巧之重复代码

Idea重复代码重构技巧

2022-04-27 10:19:47 5804

原创 代码重构之神秘命名

聊聊代码中命令的重构手段

2022-04-24 20:42:40 722 26

原创 Java常用的数式接口

在学习lambda表达式的时候,我们知道,要使用lambda表达式,我们就要创建一个函数式接口,那每次用lambda表达式,我们都要去手动创建一个接口,那岂不是很麻烦,这时候,java给我们内置了四大核心函数式接口。1、Consumer : 消费型接口,void accept(T t)Consumer接口代表了接受一个输入参数并且无返回的操作,实例如下:public static void main(String[] args) { Consumer<String> c.

2022-04-17 16:35:09 700 8

原创 都在说云原生?到底什么是云原生?

原来这就是云原生,还以为是有多么的高大上,还好还好,看完也不是那么难理解

2022-04-11 22:40:35 29484 84

mongodb资料,快速上手

mongodb资料,快速上手

2023-12-20

Kafka压缩包和zookeeper压缩包

Kafka压缩包和zookeeper压缩包

2023-06-07

为什么我的idea中为每个git分别配置git信息?

2023-12-25

方法中声明的final变量存在哪里

2022-11-22

请问这个过滤器是做什么的?

2022-11-07

这段代码为什么没有执行while里面的输入就报错了?

2022-09-30

打包方式为pom的工程是不是不能被其他模块导入?

2022-09-15

这个maven坐标的作用是什么?

2022-09-13

为啥这里的输出结果是1呢?

2022-09-06

ifconfig执行,为什么没有找到主机的ip地址

2022-09-06

怎么快速删除文档的数据?

2022-08-30

为什么会有这么多物理地址?

2022-08-24

为什么明明数据库有数据却查不出来?

2022-08-24

kafka这个日志这个是什么意思?

2022-08-13

请问kafka的配置文件1中这两个参数是做什么的?

2022-08-13

CRM系统,ERP系统,Saas系统、OA系统,有什么区别?

2022-07-27

Get请求可以在body里json传值么?

2022-06-07

gaussDB for redis和 redis的区别?

2022-06-04

一条命令需要在控制台确认才会继续执行,怎么取消?

2022-05-30

Java中,一个汉字占两个字节,为什么这里getByte转成字节数组却有3个字节?

2022-05-08

这里为什么会出现ClassNoFound异常,能不能给个提示

2022-04-07

下面这段java代码是什么意思?

2022-04-01

前端通过nodejs调用后端接口,相比于直接调用后端接口,这样有什么好处吗?

2022-03-31

Maven聚合工程,将service,controller,dao配置成模块,而不是包,这样有什么好处?

2022-03-29

Linux如何得到一个软链接指向的文件的文件名词

2022-03-15

Linux中怎么找到对应的字符串在文件中的第几行

2022-03-11

能不能帮我看下这段代码编译器为什么提示错误

2022-03-10

为什么我查出的ip地址不一样?

2022-03-09

linux怎么判断一个变量是包含out还是in

2022-03-09

Linux怎么编写一个读取外部文件的脚本?

2022-03-09

linux的shell脚本,怎么读取外部配置文件呢?

2022-03-08

Linux能不能判断某个目录下是否有名字包含box的文件夹,并得出包含box的文件夹的数目

2022-03-08

linux的shell脚本这么读取另一个文件的内容

2022-03-08

linux这个文件夹为什么背景色不一样呢

2022-03-08

linux如何切割一条命令的字符串?

2022-03-08

能不能给我讲解一下什么是内网地址,什么是公网地址?什么是A,B,C类地址?C类198开头的是内外地址,AB类是公网地址吗?

2022-03-08

如何知道linux中使用rpm命令安装了多少软件?如何去卸载这些软件?

2022-03-07

能把yum下载的软件打包成一个rpm文件吗?

2022-03-07

我用 hostname -I命令查看自己的IP地址,为什么不同的主机查出来的Ip不同?

2022-03-04

为什么我使用ip addr命令没有显示到linux系统的公网IP

2022-03-04

为什么这里要加@MapperScan?

2022-03-01

Linux显示不下数据怎么办?

2022-03-01

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

TA关注的人

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