- 博客(248)
- 资源 (25)
- 收藏
- 关注
原创 springcloud集成seata(AT)分布式事务
找到 seata-1.6\script\server\db\下的mysql.sql文件, 在 seata_1.6 db中执行,生成seata server所需要的表。笔者下载的是1.6版本 seata-server-1.6.0.zip ,加压缩seata-server-1.6.0.zip ,得到seata-1.6.0目。找到 seata-1.6\bin ,执行seata-server.bat (windows) 或seata-server.sh (linux)启动。
2023-02-12 14:54:36
2292
原创 activiti中的服务任务(ServiceTask)
服务任务不同于用户任务(需人工处理),服务任务一般是一段可自动执行的任务而无需人工干预。例如:当用户完成"任务1"后,想自动执行一个跑批任务处理后台数据库表的数据,那么只需要在"任务1"节点后放置一个ServiceTask(需要指定该服务任务所要执行的java类或spring容器的bean) ,当服务任务执行完成后,再继续执行任务2 。服务任务的配置例1:<serviceTask id="servicetask1" name="服务任务" activiti:delegateExpress
2021-11-02 23:52:46
9739
2
原创 xxl-job的http任务和command任务
在官方提供的sample示例代码中,还提供了两种特殊的bean类型的任务http (bean的名称为:httpJobHandler) 和command (bean的名称为:commandJobHandler)。1、xxl-job的http任务在控制台新增一个任务,选择运行模式为:bean,jobHandler的名称为:httpJobHandler ,调度类型:选择无或CRON均可。执行时,填入相应执行参数即可,例如:url:http://tingcream.com/user_aboutU.
2021-08-14 16:38:23
6008
原创 xxl-job任务调度平台
xxl-job是一个著名的开源定时任务调度平台。下面笔者简单地介绍下xxl-job的学习使用。1、下载xxl-job源码git clonehttps://gitee.com/xuxueli0323/xxl-job.git 或者从github下载https://github.com/xuxueli/xxl-job/下载后的源码可以直接用idea打开。2、导入数据库脚本xxl-job的admin监控中心控制台需要依赖一个数据库,我们在使用前需要先将数据库脚本导入。找到...
2021-08-14 16:33:20
1633
原创 java生成图形验证码
1、VerifyCode验证码类import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.Random; /** * 验证码生成器 */ public class.
2021-07-29 17:10:46
481
原创 springboot中集成redis-session实现session共享
1.pom.xml中引入redis-session依赖。<!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency><dependency> ...
2021-07-29 16:45:33
298
原创 springboot中整合pagehelper、mybatisplus(扩展批量插入)
springboot中整合pagehelper、mybatisplus(批量插入) ,需要扩展mybatisplus的BaseMapper。1、pom继承spring-boot-starter-parent:2.1.7.RELEASE2、项目pom.xml中pagehelper及mybatisplus依赖<!--pageHelper 分页插件--> <dependency> <groupId>com.github.pagehelper...
2021-07-29 16:40:36
900
原创 SpringContextHolder直接从spring容器中获取bean
SpringContextHolder直接从spring容器中获取bean创建类 SpringContextHolderimport org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.
2021-07-29 16:29:59
561
原创 阿里云服务器磁盘空间扩容
扩容磁盘空间参考官网文档(阿里云):https://help.aliyun.com/document_detail/113316.htm?spm=a2c4g.11186623.2.5.424b6ee18zO10v#concept-syg-jxz-2hb1、找到云盘--》操作--》云盘扩容 (扩容前最好先创建磁盘快照)2、选择在线扩容--》填写扩容后的磁盘容量大小--》同意协议--》确认支付3、服务器上安装工具软件 (CentOS服务器)yum install -y clo..
2021-07-29 15:47:00
2716
原创 Thumbnails图片压缩处理工具
Thumbnails是google公司开源的图片压缩、处理的工具,可以对图片按大小或比例缩放、旋转、加水印、裁剪等。1、pom.xml引入 <!--图片压缩工具--> <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.12<...
2020-12-21 23:41:48
1447
1
原创 POI批量导入导出excel数据的工具封装
POI批量导入导出excel数据的工具封装一、工具类封装1、pom.xml中引入依赖 <!--poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency>
2020-12-21 23:15:42
1235
原创 阿里云服务器数据云盘挂载
阿里云服务器数据云盘挂载fdisk -l ,发现有一块新的磁盘 /dev/vdb 没有被格式化挂载使用。fdisk /dev/vdb #开始进行分区操作, 接着按m 查看命令帮助按n开始新加分区,再按p 创建主分区输入扇区编号,默认1,直接回车即可输入起始扇区,默认大小2048,直接回车即可输入输入分配的分区空间大小,直接回车表示分配全部可用空间完成了按p,可查看分区结果最后按w,将修改写入分区表,保存退出。cd /devls -l | grep vdb #查...
2020-11-15 08:43:27
640
原创 springboot中自己封装jedisUtil
除了springboot官方提供的redis-starter连接池,有时候我们还需要连接另外一个独立的redis连接池,用来做一些特殊的中心化存储 。(如:用户的统一token信息)下面笔者介绍下,springboot中如果自己封装jedisUtil ,操作redis.1、pom.xml中引入<dependency> <groupId>redis.clients</groupId> <artifactId>jedis&l.
2020-11-15 08:25:38
1062
2
原创 自己封装权限表达式(类似于shiro)用作鉴权
shiro是个不错的权限框架,其中笔者比较感兴趣的是shiro的权限表达式 。有时候我们并不想引入整个shiro框架(显得比较臃肿),而只想使用其中的权限表达式做权限判断。shiro的权限表达式,例如:user ( 等价于 user:*) 表示对user资源有全部操作权限user:add 表示对user资源有add的操作权限user:update 表示对user资源有update的操作权限user:delete 表示对user资源有delete的操作群星*:select 表示对所...
2020-11-04 23:22:49
629
原创 centos7安装vsfptd
Centos7安装vsftpd1、查看系统之前是否安装了vsftpdrpm -qa | grep vsftpd2、 yum安装vsftpdyum install vsftpd3、修改vsftpd配置文件cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak #备份一个vi /etc/vsftpd/vsftpd.conf 修改以下内容:anonymous_enable=NO #禁止匿名账户登录chroo...
2020-10-10 22:20:30
310
1
原创 springboot中集成fastDFS
springboot中集成fastDFS分布式文件存储系统1、pom.xml中引入<dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.27.2</version> </dependency>2、ap...
2020-10-08 19:25:42
515
原创 centos7中安装fastDFS
centos7中安装fastDFSfastDFS是一款开源的分布式文件系统,由阿里巴巴工程师happyfish100在2008年提交开源。fastDFS架构图:更多介绍 ,请查阅官网https://github.com/happyfish100/fastdfs.git一、nginx的tar.gz源码安装yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib zlib-devel op...
2020-10-08 19:20:59
240
原创 springboot中整合JWT Token
springboot中整合JWT Token1、pom.xml中引入<!--jwt token--><dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.1</version></dependency>2、application.yml中配置
2020-10-08 19:13:44
577
1
原创 centos7中安装mysql8
centos7安装mysql81、下载包官网下载https://dev.mysql.com/downloads/mysql/选择oracle linux7 x86_64 ,下载包:mysql-8.0.21-el7-x86_64.tar.gz2、卸载原mariadb软件包rpm -qa | grep mariadbrpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps #rpm卸载mariadb包3、创建mysql用户groupa...
2020-09-29 20:55:38
272
原创 JVM中i++和++i
问:如下java代码,最后a、b的值分别是多少?public class Demo3_2 { public static void main(String[] args) { int a=10; int b = a++ + ++a + a--; System.out.println(a);//? System.out.println(b);//? }}一些有经验的开发人员,可能立马就能得出答案: a最后的..
2020-09-17 07:25:34
510
原创 jvm内存结构基础
JVM内存结构程序计数器、虚拟机栈、本地方法栈、堆、方法区一、程序计数器(Program Counter Register) 程序计数器(pc register)是一块较小的空间(物理上采用cpu的寄存器实现),它可以看作当前线程所执行的字节码的行号指示器。在虚拟机的概览模型中,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。 由于java虚拟机的多线程是抢占式(获取cpu时间片)执行的,在任何一个确定的时刻,一个处理器(对于多核处理...
2020-09-12 00:26:40
270
原创 springboot中整合dubbo2.6(dubbo+hessian双协议支持)
springboot中整合dubbo2.6(dubbo+hessian双协议支持)dubbo官网 :http://dubbo.apache.org/en-us/dubbo文档:http://dubbo.apache.org/zh-cn/docs/user/new-features-in-a-glance.htmldubbo 目前的计划,维护两大版本:2.6.x和2.7.x 。2.6.x 主要以 bugfix 和少量 enhancements 为主,因此能完全保证稳定性。2.7.x..
2020-09-11 20:44:56
2049
1
原创 springboot中使用logback将日志写入到ELK平台
ELK是由elasticsearch 、logstash、kibana三个单词的首字母组成elasticsearch:一款优秀的开源分布式搜索引擎系统logstash:开源的日志分析、过滤、收集工具kibana: ES的图形化用户界面这三款产品都是 ES家族的产物,官网:https://www.elastic.cospringboot中使用logback将日志写入到ELK平台1、pom.xml配置<!--集成 logstash 日志--> ...
2020-09-05 17:30:41
5528
3
原创 springboot中logback日志文件异步写入
logback中的ch.qos.logback.classic.AsyncAppender通过阻塞队列方式,异步写入日志logback-spring.xml配置<?xml version="1.0" encoding="UTF-8"?> <configuration> <!--指定property属性变量--> <property name="log.path" value="/logs/logdemo"/> <!-- 日.
2020-09-05 17:25:16
2368
原创 centos中安装ES6.8、ik分词器、eshead、kibana
一、安装ElasticSearch-6.8.101、解压安装tar -zxvf elasticsearch-6.8.10tar.gz #解压mv elasticsearch-6.8.10 elasticsearch #重命名mv elasticsearch /usr/local/ #移动目录2、修改ES配置文件cd /usr/local/elasticsearchcd configvi elasticsearch.yml #修改配置cluster.name: myE...
2020-09-05 13:49:53
910
原创 springboot中动态切换日志输出级别
springboot中动态切换log日志级别 (依靠actuator监控组件)1、pom.xml配置<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>2.1.7.RELEASE</version&..
2020-09-04 00:19:31
974
原创 springboot中集成logback日志配置
Logback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境,同时天然支持SLF4J。默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了。使用logback,需要引入依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId&g...
2020-09-03 23:23:18
7033
原创 springboot中集成druid的SQL监控
springboot中集成druid,并开启sql监控、weburl请求监控功能。1、pom.xml配置!-- jdbc starter引入 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>.
2020-09-03 23:15:03
387
原创 springboot2.x中使用hikariCP连接池
在springboot2.x,默认采用的是hikari连接池,相比druid,hikari具有更高的性能。springboot2.x中如何使用hikari连接池1、pom.xml中配置<!-- jdbc starter引入 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starte...
2020-09-03 23:10:22
1236
1
原创 高并发下如何高效获取机器当前时间戳
高并发场景下System.currentTimeMillis()的性能问题的优化System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我还没测试过,有人说是100倍左右)System.currentTimeMillis()之所以慢是因为去跟系统打了一次交道后台定时更新时钟,JVM退出时,线程自动回收思路:使用一个单例 SystemClock对象,对象中开启一个后台线程,每隔一毫秒更新一次clock时间.import java.util.
2020-08-31 21:28:24
1545
原创 snowflake雪花算法生成唯一id
snowflake是Twitter开源的分布式ID生成算法snowflake的结构如下(每部分用-分开):0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以使用69年),然后是5位datacenterId和5位workerId(10位的长度最多支持部署1024个节点),最后12位是毫秒内的计数(12位的计数顺序号支持每个节.
2020-08-31 21:23:43
315
原创 springboot中整合rocketmq
rocketmq是阿里开源的一款优秀消息中间件 (后捐献给了apache软件基金会),具有低延迟,高性能和可靠性,万亿级容量和灵活的可伸缩性。github项目地址:https://github.com/apache/rocketmq/官网地址:http://rocketmq.apache.org/项目中使用mq的应用场景1、将项目中方法的同步调用改为异步消息通知2、使用消息通知机制来使程序解耦合3、对于高并发请求,使用mq中间件将数据进行缓冲、暂存再交给低并发处理能力的程序进行处理
2020-08-26 16:34:37
1040
原创 centos7中安装rocketmq
centos中安装rocketmq(相关资源下载:rocketmq-all-4.6.1-bin-release.zip链接:https://pan.baidu.com/s/1pGn8q1t-Hyvp_7zDAknVrQ提取码:kw65rocketmq-console-ng-1.0.0.jar链接:https://pan.baidu.com/s/1OrLF-9vU_SQMFgUqJ9_ffg提取码:o8ai)1、从官网rocketmq的二进制安装包 h...
2020-08-26 16:27:08
285
原创 数据结构:二叉查找树的api设计及其java代码实现
关于二叉树的一些基本概念二叉树:二叉树就是度不超过2的树(每个结点最多有两个子结点)满二叉树:一个二叉树,如果每一层的结点数都达到最大值,则这个二叉树就是满二叉树完全二叉树:叶结点只能出现在最下层和此下层,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树,即如果树不满则要求左满右不满,是为完全二叉树我们分析了二叉树结点的特性后,不难设计出二叉树的结点类 。 private class Node { private K key;//键 .
2020-08-09 07:35:30
598
原创 数据结构:顺序表、链表及其java代码实现
本篇我们介绍下数据结构中的顺序表、链表的基础概念,以及它们各自的java代码实现。一、顺序表1.1 什么是顺序表顺序表和链表都是属于线性表。顺序表,顾名思义所有元素物理上都是顺序存储,类似于数组。1.2 顺序表的api设计 (基于数组)类名:SequenceList构造方法:SequenceList(int capacity)//指定容量成员方法: public void clear(); 置空顺序表 public boolean isEmpty(); 判断表是否为空...
2020-08-09 06:43:47
942
1
原创 springboot中整合rabbitmq(direct队列和topic队列)
springboot中集成rabbitmq (direct队列、topic队列)direct队列,最简单的一种模式(也最常用),一边收一边发,直接通过路由key来接收。topic队列,使用发布/订阅模式,一个发布者可以对应多个订阅者。1、pom.xml中引入amp的依赖<!--引入mq 依赖--> <dependency> <groupId>org.springframework.boot</groupId&...
2020-08-08 22:45:36
1154
原创 栈和队列的api设计及代码实现
栈和队列都是数据结构中最常见的结构,本篇我们使用java代码的方式实现栈和队列这两种数据结构。一、栈1、栈的特点栈的特点是先入后出,这是因为栈的存取数据入口只有一个(用一个头指针实现)。故先入栈的元素放入栈底部,后入栈的元素放到栈顶部。向栈中存入一个元素的操作叫做压栈(push),从栈顶中取出一个元素的操作叫做弹栈(pop)。2、栈的api设计类名:Stack<T> (物理上基于链表)构造方法: Stack()成员方法:public void push(T t) 向
2020-06-27 13:39:47
473
原创 希尔排序、快速排序、归并排序、堆排序
1、希尔排序package com.tingcream.alg.sort; /** * 希尔排序 : 分组+插入排序 */public class Shell { /** * 1、对整个数组按步长h进行分组 * h的值初始值可这样得出 * int h=1; * while(h<a.length/2){ * h=2*h+1; * } * 2、对每个分组进...
2020-06-27 12:01:34
753
原创 算法分析和常见的排序算法
算法分析:研究算法的最终目的就是如何花更少的时间,如何使用更少的内存去完成相同的需求。有关算法时间耗时分析,我们称之为时间复杂度分析,有关算法的空间耗时分析,我们称之为算法的空间复杂度分析算法的时间复杂度分析事情分析法1、算法采用的策略和方案2、编译产生的代码质量3、问题出入的规模4、机器的执行指令速度由此可见,抛开这些与硬件、软件有关的因素,一个程序的运行时间取决于算法和问题输入的规模。如果算法固定了,那么该算法执行的时间就只和问题输入的规模有关了。场景的算法时间复杂度函数:.
2020-06-27 11:06:24
430
原创 centos中添加磁盘、创建分区并挂载分区到目录
centos磁盘分区与挂载 :Tip:准备一个干净的centos虚拟机来做实验1、在VM机中手动添加一块scsi磁盘(10G)注:linux系统中,一般地,第一块磁盘名称为sda、第二块磁盘为sdb,如果添加了磁盘后 ls /dev/sdb显示不出来,则需要重启下系统2、创建两个数据目录,作为挂载目录mkdir /data1mkdir /data23、检查是否有新磁盘出现...
2020-04-26 17:38:36
6028
captureScreen.jar
2020-04-13
JEncrypt.jar--java文件加解密图形化工具(3des)
2018-12-11
hessian-4.0.38.jar
2017-03-24
mybatis图形化代码生成器(纯手写)
2016-11-04
java简易聊天程序
2016-10-07
支付宝RSA加解密工具
2015-11-29
坦克大战2.8
2015-10-05
正则表达式工具3(java版)
2015-10-01
正则表达式工具(java版)
2015-09-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人