- 博客(4)
- 收藏
- 关注
原创 springboot单机项目的部署流程
项目部署: 1.打包: 跳过单元测试: mvn clean package -Dmaven.test.skip=true 2.拷贝到服务器的目录: scp target/sell.jar(本地目录) root@192.168.30.113:/opt/javaapps 3.启动并且指定修改端口和修改环境 java -jar -Dserver.port=8090 sell.jar --修改端口...
2019-09-20 13:19:08 648
原创 限流的两种算法以及相关的实现方法
令牌桶算法限流 限流 限流是对某一时间窗口内的请求数进行限制,保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机。常用的限流算法有令牌桶和和漏桶,而Google开源项目Guava中的RateLimiter使用的就是令牌桶控制算法。 在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存:缓存的目的是提升系统访问速度和增大系统处理容量 降级:降级是当服务器压力剧增...
2019-09-17 21:22:22 869
原创 redis分布式锁
import org.apache.commons.lang3.StringUtils; import org.springframework.data.redis.core.StringRedisTemplate; /** * @描述:Redis 做分布式锁,利用 redis的setnx(SET if Not eXists)命令 和 getset 命令,即下面代码中的方法 setIfAbse...
2019-09-16 21:35:03 147
原创 synchronized关键字的底层实现
1.从两个方方面去考虑: 1.编译以后,由.java文件变为.class文件.因为本身是一个对象锁,所以编译以后是字节码 monitorentor和monitorexit,中间是执行业务逻辑的,然后获取的锁就是创建对象的时候,默认的会有一个monitor锁的权限,从用户态到内核态的转换 jvm:HotSport ...
2019-09-09 15:57:01 550
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人