自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xupengbo527的博客

小白入门

  • 博客(76)
  • 资源 (11)
  • 收藏
  • 关注

原创 获取钉钉群的 chatId

在代码发钉钉的地方找到 corpId。填上后,会出现一个二维码,使用钉钉扫描二维码,就会出现你所在的群,点击,就能获取到 chatId。

2024-04-17 14:41:13 125

原创 vagrant 安装虚拟机,docker, k8s

本机是 mac, 但是这一步不影响,找对应操作系统的安装方式就行了。

2024-04-16 23:55:43 921

原创 手写spring-mybatis(一文搞懂spring如何引入mybatis)

所以只要factoryBean是单例的,我们getObject()获取的对象也是单例的,因为后续获取getBean(factoryBean)的时候,都是走的缓存。但是实现了factoryBean的类是在容器中的。原因很简单,就是DogAppleMapper 没有实现类,在spring 找到注入点的时候,因为没有对应的实现类,所以生成不了对应的BeanDefinition,所以就会报错 NoSuchBeanDefinition。巩固一下这个流程,Spring启动过程中,对Bean的初始化大概的过程是。

2023-11-22 20:46:29 374

原创 java数组快速排序

高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放...

2022-11-03 10:39:24 1229

转载 解决elasticsearch无法外网访问问题

1

2022-07-15 15:02:36 4561 1

原创 Java使用ttf字体下载网站

亲测很好用的ttf下载地址,保存备用

2022-07-06 16:22:55 1379

原创 盛最多水的容器算法

题目描述给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。题目分析:step 1

2022-04-18 16:10:50 296

原创 链表实现 Z 字形变换

题目:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如给定字符串 PAYPALISHIRING 行数为4的时候排列图如下。然后再再逐行读取拼接成 PINALSIGYAHRPI题目分析:通过上面的excel我们可以看出和坐标轴很像,一个是X轴,一个是Y轴。step 1: 拆分多个单元。处理一个单元,剩余单元采用递归的形式处理。step 2 : 每个单元的元素个数是: int eachUnitElementCount = n

2022-04-15 13:50:05 158

原创 最长回文子串

什么是回文?回文就是顺序念和倒叙念都是一样的。比如 aba, abccba.实现理论分析step 1 :基准点往左走的值和往右走的值是一样的。如果不一样了,就不是回文了。角标2和角标4 都是c。角标1和角标5 都是b角标0和角标6 都是 a.这个回文是 abcccba.step 2 : 定位基准点。。如果基准点附近都是相同的元素,那么基准点就是这些相同的元素。如下图所示. 基准点角标是2的时候。----------》往左看角标1的值是b. 所以基准角标的left值 2.-----

2022-04-14 14:42:46 101

原创 无重复字符的最长子串

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。(比如 [sss ------> 1] [pdd------> 2] [abcabcbb ------> 3])主要思想是滑动窗口:实现代码1:(不借助map)public class Solution{ public int subStringLength(String s){ if(s == null || s.length == 0){ return 0; } char.

2022-04-12 22:01:57 149

原创 使用链表实现队列

链表一般场景下是无界链表,下面的算法也是无界链表。public class QueueNode{ /** 头节点 **/ private Node head; /** 未节点 **/ private Node tail; /** 临时节点,可不要。为了好理解 **/ private Node tempNode; public QueueNode(){ /** 增加哨兵节点,好处理 **/ head = new Node(); } /** 进入队列 **/ publi

2022-04-11 14:45:48 1233

原创 数组实现队列

public class QueueArray{ /** 数组 **/ private String[] arr; /** 数组容量,队列就是在该数据上实现的,这个n标识的就是数据的大小。 和要实现的队列关系不大 **/ private int n; /** 队列的开始角标 **/ private int head = 0; /** 队列的末尾角标 **/ private int tail = 0; /** 创建原始数据 **/ public QueueArray

2022-04-08 12:08:59 106

转载 GC日志中的Metaspace参数说明

附图,JVM GC日志如下:那么在metaspace 那一行的used, capacity,committed, reserved分别代表什么意思呢?盗图如下:used: 加载的类的空间量 capacity: 当前分配块的源数据空间 committed: 空间块的大小 reserved: 元数据的空间保留的量(并不一定是提交)Metaspace是由一个或则多个虚拟空间组成,虚拟空间的单位是Chunk.当使用一个classLoader去加载类的时候,执行过程如下:当..

2021-08-30 11:59:24 1550

原创 java一个对象在JVM中占用多少堆内存

首先,我们知道的是每一种数据类型所占用的字节数。比如Integer占用4个字节,Long占用8个字节等。但是实际我们在创建对象的时候,在JVM中的占用的字节数是比这个高的。一个对象在JVM中的内存布局包含以下内容:对象头(Header): 对象头包含两类信息,第一类是用于存储对象自身的运行时数据,如哈希吗,GC分代年龄,锁状态标志,线程持有的锁,偏向线程ID等。 如果JVM是64位,则这部分占用 8个字节,如果JVM是32位,这部分占用4个字节。另外一部分是类型指针,对象指向它的类型源数据指针, JV

2021-08-19 14:55:56 959

原创 MAC下使用Jconsole

Jconsole是JDK自带的分析JVM的工具,在Mac中的具体使用方式,如下:命令打开 vi ~/.bash_profile 找到 Java 的路径。cd 到该路径下。命令 open . 打开finder 访达。点击jconsole,运行。输入你机器的IP。 端口号是 -Dcom.sun.management.jmxremote.port=9123 (启动命令中这个配置的就是监控端口号)。没有用户名和口令的时候连接就好。...

2021-04-19 16:37:04 1983

原创 Mac 安装MAT工具

下载 MAT 工具。https://www.eclipse.org/mat/downloads.php打开MAT工具。报错了google了很久这个报错,大部分都在说需要在 MemoryAnalyzer.ini 中加 -data参数,我试了半天,权限问题也没搞定。 后台我的解决办法是:如下图。添加到程序坞中后,在application中直接就能打开了。也没有配置-data参数。打开后就如下图所示。完成...

2021-04-17 22:58:08 799

原创 查看java对象在内存中的大小

引入maven依赖 <!-- 计算对象占用内存大小 --> <dependency> <groupId>com.carrotsearch</groupId> <artifactId>java-sizeof</artifactId> <version>0.0.5</version> .

2021-01-07 16:38:37 656

原创 maven-enforcer-plugin报错排查

今天使用mvn compile的时候项目报错:Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (enforce) on project tnotice-client: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed.一时间陷入了懵逼状.

2020-12-25 15:20:45 2493

原创 java读取excel大文件

在读取excel大文件的时候就不能再使用poi包下面的Workbook类,会造成OOM等问题。我们常见的excel分为xlsx格式和csv格式。分别实现一下。xlsx格式处理。需要的pom依赖: <dependency> <groupId>xerces</groupId> <artifactId>xercesImpl</artifactId> <version>2.9.0</version>

2020-12-21 20:54:22 5854 6

原创 idea上多次commit合并

开发过程中,我们常常会遇到多次commit的情况,这样我们在push到远程仓库的时候会展现的不太雅观。我们需要把多次相同需求的commit合并成一个。如下图我们,我们commit了两次,commit message都是11111.我们右键第一次commit的记录选择下图中的选项把你需要合并的commit 的action更改为squash这样就完成了多次commit合并一次commit,并且commit message可以重新填写...

2020-12-11 19:48:58 4798

原创 springboot引入外部jar包的坑

首先。外部的jar包如果可以放到私服,就先选择放到私服中。如果jar包在本地,我们一般引入的方式是 <dependency> <groupId>ai.advance</groupId> <artifactId>sdk</artifactId> <version>1.0.0</version> <scope>

2020-11-12 17:29:50 298 2

原创 AQS源码笔记

AQS简介AQS 的全称为(AbstractQueuedSynchronizer),这个类在 java.util.concurrent.locks 包下面。AQS 是一个用来构建锁和同步器的框架,使用 AQS 能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的 ReentrantLock,Semaphore,其他的诸如 ReentrantReadWriteLock,SynchronousQueue,FutureTask(jdk1.7) 等等皆是基于 AQS 的。当然,我们自己也能利用 AQS

2020-09-25 14:29:42 126

原创 springcloud+seate+mybatisplus基础框架搭建

使用阿里的seate实现分布式事务的实现。注册中心使用eureka.远程调用使用feign。请自行搭建分布式系统。1. 下载seate项目。下载地址:https://github.com/seata/seata/releases最新版本是1.3.0下载之后需要改动conf目录配置文件registry.conffile.conf文件我们采用的是默认配置,这个地方不需要修改。在bin文件夹下启动seate服务2. 配置数据库表首先创建seate所需要的undo_log表。(涉及到项

2020-09-11 15:14:00 2108

原创 有序数据的去重(返回去重后的长度)

要求:给出数据[1,1,1,2,2,3,4,5,5,6,7,8],更改为[1,2,3,4,5,6,7,8,x,x,x,x],并且得出长度8.在原数据上操作,只遍历一次,x是不需要关心的数据。直接上代码public int del(int[] arr) { if(arr == null || arr.length == 0){return 0;} //设置快慢指针的方法 int slow = 0, fast = 1; while(fast

2020-08-27 15:06:10 327

转载 使用dockers启动springboot项目,查看日志

创建一个能够正常启动的是spring boot项目。在pom 文件中添加插件<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> .

2020-06-22 20:53:50 3182

原创 mybatis的@Select条件判断

使用mybatis的@Select注解的条件判断的时候遇到一个问题刚开始的写法是@Select("<script>" + " select id as id" + " from `repayment_plan` " + " where " + " state = 'OVERDUE' " + " <if test='collectionUserId != null

2020-06-08 14:05:10 15593

原创 数组转成链表(正序,逆序)

给定数组:[1,2,3,4,5,6,7,8].转成链表结构第一种方法,正序循环数组:1.设置哨兵节点2. 把哨兵节点sentineNode赋值给一个临时节点tempNode.循环数据1 进来的时候,建立一个新的节点newNode,赋值为1.3. 需要注意的是,哨兵节点sentineNode现在是整个链表的head节点.然后我们把临时节点指向newNode.我们遵循上面的步骤即可。代码如下: @Data public class Node { int val;

2020-05-28 14:46:11 3245

原创 commit/push的代码提交到另外一个分支

开发过程中会出现把代码提交到了错误的分支上,此时不需要再全部复制,粘贴。假设我们应该把代码提交到dev分支,但是应该提交到了 dev2上。我们先把dev2拉到最新代码。我们先找到提交日志。然后我们执行 commit push 即可。...

2020-05-21 13:48:17 1822

原创 多线程依赖问题

遇到一个面试题:3个线程A,B,C存在依赖关系,B依赖A执行结束,C依赖B执行结束,请设计实现。具体实现如下:首先,创建一个锁对象:@Datapublic class LockFlag { private int flag = 0;}线程A的实现代码public class Ajob extends Thread { private LockFlag lockFl...

2020-04-30 22:44:54 1464

原创 通过例子理解多线程死锁

多线程死锁通过一个例子引入死锁的概念。古代钱庄,通过手写记账记录账户余额,现在客户A用一个账本A,客户B有个账本B,这些账本统一放在文件架上。现在来了一个客户 需要从A账户装500到B账户。这个时候柜员拿账本的时候会有以下情况:A,B账本都在文件架上,柜员全部拿走。文件架上只有A账本,柜员拿走,并且等待其他柜员把B账本送过来。转出账本A与转入账本B都不在文件架上,柜员等待其他柜员送过...

2020-04-17 14:34:10 153

原创 并发的源头:可见性,原子性,有序性

并发的源头可见性原子性有序性共享数据可见性可见性是由于CPU的高速缓存导致的,当线程A操作内存上的变量时,存到CPU缓存中的,当线程B去拿数据时候,不能够读到线程A CPU缓存数据 ,导致结果不一致。该问题为可见性问题可见性的 解决方案是,在共享变量上加 volatile关键字原子性原子性是由于CPU的时间切片导致,当一个共享变量count = 0,执行代码count +...

2020-04-16 14:29:54 153

原创 使用docker安装gitLab

使用docker安装gitLab步骤。使用dockers 拉gitLab镜像。 docker pull gitlab/gitlab-ce启动gitLab docker run --detach --hostname 你本机的IP地址 --publish 443:443 --publish 80:80 --publish 222:22 --name gitlab --resta...

2020-03-03 12:59:10 230

原创 查询自己的公网IP

打开浏览器,输入 ip.cn 如下图所示

2019-10-18 11:09:12 910

转载 QuartZ Cron表达式

转载:https://www.cnblogs.com/sunjie9606/archive/2012/03/15/2397626.htmlCronTriggerCronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“...

2019-08-26 14:46:53 143

原创 idea commit后撤销方法

使用idea过程中,commit错误内容,需要撤销。撤销命令: git reset --mixed HEAD^操作后,可以撤销下图已经commit的内容

2019-08-22 15:18:17 3297

转载 Spring缓存注解@CachePut , @CacheEvict,@CacheConfig使用

**本文转载:https://www.cnblogs.com/OnlyCT/p/7845660.html#t1目录@Cacheable@CachePut@CacheEvict@CacheConfig@Cacheable@Cacheable是用来声明方法是可缓存的。将结果存储到缓存中以便后续使用相同参数调用时不需执行实际的方法。直接从缓存中取值。最简单的格式需要制定缓存名称。例如:@...

2019-08-06 16:39:52 251

原创 spring-data-redis序列化配置

import com.fasterxml.jackson.annotation.JsonAutoDetect;import com.fasterxml.jackson.annotation.PropertyAccessor;import com.fasterxml.jackson.databind.ObjectMapper;import org.springframework.cache.C...

2019-08-05 15:28:25 1183

转载 docker基本教程(适合新手)

https://www.runoob.com/docker/docker-tutorial.html

2019-07-30 15:54:05 106

转载 mybatis-plus-generator代码生成器

需要添加依赖: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>2.3</version> ...

2019-07-03 16:46:27 8754

原创 git账户名(查看,修改)

1.查看用户名和邮箱地址$ git config user.name$ git config user.email2.修改全局用户名和邮箱地址:$ git config --global user.name "username" $ git config --global user.email "email" 3.修改局部用户名和邮箱地址:$ cd ~/you proj...

2019-05-17 11:47:52 6490

MAT工具mac版本-亲测好用

MAT工具mac版本-亲测好用

2022-09-27

accountjson.txt

elsaticsearch 权威指南

2022-01-27

mybatis_plus 3.0以后版本代码生成器

该版本是mybatisplus3.0以后的自动生成代码的工具,包含vo,dto,domain,service,controller,dao

2020-04-24

MabatisPlusGenerator.java

mybatis-plus-generator自动生成xml,dao,entity,service,controller。注释清楚,下载执行。需要添加下面依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> </dependency>

2019-07-03

HttpClientUtil

http的post与get请求的工具类,里面含有所用到的依赖,有问题请留言

2018-12-06

xshell破解版

xshell破解版,里面含有破解码,如果不好用,请给我留言

2018-12-05

class反编译工具(jd-gui)

java反编译工具,更够让乱码的class文件,反编译为java文件,便于查看

2018-12-05

sourcetree代码版本管理

sourcetree是管理代码版本的一个工具,界面更清楚。含破------解

2018-12-05

AES对称加密工具类

AES对称加密工具类,本工具类已经测试通过,不需要额外依赖,直接copy即可使用

2018-09-18

代码生成工具generator.xml文件

generator是自动生成代码的工具。可以生成实体类,xml文件,dao层代码。具体的生成方法,个人博客里面有基本文章。谢谢。

2018-01-04

kafka基础代码实现

kafka实现的基本代码,包括客户端是服务端。代码运行的时候请务必保证运行环境已经搭好。

2018-01-02

springMVC所需要的jar包

springMVC框架全部所需要的jar包,需要的可以下载使用。springMVC框架全部所需要的jar包,需要的可以下载使用。

2017-10-13

空空如也

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

TA关注的人

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