后端Java开发
文章平均质量分 80
紫水木鱼
这个作者很懒,什么都没留下…
展开
-
Spring Boot 项目部署方案!打包 + Shell 脚本部署详解
正如上面小节说的,shell中的参数 package-name,activeProfile,boot-main 都是由mvn中profiles的properties中提供,是可变的参数,脚本代码本身不需要人工去修改,只需要变的是mvn的参数即可;其实shell脚本中包含有解压命令,但是我在打包时放在了zip中,所以只能通过手动解压了,当然可以调整;通过mvn中profiles来区分不同环境对应的配置文件夹,人工可以手动在idea勾选生成不同环境的包(推荐)原创 2023-11-16 22:48:10 · 849 阅读 · 0 评论 -
SpringBoot 快速实现 api 加密
该项目使用RSA加密方式对API接口返回的数据加密,让API数据更加安全。别人无法对提供的数据进行破解。Spring Boot接口加密,可以对返回值、参数值通过注解的方式自动加解密。首先我们当然是了解RSA加密RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。原创 2023-10-26 17:24:01 · 198 阅读 · 1 评论 -
Spring Boot 使用 Disruptor 做内部高性能消息队列
Disruptor 是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于 Disruptor 开发的系统单线程能支撑每秒 600 万订单,2010 年在 QCon 演讲后,获得了业界关注。;Disruptor是一个开源的Java框架,它被设计用于在生产者—消费者(producer-consumer problem,简称PCP)问题上获得尽量高的吞吐量(TPS)和尽量低的延迟;原创 2023-10-26 16:17:12 · 645 阅读 · 0 评论 -
生产环境启动springboot的脚本
【代码】生产环境启动springboot的脚本。原创 2023-04-02 00:25:56 · 167 阅读 · 0 评论 -
windows使用bat脚本后台启动/停止和重启jar包服务
目录前言一、启动jar脚本二、停止jar脚本三、重启jar脚本前言前提:windows上安装 jdk一、启动jar脚本@echo offSTART "app" javaw -jar app-0.0.1-SNAPSHOT.jar示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、停止jar脚本以端口8080为例@echo offset port=8080for /f "tokens=1-5" %%i in ('netstat -ano^|fi原创 2021-10-25 10:53:09 · 1938 阅读 · 0 评论 -
使用Java开发在线生成pdf文档
目录一、介绍二、使用步骤1.引入库2.读入数据总结一、介绍在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票、订单的库存打印单、各种电子签署合同等等,以方便用户查看、打印或者下载。例如下图的电子发票!。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn原创 2021-10-14 15:08:54 · 473 阅读 · 1 评论 -
SpringBoot 线程池
提高响应速度目录前言一、使用步骤1.配置线程池2.创建接口3.实现类4.注入5.测试前言Spring Boot项目,可以用Spring提供的对ThreadPoolExecutor封装的线程池ThreadPoolTaskExecutor,直接使用注解启用。一、使用步骤1.配置线程池先创建一个线程池的配置,让Spring Boot加载,用来定义如何创建一个ThreadPoolTaskExecutor,要使用@Configuration和@EnableAsync这两个注解,表示这是个配置类,.原创 2021-09-08 14:21:57 · 398 阅读 · 0 评论 -
使用Redis实现电商系统的库存扣减
目录1 解决方案2分析2.1基于数据库单库存2.2基于数据库多库存2.2.1基于数据库来实现扣减库存还存在的一些问题:2.3基于redis3基于redis实现扣减库存的具体实现3.1 初始化库存回调函数(IStockCallback )3.2 扣减库存服务(StockService)3.3 调用在日常开发中有很多地方都有类似扣减库存的操作,比如电商系统中的商品库存,抽奖系统中的奖品库存等。1 解决方案使用mysql数据库,使用一个字段来存储库存,每次扣减库存去更新这个字段。还是使用数据库,但是将库原创 2021-08-31 19:00:11 · 223 阅读 · 0 评论 -
Java 是实现线程间通信
目录线程通信1.两个线程依次执行2.让 两个线程按照指定方式有序交叉运行3.四个线程 A B C D,其中 D 要等到 A B C 全执行完毕后才执行,而且 A B C 是同步运行的4.三个运动员各自准备,等到三个人都准备好后,再一起跑5.子线程完成某件任务后,把得到的结果回传给主线程线程通信正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。本文涉及到的知识点:thread.join(),object.wait(),原创 2021-08-17 18:51:20 · 101 阅读 · 0 评论 -
isEmpty 和 isBlank 的用法区别
文章目录前言一、isEmpty系列二、isBank系列2.1 StringUtils.isBlank()2.2 StringUtils.isNotBlank()2.3 StringUtils.isAnyBlank()2.3 StringUtils.isNoneBlank()三 StringUtils的其他方法前言除了isEmpty/isNotEmpty / isNotBlank/isBlank外,还有AnyEmpty / isNoneEmpty / isAnyBlank / isNoneBlan原创 2021-08-09 15:23:12 · 168 阅读 · 0 评论 -
Mybatis 优雅的数据处理方案
该模块为了解决企业级数据敏捷优雅处理而设计,采用注解及各种设计模式,简化复杂的数据处理逻辑,在框架层面处理封装屏蔽,解脱开发者。当前版本主要功能:1 准备工作2 字典绑定3 字段加密4 数据脱敏5 DDL数据结构自动维护6 动态多数据源主从自由切换当前版本主要功能:源码示例源码示例: https://gitee.com/baomidou/mybatis-mate-examples1 准备工作Spring Boot 引入自动依赖注解包<!-- Spring Boot 引入自动依赖注解包 -原创 2021-08-09 13:57:13 · 846 阅读 · 0 评论