
java
TimeQuantum
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OpenFegin调用超时问题
fegin超时配置原创 2022-08-06 17:29:40 · 2769 阅读 · 0 评论 -
原生令牌桶算法
public class LocalTest { @Test public void test(){ //桶大小为100 没秒填充100个 时间单位为毫秒 1s = 1000ms TokenBucket limiter = new TokenBucket(100, 100, 1000); }} class TokenBucket { //令牌桶大小 private final long capacity; .原创 2021-09-01 10:45:07 · 154 阅读 · 0 评论 -
判断一个数是否为2的幂次方
从进制的方式考虑,一个数如果为2的幂次方,二进制表现形式肯定为10,100,1000,10000,100000.....等。那么n-1,二进制数据为01,011,0111,0111,01111...因此只要让n,n-1两个数按位与‘&’等于零则为2的幂次方public boolean isPowOfTwo(int n) { return n > 0 && (n & (n - 1)) == 0; }...原创 2021-07-08 09:48:07 · 288 阅读 · 0 评论 -
高并发秒杀伪代码实现逻辑
private static boolean SP = true;public ResponseDTO testMS(String userId){ if(userId==null){ return ResponseDTO.succMsg("未登录"); } //商品模拟写死为100 String productID = "100"; if(SP) { Boolean ifAb.原创 2021-03-10 14:35:07 · 325 阅读 · 0 评论 -
记一次JVM内存溢出解决过程
1.问题简述线上的服务器随着访问量的增加莫名其妙的挂了查看了一下错误日志:java.lang.OutOfMemoryError: Compressed class space2.问题分析在Java8以前,有一个选项是UseCompressedOops。所谓OOPS是指“ordinary object pointers“,就是原始指针。Java Runtime可以用这个指针直接访问指针对应的内存,做相应的操作(比如发起GC时做copy and sweep)。那么Compressed是啥意思?64b原创 2020-11-12 15:43:20 · 2880 阅读 · 3 评论 -
Sharding-JDBC实现读写分离,使用 mysql 配置主从同步(三)
面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。 对于同一时刻有大量并发读操作和较少写操作类 型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能 够有效的避免由数据更新导致的行锁,使得整个系统的查询性能得到极大的改善。Sharding-JDBC提供一主多从的读写分离配置,可独立使用,也可配合分库分表使用,同一线程且同一数据库连接 内,如有写入操作,以后的读操作均从主库读取,用于保证数据一致性。Sharding-JDBC不提供主从数据库的数据 同步功原创 2020-07-08 16:11:31 · 1634 阅读 · 1 评论 -
Sharding-JDBC 入门水平分库,水平分表(一)
Sharding-JDBC是当当网研发的开源分布式数据库中间件,从 3.0 开始Sharding-JDBC被包含在 Sharding-Sphere 中,之后该项目进入进入Apache孵化器,4.0版本之后的版本为Apache版本。 ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding- Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提供标准化的数据分片、分布式事务和 数据库治理功能,可适用于原创 2020-07-08 14:41:09 · 330 阅读 · 0 评论 -
SpringBoot通过拦截器获取请求参数和返回结果进行操作
SpringBoot项目的创建和初始化在这里就不在重复一.实现请求拦截器处理数据自定义拦截器在SpringMVC中的 Interceptor拦截器才用实现 HandlerInterceptor的方式,实现其中的三个方法。preHandle(): 该方法在请求处理之前执行,SpringMVC 中的Interceptor 是链式的调用的,在一个应用中或者说是在一个请求中可以同时存在多个Interceptor 。每个Interceptor 的调用会依据它的声明顺序依次执行,而且最先执行的都是Interce原创 2020-07-03 10:31:34 · 28503 阅读 · 4 评论 -
springmvc框架的文件上传下载工具类
package com.track.util;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.原创 2017-09-11 16:44:40 · 410 阅读 · 0 评论