- 博客(16)
- 收藏
- 关注
原创 线程池的简单使用
@FunctionImpl@RequiredArgsConstructorpublic class FrontSourcingMultiThreadFuncImpl implements FrontSourcingMultiThreadFunc { private final static int coreCount = Runtime.getRuntime().availableProcessors(); /** * 使用erda提供的创建线程池,可以增加监控 *
2021-11-23 11:09:50
99
原创 Lock的使用
一、一些常用方法的封装public class Lock { private static LockProvider provider; /** * 尝试获取一个锁 * * @param name 锁标识 * @return 是否锁定 */ public static boolean lock(String name) { return lock(name, 1L, TimeUnit.MINUTES); }
2021-10-13 09:48:02
286
原创 权重随机数算法
一、介绍一等奖,二等奖,三等奖,四等奖,赋予每个奖励不同的中奖概率,按照已知概率设定二、直接上代码@Data@AllArgsConstructorpublic class Weight { //奖品等级 private String luckDrew; //中奖概率 private Integer weight;} public static String getLuckDrew(List<Weight> list) { Inte
2021-09-14 14:58:30
178
原创 如何实现千万级别单表的查询的优化
一、常规的操作select * from trade_order limit 1000000,20 //查询10000000以后的20条记录如果执行这样的sql,插叙的效率将会非常的慢优化点1采用主键索引select * from trade_order where id>10000000 and id <10000020优化之后的写法select a.* from trade_order a ,(select id from trade_order limit 10000
2021-07-10 23:57:13
268
原创 HmacSHA1
/** * 签名加密 HmacSHA1 */ public static String genHMAC(String data, String key) { byte[] result = null; try { //根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称 SecretKeySpec signinKey = new SecretKeySpec(key.getBytes(), H
2021-07-07 15:18:02
139
原创 监听器的简单实用demo
一、使用场景使用springboot内置监听器。使用场景:一个功能完成后需要同步数据给其他的功能使用(注意:需要同步数据的接口只能在同一个项目中)。二、实现的方式第一步:抛出事件编写一个监听器使用的事件类并且继承 ApplicationEvent写上事件需要抛出的哪些参数package com.example.listeren.utils;import com.example.listeren.controller.HelloController;import org.springfra
2021-06-15 22:47:08
109
原创 快递鸟物流即时查询
这里采用的是快递鸟物流的接口,即时物流查询http://www.kdniao.com/login?referrer=%2fUserCenter%2fUserHome.aspx 首先注册自己的账号,获取用户ID,和API keyhttp://www.kdniao.com/HelpDoc/FAQ/DocDes.aspx 然后下载一个demo,替换自己的用户id和api key即可如果想要测试自己的运单号,需要将ShipperCode替换替换成自己物流公司的顺便附上一份2018快递鸟接口支持快递公司
2021-05-07 10:11:56
111
原创 RestTemplate的详细解释和用法(get和post)
RestTemplate 简介RestTemplate 是从 Spring3.0 开始支持的一个 HTTP 请求工具,它提供了常见的REST请求方案的模版,例如 GET 请求、POST 请求、PUT 请求、DELETE 请求以及一些通用的请求执行方法 exchange 以及 execute。RestTemplate 继承自 InterceptingHttpAccessor 并且实现了 RestOperations 接口,其中 RestOperations 接口定义了基本的 RESTful 操作,这些操作在
2021-04-23 10:17:36
1844
原创 EsayExcle的简单使用
<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.2-beta5</version></dependency>复制代码public class OrderExcelBO extends BaseRowModel { @ExcelProperty(val
2021-04-22 15:56:14
365
原创 JavaWeb文件的上传下载
看了很多的博主写的文件的上传下载,然后自己修修补补,写了一个/** * @author zyj * @date 2021年04月日14:00 */@RestControllerpublic class UpOrDownLoadController { private static final Logger logger = LoggerFactory.getLogger(UpOrDownLoadController.class); @RequestMapping("upload"
2021-04-22 15:28:38
56
原创 微信消息推送
准备工作微信测试号管理平台https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index代码`/** 微信测试账号推送* */@GetMapping("/push")public void push() {//1,配置WxMpInMemoryConfigStorage wxStorage = new WxMpInMemoryConfigStorage();wxStor
2021-04-19 14:21:32
142
原创 spring如何解决跨越问题
一、基于WebMvcConfigurerAdapter@Configuration public class CorsConfig extends WebMvcConfigurerAdapter { @Override public void saveCorsMappings(CorsRegistry corsRegings) { registry.addMapping("/**") .allowedOrigins(
2021-03-02 14:00:46
146
1
原创 Assert类的常见持使用方法
Assert.notNull(Object object) 当 object 不为 null 时抛出异常,notNull(Object object, String message) 方法允许您通过 message 定制异常信息。和 notNull() 方法断言规则相反的方法是 isNull(Object object)/isNull(Object object, String message),它要求入参一定是 null;Assert.isTrue(boolean expression) / isT
2021-03-01 15:48:58
767
原创 swagger
一、pom文件增加依赖<!--swagger2--><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version></dependency><dependency> <groupId>io.s
2021-02-24 15:58:51
84
1
原创 Aop结合Guava实现的接口的限流保护(单机版)
@RestControllerpublic class GuavaRate { @ZRateLimiter(rate = 5,timeOut = 100) @RequestMapping("/find2") public void tryAcquire(){ }}@Target(value = ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface ZR
2021-02-24 09:53:12
142
原创 定时任务的实现案例
Java常用的几种实现定时任务的方式一、spring的Timerpublic class hanshu { private static volatile Integer count=0; public static void main(String[] args) { TimerTask task=new TimerTask() { @Override public void run() {
2021-02-22 16:40:40
150
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人