java编程
文章平均质量分 59
jasnet_u
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SpringBoot3.x+SpringCloudAlibaba2023+JDK17微服务基础框架搭建
本篇我们开始尝试搭建一套新的微服务项目项目采用最新技术栈:SpringBoot3.2.4 + SpringCloud-2023.1+SpringCloudAlibaba-2023.0.1+JDK17在我们实际的公司微服务项目开发过程中,通常会遇到一些底层公共组件封装问题。比如统一的请求响应封装(Resp)、统一分页请求父类(PageReq)、统一业务异常封装(BusinessException)等。原创 2026-01-10 12:33:13 · 452 阅读 · 0 评论 -
nexus3私服使用及setting.xml配置
本文介绍如何在Maven项目中配置并使用Nexus3私服。首先修改setting.xml文件,配置servers节点添加nexus相关认证信息,并设置mirrors节点指向私服地址。然后在IDEA中选择该配置文件,并在项目pom.xml中配置distributionManagement节点指定发布仓库地址。最后通过mvn deploy命令将项目部署到私服,注意release版本默认不允许重复部署,需在Nexus中开启Allow redeploy选项才能覆盖发布。原创 2026-01-04 20:56:54 · 283 阅读 · 0 评论 -
centos7上搭建Nexus3私服
本文介绍了Nexus3在CentOS上的安装配置过程:1)从官网下载nexus-3.86.2-01-linux-x86_64.tar.gz安装包;2)上传至服务器并解压到/usr/local/nexus目录;3)修改bin/nexus.vmoptions文件调整JVM内存参数(默认2G可调小至512M);4)配置etc/nexus-default.properties设置服务端口(默认8081);5)使用bin/nexus脚本启停服务,日志存放在sonatype-work/nexus3/log目录。首次登录原创 2026-01-04 16:23:06 · 224 阅读 · 0 评论 -
JAVA17新特性
其实java17发布已经有很长一段时间了(2021年9月发布),也不算是一个很新的事物, 只不过由于很多企业项目因为历史遗留等的原因java代码版本还停留在JDK8、11的时代。JAVA17还有更多的特性支持,比如密封类、记录类、空指针异常改进、ZGC垃圾回收器正式使用、新的伪随机数生成器RandomGenerator 等等就不一一介绍了。关于Java17的新特性介绍,网上的资料很多,那么我们为什么要学习和升级java版本到17呢?Doris3.x 及以后版本 最低支持JDK版本:17!原创 2026-01-04 15:55:06 · 310 阅读 · 0 评论 -
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 · 2352 阅读 · 1 评论 -
activiti中的服务任务(ServiceTask)
服务任务不同于用户任务(需人工处理),服务任务一般是一段可自动执行的任务而无需人工干预。例如:当用户完成"任务1"后,想自动执行一个跑批任务处理后台数据库表的数据,那么只需要在"任务1"节点后放置一个ServiceTask(需要指定该服务任务所要执行的java类或spring容器的bean) ,当服务任务执行完成后,再继续执行任务2 。服务任务的配置例1:<serviceTask id="servicetask1" name="服务任务" activiti:delegateExpress原创 2021-11-02 23:52:46 · 10149 阅读 · 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 · 6513 阅读 · 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 · 1863 阅读 · 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 · 564 阅读 · 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 · 330 阅读 · 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 · 970 阅读 · 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 · 647 阅读 · 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 · 1511 阅读 · 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 · 1296 阅读 · 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 · 1108 阅读 · 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 · 662 阅读 · 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 · 270 阅读 · 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 · 540 阅读 · 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 · 631 阅读 · 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 · 542 阅读 · 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 · 2125 阅读 · 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 · 5760 阅读 · 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 · 2509 阅读 · 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 · 944 阅读 · 0 评论 -
高并发下如何高效获取机器当前时间戳
高并发场景下System.currentTimeMillis()的性能问题的优化System.currentTimeMillis()的调用比new一个普通对象要耗时的多(具体耗时高出多少我还没测试过,有人说是100倍左右)System.currentTimeMillis()之所以慢是因为去跟系统打了一次交道后台定时更新时钟,JVM退出时,线程自动回收思路:使用一个单例 SystemClock对象,对象中开启一个后台线程,每隔一毫秒更新一次clock时间.import java.util.原创 2020-08-31 21:28:24 · 1634 阅读 · 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 · 346 阅读 · 0 评论 -
java项目中使用hutool工具箱
hutool介绍:官网文档:https://hutool.cn/docs/#/Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。一、pom.xml中引入hutool依赖<!--hutool 工具集合引入--> <dependenc...原创 2020-02-21 12:53:13 · 4992 阅读 · 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 · 399 阅读 · 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 · 750 阅读 · 0 评论 -
java设计模式(二)
设计模式中的第一类是创建型模式, 共5种: 工厂方法、 抽象工厂、单例、原型、构建者(生成器) 1、工厂方法含简单工厂、工厂方法、静态工厂,通常而言我们所说的工厂模式,如无特别说明,均指工厂方法模式。其中简单工厂模式是工厂方法模式的一种最简单存在形式。 废话不多说,直接看代码最直接。简单工厂模式: 首先是有3个产品其中一个是抽象产品,另2个产品实现抽象产品原创 2016-11-05 02:07:31 · 386 阅读 · 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 · 9605 阅读 · 1 评论 -
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 · 2045 阅读 · 0 评论 -
java8--新的日期时间api
使用Java8,新的日期时间API解决了旧的日期时间API的以下问题、缺陷: 非线程安全: java.util.Date不是线程安全的,因此开发者必须在使用日期处理并发性问题。新的日期时间API是不可变的,并且没有setter方法。设计不佳: 默认的开始日期从1900年,开始每月从1天从0开始,所以没有统一。不直接使用方法操作日期。新的API提供了这样操作实用方法。困难的时区处理:...原创 2018-10-28 15:40:28 · 240 阅读 · 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 · 10652 阅读 · 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 · 237 阅读 · 0 评论 -
java8--stream流API
生成数据流使用Java8,Collection 接口有两个方法来生成流。 stream() -返回顺序流考虑集合作为其源。 parallelStream() - 返回并行数据流考虑集合作为其源 流/Stream是在JAVA8中引入的一个抽象,可以处理类似SQL语句声明数据示例代码1: StreamTest.javapackage com.tingcream....原创 2018-10-28 15:32:37 · 301 阅读 · 0 评论 -
java8--方法引用
方法引用有助于自己的名字指向方法。方法参考描述使用“::”符号。一种方法参考可以用来指向下列类型的方法。 静态方法。 实例方法。 使用new运算符构造函数(TreeSet::new) 例如 :/** * 方法引用 * @author jelly * */public class MethodRefTest { public static v...原创 2018-10-28 15:30:12 · 199 阅读 · 0 评论 -
spring3中springTask定时任务
spring-task是Spring3.0以后自主开发的定时任务工具,我们可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种配置方式。一、使用注解配置(spring)1、pom.xml中引入spring的一些基础包<dependency> <groupId>org.sp...原创 2018-11-16 07:52:23 · 817 阅读 · 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 · 958 阅读 · 1 评论 -
java中Mapper图形化生成工具
笔者发现有很多公司都会在SSM框架中使用Mapper生成工具。作为快速开发项目的一种方式,这种做法本身无可厚非。然而笔者认为mybatis官方提供mapper生成工具生成的xml语句实在是太罗嗦、太繁琐,不具可读性和可维护性。尤其是对于初、中级的程序员,上来就看到一堆恶心的机器生成的xml,会对他们产生非常不好的影响,极其不利于程序员的技术成长。作为一个高级程序员,笔者认为采用mybati...原创 2019-03-17 08:27:35 · 2552 阅读 · 0 评论
分享