
高并发难点
程序猿365
这个作者很懒,什么都没留下…
展开
-
docker使用步骤
1、打包,进入到项目的目录下,和dockerFile同目录 docker build -t 2023293288434/eureka-service .2、打tag docker tag 93d438ac448a 2023293288434/eureka-service:v1.0.0 # 93d438ac448a 是镜像id, 2023293288434/eu...原创 2020-03-18 00:13:27 · 252 阅读 · 0 评论 -
如何防止接口被恶意攻击
1、对于异常用户切面处理异常,把异常用户的ip插入到数据库,当用户的请求异常次数到达一定程度时,拉入很名单 每次请求去查询是否在黑名单中2、对于一分钟请求次数,接口限制 每次请求判断上次是否在一分钟内,如果在一分钟内则+1次 如果超过一分钟则清0如果一分钟请求超过一定次数,就会直接限制请求,24小时候定时解绑...原创 2020-03-17 00:16:40 · 2873 阅读 · 1 评论 -
高并发类CountDwonLatch、CyclicBarrier、Semaphore、Exchanger。
cyclicbarrier主要用于一组线程之间的相互等待,直到到达某个公共屏障点2、使用场景:需要所有的子任务都完成时,才执行主任务,这个时候就可以选择使用CyclicBarrier。4、相关实例赛跑时,等待所有人都准备好时,才起跑: public class CyclicBarrierTest { public static void main(String[] ...原创 2018-12-08 10:12:22 · 198 阅读 · 0 评论 -
对于表情处理
1、引入<!--处理emoji表情--><dependency> <groupId>com.vdurmont</groupId> <artifactId>emoji-java</artifactId> <version>4.0.0</version></dependen...原创 2020-03-17 00:19:07 · 160 阅读 · 0 评论 -
spring切面拦截入参、出参、异常处理
package com.zhd.exploit.api.config;import java.util.HashMap;import java.util.Map;import java.util.UUID;import javax.servlet.http.HttpServletResponseWrapper;import org.aspectj.lang.JoinPoint;i...原创 2019-07-08 06:45:01 · 2248 阅读 · 0 评论 -
交易难点
假如一个交易,调用第三方请求出现 返回结果超时....我们需要定时两分钟查询一次调用第三方接口,但是查询时间需要5分钟,这样就会造成第一次查询没有执行完,下次查询也启动了解决方案1、加同步锁,但是会造成一直不停的执行下去,会造成很多定时都会等待中,不是一种好的方案 bean必须是单例的,才可以,如果bean是多例的,就会出现多个实例,同步就不会起到作用Spring Bean配...原创 2018-12-08 10:12:02 · 193 阅读 · 0 评论 -
CountDownLatch
CountDownLatch;能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行使用场景:比如对于马拉松比赛,进行排名计算,参赛者的排名,肯定是跑完比赛之后,进行计算得出的,翻译成Java识别的预发,就是N个线程执行操作,主线程等到N个子线程执行完毕之后,在继续往下执行。public static void testCountDownLatch(){ 2 3...原创 2018-12-08 10:11:41 · 108 阅读 · 0 评论 -
集群中定时怎么保证一个任务在执行
1、在执行定时任务的操作时,先向数据表中insert一条数据,如:insert into ts_job_log(job_log_id,job_id,job_group,job_start_time,job_status)values(1,1,1,sysdate,’正常’);可以添加成功当再执行如下操作时insert into ts_job_log(job_log_id,job_...原创 2018-12-08 10:10:52 · 2361 阅读 · 0 评论 -
金融、支付行业金额不能用float、double计算误差问题
金额计算不能用doube!!!!金额计算不能用doube!!!!金额计算不能用doube!!!!现在来看看这个所谓的BigDecimal用法,其实,非常简单!decimal,一般默认值一般不设置为null---------------------------------------------------------------------------------所有关于订...原创 2018-12-08 10:11:16 · 1522 阅读 · 0 评论 -
java加解密
package test;import java.security.SecureRandom;import javax.crypto.spec.DESKeySpec;import javax.crypto.SecretKeyFactory;import javax.crypto.SecretKey;import javax.crypto.Cipher;/**DES加密介绍DE...原创 2020-03-17 00:16:15 · 383 阅读 · 0 评论 -
ConcurrentHashMap使用示例以及原理
ConcurrentHashMap通常只被看做并发效率更高的Map,用来替换其他线程安全的Map容器,比如Hashtable和Collections.synchronizedMap。实际上,线程安全的容器,特别是Map,应用场景没有想象中的多,很多情况下一个业务会涉及容器的多个操作,即复合操作,并发执行时,线程安全的容器只能保证自身的数据不被破坏,但无法保证业务的行为是否正确。举个例子:...原创 2019-03-26 13:55:03 · 3667 阅读 · 0 评论 -
volatile关键字
volatile 称为轻量级锁,被volatile修饰的变量,在线程之间是可见的一个线程修改了这个变量的值,在另外一个线程中能够读到这个修改后的值 Synchronized che...原创 2018-12-01 09:07:17 · 117 阅读 · 0 评论