java工具类/架构
文章平均质量分 62
都是框架架构上的东西
优惠券已抵扣
余额抵扣
还需支付
¥299.90
¥399.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
一名落魄的程序员
我很懒的,真的很懒
展开
-
sprigboot集成ActiveMQ(发布订阅)及MQTT(基于ActiveMQ聊天)安装及代码(全套流程)
这里说一下我入的坑:公司这边发送消息后台用的是ActiveMQ使用的是发布订阅模式(没有使用mqtt协议来做聊天,当时是想着ActiveMQ是包含mqtt协议的用ActiveMQ也是一样的),发消息这块测试之后是没有问题的,单聊群聊都是能收到即时消息的,安卓和ios这边使用的是mqtt连接的正常杀进程发遗嘱这块重连后也是能收到消息。但是安卓这边发现如果是突然断网或者网络异常的情况下(如电梯内,地铁部分路段)这这段时间终端是没有办法收到这期间发送的消息。bug重现:安卓连接mqtt心跳设置的30秒..原创 2021-12-10 21:19:18 · 858 阅读 · 0 评论 -
java鉴黄视频/图片、敏感词过滤(黑名单,白名单,符号)(代码可直接使用)
视频鉴黄我这边采用的是在原视频的基础上进行抽帧处理,也就是将视频按规定的秒数或帧数间隔截取图片并对其进行图片的鉴黄maven:<dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv</artifactId> <version>1.0</version></dependency><dependency>原创 2021-11-11 14:36:46 · 12370 阅读 · 0 评论 -
java自定义/全局异常ATException及异常处理(全套流程)
效果:这里抛出的异常通过设置可以抛出到前端能捕获到的异常errorMsg以及服务端异常errorIndex,返回的格式将会固定,返回的值会出现在data中结构:实现:ApiReturnCodeEnumpublic enum ApiReturnCodeEnum { updateFail("00001","数据修改失败"), insertFail("00002","数据插入失败"), selectFail("00003","数据查询失败"), deleteFail(原创 2021-11-29 15:45:00 · 416 阅读 · 0 评论 -
java幂等性实现及校验代码(全套流程)
使用场景:我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果;2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;3. 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的;4. 创建业务订单,一次业务请求只能创建一个,创建多个就会出大问题等等很多重要的情况都需要幂等的特性来支持。效果如下:实现原理: String idempotentK原创 2021-11-30 16:00:00 · 775 阅读 · 0 评论 -
java根据时间戳生成有序id(并发不重复)
亲测可用直接上代码,这里要注意的是服务器上的时间不能乱 不然可能就会生成一个和之前一样的id。每次生成id时返回以毫秒为单位的当前时间并发的情况下会阻塞到下一个毫秒,直到获得新的时间戳代码如下:public class IdWorker { /** * 起始时间戳 2021-11-11 */ private final long epoch = 1636560000000L; /** * 机器ID所占的位数 */ private f原创 2021-11-13 13:30:00 · 2338 阅读 · 0 评论 -
springboot集成quartz定时任务并接入后台管理系统(copy即用)
说明:项目启动后会根据设置的时间进行执行,业务代码根据自己的需求更改,数据库文件在最后(记得清空数据库哦~)这里需要注意的一点就是字段表示的是下面的对应的的路径如:,如有多个定时任务copy并更改文件名即可原创 2024-02-26 16:00:33 · 243 阅读 · 0 评论 -
java实现导入导出公用工具类,注解实体类几行代码实现
导入需要配合注解实体类达到数据自动填充原创 2024-02-23 09:23:33 · 176 阅读 · 0 评论 -
java初始化启动项目控制器输出swagger信息
【代码】java初始化启动项目控制器输出swagger信息。原创 2024-02-03 12:30:00 · 99 阅读 · 0 评论 -
linux私有化部署图片鉴黄docker版及nodejs版并通过java调用参考nsfwjs
linux私有化部署图片鉴黄docker版及nodejs版并通过java调用参考nsfwjs原创 2023-10-22 19:55:47 · 220 阅读 · 0 评论 -
java生成电子公章、私人印章
结合网上一些文章整理出来的一套公章、私章生成的代码,生成效果如下,代码复制即用这里主要的是 Seal 类,在SealSample中调用Seal类的字段即可完成自己所需要的形状。原创 2021-11-11 17:30:24 · 1950 阅读 · 0 评论 -
springboot集成logback按日志级别按天保存
springboot集成logback按日志级别按天保存原创 2023-07-20 15:50:27 · 1082 阅读 · 0 评论 -
java通过设置权重控制抽奖得到奖品的概率
java通过设置权重控制抽奖得到奖品的概率原创 2023-06-10 12:15:00 · 299 阅读 · 0 评论 -
Java二度好友查找
Java二度好友查找原创 2023-06-11 11:45:00 · 108 阅读 · 0 评论 -
java集成RSA非对称加密数据传输
前端请求后端接口时如:登录接口,这时候需要传账号密码到后端接口请求这样就会暴露请求的数据。RSA非对称加密分公钥和私钥,公钥将数据进行加密,私钥对加密的数据进行解密 **(当然前端最好是封装一下不要暴露出来公钥)原创 2023-02-01 17:20:02 · 838 阅读 · 2 评论 -
java开发操作日志系统
java开发操作日志系统SysLogDao.xmlSysLogServiceSysLogServiceImplLogAspectWebLogSysLogController使用原创 2023-01-13 15:55:08 · 177 阅读 · 0 评论 -
java整合redis消息队列及多线程执行
java整合redis消息队列及多线程执行原创 2023-01-05 16:04:18 · 486 阅读 · 0 评论 -
java打包成jar对其进行加密处理防止反编译
(Golang环境和jdk不会互相冲突,命令执行完毕后会生成一个xjar.go文件这个需要Golang环境编译,可以在其他服务器或有Golang环境的地方编译好之后再将encryptiontest.jar和编译好的xjar文件上传到服务器即可,加密的jar的运行环境不要求具备Golang环境有jdk环境即可)这里我测试过如果没有将加密后的jar解密的话将class反编译成java文件src中的文件是空的 cmd中会显示找不到路径。1、将要反编译的class文件放入到 jad.exe 的文件夹中。原创 2022-09-21 15:45:00 · 4514 阅读 · 0 评论 -
java需要用到的工具类/方法(持续更新)
日期转汉字设置奖品的权重抽奖BlobToStringUnicode中文互转脱敏工具类时间工具类(全)java模拟GET、POSTBigDecimal四舍五入说明java默认两位小数JSONObject使用ListString 转 List、ListShortlist去重、list对象排序、list模糊查询原创 2022-09-09 14:00:00 · 207 阅读 · 0 评论 -
Sentinel规则持久Nacos配置中心对应配置参数
流控规则持久nacos配置:resource:资源名 limitApp:针对来源,若为 default 则不区分调用来源grade:阈值类型,0表示线程数,1表示QPS count:单机阈值 clusterMode:是否集群,默认falseclusterConfig:集群限流配置 strategy:流控模式,0表示直接,1表示关联,2表示链路 refResource:关联资源controlBehavior:流控效果,0表示快速失败,1表示Warm Up,2表示排队等待 warmUpPeriodSe原创 2022-01-29 00:49:46 · 1297 阅读 · 0 评论 -
springcloud整合Hystrix断路器(停更进维)
注:停更进维注:停更进维注:停更进维注:停更进维注:停更进维注:停更进维重要的事情说六遍分布式的问题:复杂的分布式体系结构中的应用程序有多个依赖关系,每个依赖关系在某些时候将不可避免的失败就会造成服务雪崩官网资料:https://github.com/Netflix/Hystrix/wiki/How-To-UseHystrix三个主要概念:服务降级:导致降级的情况1>程序运行异常:如空指针报错等2>超时3>服务熔断触发服务降级4>线程池/信号.原创 2022-01-20 13:30:00 · 396 阅读 · 0 评论 -
搭建springcloud步骤
微服务架构选型:SpringCloud 及 SpringBoot 技术选型SpringBoot版本(版本必须为2.x)https://spring.io/projects/spring-cloud#learnspringBoot 及 springCloud 文档地址springCloud官方文档https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingleSpring Cloud中国社区htt..原创 2022-01-14 13:30:00 · 142 阅读 · 0 评论 -
Springboot整合Ribbon负载均衡及实现
总的来说就是:负载均衡+RestTemplate调用架构说明:Ribbon是软负载均衡的客户端组件,可以和其他所需请求的客户端结合使用,和Eureka结合只是其中的一个实例如果已经整合了Eureka那么会自带RibbonEureka可以查看我的另外一篇博客https://yushun.blog.csdn.net/article/details/122484653如果没有自带的Ribbon需要使用Ribbon需在pom文件中引入<!-- https://mvnrepository.co..原创 2022-01-19 13:30:00 · 1627 阅读 · 0 评论 -
SpringCloud整合Zookeeper替代Eureka(服务注册之二)
Zookeeper下载地址https://archive.apache.org/dist/zookeeper/?C=M;O=D这里注意zppkeeper自zookeeper-3.5.4-beta 后就会有两个tar.gz 包否则启动会报错(注:zookeeper启动需要依赖JDK,所以linux下需要安装JDK,建议linux安装版本与代码版本的zookeeper一致否则启动会报错)Linux安装zookeeper1、下载好后解压tar -zxvf apache-zookeeper-原创 2022-01-17 13:30:00 · 1509 阅读 · 0 评论 -
Springcloud集成Gateway网关
官网说明:https://spring.io/projects/spring-cloud-gatewayZuul模型:SpringCloud Gateway 使用的Webflux中的reactor-netty响应式编程组件,底层使用了Netty通讯框架Gateway路由特性:动态路由:能够匹配任何请求属性;可以对路由指定Predicate(断言)和 Filter(过滤器);集成Hystrix的断路器功能;集成SpringCloud服务发现功能;易于编写的Predicate(.原创 2022-01-21 13:30:00 · 1003 阅读 · 0 评论 -
SpringCloud Alibaba(选型)集成Nacos服务注册与动态配置中心(一)
2018.10.31 SpringCloud Alibaba 正式入驻Spring Cloud官方孵化器,并在Maven中央库发布了第一个版本。官方项目地址:https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.mdNacos服务注册与配置中心Nacos(Dynamic Naming and Configuration Service):一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。N.原创 2022-01-25 13:13:56 · 381 阅读 · 0 评论 -
服务集成swagger3 / Gateway聚合swagger / 打印请求参数及统计执行时长过滤器
服务集成swagger3Gateway聚合swagger打印请求参数及统计执行时长过滤器原创 2022-04-07 12:47:18 · 1264 阅读 · 0 评论 -
SpringCloud Sleuch 分布式请求链路跟踪
在微服务框架中,一个由客户端发齐的请求在后端系统中会经过多个不同的服务节点调用来协同产生最后的请求结果,每一个请求都会形成一个复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败。Springcloud Sleuch提供了一套完整的服务跟踪的解决方案sleuth 可以给我们提供很好的方案,用服务链路追踪来快速查看。sleuth 集成了Zipkin、HTrace 几种链路追踪工具sleuth中的一些术语1、 Span:基本工作单元,例如,在一个新建的span中发送一个R原创 2022-01-23 13:30:00 · 382 阅读 · 0 评论 -
SpringCloud Alibaba集成Nacos集群和持久化配置(二)
Nacos官方文档https://nacos.io/zh-cn/docs/cluster-mode-quick-start.htmlnaocs自带嵌入式数据库derby,将嵌入式数据库derby改为mysql完成持久化配置持久化配置1>找到nacos/conf/nacos-mysql.sql 文件,放入数据库中执行脚本2>找到nacos/conf/application.properties文件并修改spring.datasource.platform=mysqldb.num=原创 2022-01-26 13:30:00 · 436 阅读 · 0 评论 -
springcloud服务发现(Discovery查看注册信息)
controller代码查询import org.springframework.cloud.client.discovery.DiscoveryClient;@ResourceDiscoveryClient discoveryClient;@RequestMapping(value = "getdiscovery",method = RequestMethod.GET)public Object getdiscovery(){ List<String> services=原创 2022-01-16 13:30:00 · 458 阅读 · 0 评论 -
SpringCloud整合Consul(服务注册之三)
主要功能:服务发现、健康监测、KV(key-value)存储、多数据中心、可视化Web界面官网下载地址:https://www.consul.io/downloads.html中文介绍教程:https://www.springcloud.cc/spring-cloud-consul.html官网安装说明:https://learn.hashicorp.com/consul/getting-started/install.html注:如果使用官网的安装命令如报以下错误:Invalid co.原创 2022-01-18 13:30:00 · 284 阅读 · 0 评论 -
SpringCloud整合Eureka(服务注册之一)
搭建springcloud可以看我的另外一篇博客这里主要讲下Eureka这里是引用介绍划重点。。。Eureka目前是停更不停用如果是公司架构选型的话不建议使用Eureka1.服务注册(register):Eureka Client会通过发送REST请求的方式,向Eureka Server注册自己的服务。注册时,提供自身的元数据,比如ip地址、端口、运行状况指标、主页地址等信息。EurekaServer接收到注册请求后,就会把这些元数据信息存储在一个双层的Map中。 什么时候注册?在启动微服务原创 2022-01-15 13:30:00 · 1235 阅读 · 0 评论 -
WebSocket发送消息实现及历史消息存mongoDB
当前浏览器Notsupportwebsocket'//判断当前浏览器是否支持WebSocket。"WebSocket连接发生错误""WebSocket连接成功""WebSocket连接关闭"//关闭WebSocket连接。//连接发生错误回调方法。//连接成功建立回调方法。//将消息显示在网页上。//接收消息回调方法。//连接关闭回调方法。//监听窗口关闭事件。.........原创 2022-07-30 14:00:00 · 682 阅读 · 0 评论 -
java给图片添加自定义文字信息
如果部署到linux系统中那么controller层代码。180为X轴(横向)290为Y轴(纵向)设置。路径需要在linux中对。这里是字体颜色设置。原创 2022-07-21 13:42:13 · 507 阅读 · 0 评论 -
java配置快递100物流查询(copy即用)
java配置快递100物流查询(复制即用)KuaiDi100ServiceKuaiDi100ServiceImplcontroller层调用实体类相关QueryTrackParamQueryTrackReqQueryTrackRespShippingDTOShippingTraceQueryTrackData返回值/参数相关AfterDileveryAfterGetDileveryParamapplication.yml配置密钥获取...原创 2022-06-15 13:30:00 · 326 阅读 · 0 评论 -
微信小程序登录完整流程(copy即用)
公司这两天开发微信小程序,记录一下微信登录的过程步骤:1: 获取微信code、sessionKey(加密秘钥)、avatar(商家头像);2: 通过微信code得到微信openID、微信unionID(微信唯一标识);3: 通过微信unionID(微信唯一标识)查询数据库是否存在,存在则返回token给到前端,不存在则获取手机号(我这边的流程是小程序是和账号密码互通的);4: 微信手机号授权通过前端传过来的微信openID、sessionKey(加密秘钥)、encryptedData(加密原创 2022-06-13 13:45:00 · 2271 阅读 · 10 评论 -
java导出自定义格式的word文档(带参,亲测有效)
亲测有效亲测有效亲测有效亲测有效亲测有效亲测有效亲测有效亲测有效亲测有效亲测有效导出自定义格式的word文档工具类import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import j原创 2022-06-01 14:30:00 · 516 阅读 · 0 评论 -
将linux文件打成zip/rar压缩包并转成二进制流给前端
1、亲测有效目前是在项目中使用 前端去接收这个流转换成 后缀为zip或者rar的压缩包import org.apache.commons.io.FileUtils;import org.apache.commons.io.IOUtils;import org.apache.commons.lang3.StringUtils;import javax.servlet.http.HttpServletResponse;import java.io.*;import java.net.URLEnc原创 2022-05-31 10:23:14 · 717 阅读 · 0 评论 -
关于Hystrix设置了feign.hystrix.enabled=true兜底方法不生效或者不走feign的问题
开启hystrix:feign.hystrix.enabled=true时, RequestContextHolder.getRequestAttributes()为空原创 2022-05-31 10:03:23 · 942 阅读 · 0 评论 -
java生成微信小程序二维码(自定义带参)
准备工作:1:获取微信小程序apiKey2:获取微信小程序密钥3:获取微信小程序页面链接pom依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.44</version> </dependency>代码实现:import com.alib原创 2022-05-27 15:27:49 · 734 阅读 · 0 评论 -
解决springboot多环境打包及运行
到此配置完成,这边可以去每个环境测试一下看下端口号是否会改变。首先创建上图的项目结构,我们要测试所以在。配置好后刷新maven就会出现环境选项。原创 2022-01-10 11:30:00 · 562 阅读 · 0 评论