![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java编程
文章平均质量分 58
jasnet_u
这个作者很懒,什么都没留下…
展开
-
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 · 2103 阅读 · 1 评论 -
activiti中的服务任务(ServiceTask)
服务任务不同于用户任务(需人工处理),服务任务一般是一段可自动执行的任务而无需人工干预。例如:当用户完成"任务1"后,想自动执行一个跑批任务处理后台数据库表的数据,那么只需要在"任务1"节点后放置一个ServiceTask(需要指定该服务任务所要执行的java类或spring容器的bean) ,当服务任务执行完成后,再继续执行任务2 。服务任务的配置例1:<serviceTask id="servicetask1" name="服务任务" activiti:delegateExpress原创 2021-11-02 23:52:46 · 8639 阅读 · 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 · 4965 阅读 · 0 评论 -
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 · 1335 阅读 · 0 评论 -
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 · 426 阅读 · 0 评论 -
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 · 236 阅读 · 0 评论 -
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 · 831 阅读 · 0 评论 -
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 · 446 阅读 · 0 评论 -
Thumbnails图片压缩处理工具
Thumbnails是google公司开源的图片压缩、处理的工具,可以对图片按大小或比例缩放、旋转、加水印、裁剪等。1、pom.xml引入 <!--图片压缩工具--> <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.12<...原创 2020-12-21 23:41:48 · 1165 阅读 · 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 · 1099 阅读 · 0 评论 -
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 · 962 阅读 · 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 · 458 阅读 · 0 评论 -
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 · 180 阅读 · 0 评论 -
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 · 443 阅读 · 0 评论 -
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 · 524 阅读 · 1 评论 -
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 · 443 阅读 · 0 评论 -
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 · 1833 阅读 · 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 · 4990 阅读 · 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 · 2124 阅读 · 0 评论 -
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 · 804 阅读 · 0 评论 -
高并发下如何高效获取机器当前时间戳
高并发场景下System.currentTimeMillis()的性能问题的优化System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我还没测试过,有人说是100倍左右)System.currentTimeMillis()之所以慢是因为去跟系统打了一次交道后台定时更新时钟,JVM退出时,线程自动回收思路:使用一个单例 SystemClock对象,对象中开启一个后台线程,每隔一毫秒更新一次clock时间.import java.util.原创 2020-08-31 21:28:24 · 1381 阅读 · 0 评论 -
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 · 229 阅读 · 0 评论 -
java项目中使用hutool工具箱
hutool介绍:官网文档:https://hutool.cn/docs/#/Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。一、pom.xml中引入hutool依赖<!--hutool 工具集合引入--> <dependenc...原创 2020-02-21 12:53:13 · 4615 阅读 · 0 评论 -
nginx中配置ssl证书(示例)
nginx -V #查看安装的模块#安装ssl支持的依赖yum -y install openssl openssl-devel#进入nginx编译安装目录cd /usr/local/nginx-1.16.1#重新执行编译 ,带上ssl模块./configure --prefix=/usr/local/nginx --with-http_stub_status...原创 2019-11-05 18:28:51 · 291 阅读 · 0 评论 -
更新linux服务器中jar(war)包中某文件
#列出指定文件所在位置,grep搜索jar -tvf ipserver-0.1.war | grep application.yml#解压指定文件jar -xvf ipserver-0.1.war WEB-INF/classes/application.yml手动编辑、修改application.yml文件内容完成#更新文件到jar包中jar -uvf ipserver-0....原创 2019-11-05 12:32:18 · 630 阅读 · 0 评论 -
java8--新的JavaScript引擎Nashorn
从JDK8开始,Nashorn引擎开始取代Rhino (jdk6、7中)成为java的嵌入式js引擎,它将js代码编译为java字节码,与先前的Rhino的实现相比,性能提升了2到10倍。 jjs是java8中一个新的命令行工具,jjs能够在控制台执行java中js脚本代码。例如,编写一个sample.js 内容如下print("hello world")保存文件,然后在当前目录打开...原创 2018-10-28 15:37:32 · 10425 阅读 · 0 评论 -
java8--新的日期时间api
使用Java8,新的日期时间API解决了旧的日期时间API的以下问题、缺陷: 非线程安全: java.util.Date不是线程安全的,因此开发者必须在使用日期处理并发性问题。新的日期时间API是不可变的,并且没有setter方法。设计不佳: 默认的开始日期从1900年,开始每月从1天从0开始,所以没有统一。不直接使用方法操作日期。新的API提供了这样操作实用方法。困难的时区处理:...原创 2018-10-28 15:40:28 · 168 阅读 · 0 评论 -
java8--内置Base64类
使用 Java8,Base64终于得到了在Java中的整合。 Java8现在有内置编码器和解码器的Base64编码。在Java8中,我们可以使用三种类型的Base64编码。简单: 输出映射设置字符在A-ZA-Z0-9+/。编码器不添加任何换行输出和解码器拒绝在A-Za-z0-9+/以外的任何字符。URL: 输出映射设置字符在A-Za-z0-9+_。输出URL和文件名安全。MIME: 输出映射到...原创 2018-10-28 15:41:28 · 1943 阅读 · 0 评论 -
java设计模式(一)
模式的研究起源于建筑工程设计大师Christonpher Alexander 的关于城市规划与建筑设计的著作。尽管他的著作是针对于城市规划和建筑设计的。但是作者的观点实际上适用于所有的工程设计领域,包括软件开发设计领域。在软件设计方面GOF (俗称 4人帮)是《Designer Pattern》一书的作者,他们对模式的研究对后世影响极大。 从1993 年模式一书发表以来,软件学术界对于模式的讨论就原创 2016-11-05 01:05:01 · 409 阅读 · 0 评论 -
java8--Optional类
Optional用于包含非空对象的容器对象。Optional对象,用于表示使用不存在null值。这个类有各种实用的方法,以方便代码来处理为可用或不可用,而不是检查null值。它是Java引入, 是类似于在 Guava 中的 Optional 。 示例代码:package com.tingcream.java8.optional; import java.util.Optiona...原创 2018-10-28 15:33:54 · 157 阅读 · 0 评论 -
java8--stream流API
生成数据流使用Java8,Collection 接口有两个方法来生成流。 stream() -返回顺序流考虑集合作为其源。 parallelStream() - 返回并行数据流考虑集合作为其源 流/Stream是在JAVA8中引入的一个抽象,可以处理类似SQL语句声明数据示例代码1: StreamTest.javapackage com.tingcream....原创 2018-10-28 15:32:37 · 211 阅读 · 0 评论 -
java8--方法引用
方法引用有助于自己的名字指向方法。方法参考描述使用“::”符号。一种方法参考可以用来指向下列类型的方法。 静态方法。 实例方法。 使用new运算符构造函数(TreeSet::new) 例如 :/** * 方法引用 * @author jelly * */public class MethodRefTest { public static v...原创 2018-10-28 15:30:12 · 142 阅读 · 0 评论 -
java8--接口增强(默认方法、静态方法)
Java8中接口增强:接口静态方法、接口默认方法。 一、接口静态方法在接口方法前添加static 修饰符,表示接口中的静态方法。接口静态方法不要求子类实现、重写,且子类也无法实现和重写,因为静态的东西脱离了对象而存在于类中。 子类继承和实现的是父类\接口的非静态抽象方法。接口中新增静态方法,能够增强接口的功能,而对所有子类、子接口无影响 。如public interface...原创 2018-10-28 15:29:09 · 1638 阅读 · 0 评论 -
java8--函数式接口
java8中内置了很多接口 ,它们都标记了@FunctionalInterface注解,FunctionalInterface是个无任何抽象方法的接口。Java8试图阐明,当一个接口被标记上FunctionalInterface,那么它应该被开发者注意:这是个函数式接口,应该用lambda表示其实例对象。 Documented@Retention(RetentionPolicy.RUNT...原创 2018-10-28 15:27:19 · 145 阅读 · 0 评论 -
maven中配置slf4j-log4j、log4j实现包
maven中配置slf4j-log4j、log4j实现包java中很多开源组件pom.xml中都内置引入了slf4j的日志jar包,如quartz-2.3.jar的pom依赖中就有slf4j-api-1.7.7.jarslf4j,提起来大家可能不太熟悉,但若说起它的一个实现log4j 大家可能就非常熟悉了。那么slf4j到底是什么呢?为什么有那么多的开源组件(框架)都依赖到了它?SLF4J,...原创 2018-10-24 23:22:02 · 9291 阅读 · 1 评论 -
spring3中springTask定时任务
spring-task是Spring3.0以后自主开发的定时任务工具,我们可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种配置方式。一、使用注解配置(spring)1、pom.xml中引入spring的一些基础包<dependency> <groupId>org.sp...原创 2018-11-16 07:52:23 · 704 阅读 · 0 评论 -
linux中以后台进程方式执行java程序
#后台进程执行java命令nohup java -jar xxx.jar >/dev/null 2>&1 & #后台进程执行java命令 ,并设置进程内存参数nohup java -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m -jar xxx...原创 2018-11-27 11:17:41 · 822 阅读 · 1 评论 -
docker主机开启远程访问
Centos7中配置docker开启远程访问:1、修改docker.service配置文件vi /usr/lib/systemd/system/docker.service[Service]ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock:x保存退出2、重启docker的...原创 2019-09-26 23:58:31 · 287 阅读 · 0 评论 -
springboot中使用jasypt对配置信息进行加密
jasypt是java中流行的开源加解密工具包1、springboot项目中,引入依赖<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> ...原创 2019-09-26 23:54:38 · 2148 阅读 · 0 评论 -
springboot项目中使用docker进行远程部署
springboot项目中使用docker进行远程部署这个过程,其实就是先将项目打包为springboot的jar包,再远程连接到docker主机上将springboot的jar包构建为docker镜像。最后运行docker run [镜像名称] ,以docker容器方式运行我们的应用。方式一:idea中安装docker集成插件,进行docker远程部署。安装完成后,...原创 2019-08-14 10:05:13 · 784 阅读 · 0 评论