- 博客(13)
- 收藏
- 关注
原创 synchronized和ReentrantLock的实现原理是什么,它们有什么区别?
1.synchronized属于独占式悲观锁通过JVM隐式实现,只允许同一时刻只有一个线程操作资源。Java中每个对象都隐式包含一个monitor(监视器)对象加锁的过程其实就是竞争monitor的过程,当线程进入字节码monitiorenter指令后线程将持有monitor对象,执行monitorexit时释放monitor对象当其他线程没有拿到monitor对象时,则需要阻塞等待获取该对象。2.ReentrantLock是Lock的默认实现方式之一是基于AQS(Abstra.
2020-05-11 16:48:40 1020 2
转载 设计模式好的文章
java中的单例模式与doublecheckhttps://www.cnblogs.com/limingluzhu/p/5156659.html
2018-12-19 17:44:27 260
转载 guava学习总结
由于以前没有用过guava缓存,现在要开始学习学习!1.com.google.common.cache.CacheLoader 本地緩存的使用方法package com.taobao.ju.my.common.biz.manager.impl; import java.util.concurrent.Callable;import java.util.concurrent.Ex...
2018-12-06 10:11:51 270
转载 使用RateLimiter完成简单的大流量限流
公司券系统压力过大,采用了限流的方法。public Integer couponSendWithLimiter(CouponLogQC couponLogQC) { //限制每秒请求数 30秒每个用户只能请求一次 String uniqueCode = this.uniqueCode(couponLogQC); boolean isDuplicated = deDup...
2018-11-09 12:31:09 7283
转载 Spring Boot + log4j2
Spring Boot + Log4j2 日志框架配置 (Maven) 参考Spring Boot官方文档 日志部分Spring Boot默认情况下,当使用"Starters" 使用Logback输出日志, 还包括适当的Logback路由, 确保其他的日志框架(Java Util Logging, Commons Logging, Log4j, SLF4J)都能正常使用S...
2018-10-22 18:54:01 224
原创 spring boot配置多rabbitMQ
因为在项目中,有可能会用到多套RabbitMQ,如果只用一套那则用SpringBoot自带的配置就可以了,但多套则不行,需要自行配置。以下为本人自己总结的配置。发现了一个更好的配置多套rabbitMQ的方式1.application.ymlspring: rabbitmq: hospSync: host: localhost port:...
2018-09-28 10:56:40 2029
转载 IntelliJ IDEA快捷键
来自:Dawnzhang链接:http://www.cnblogs.com/clwydjgs/p/9390488.html写在前面以前一直用的elipce,如今入坑IntelliJ IDEA,没想到啊。深深的爱上了它,强大到无所不能;"工欲善其事必先利其器",IntelliJ IDEA作为一个非常好用的工具,他的神奇之处真的很多很多,掌握了这款idea的技巧之后,开发效率至少提...
2018-09-12 11:56:36 231
原创 聊聊QPS/TPS/并发量/系统吞吐量的概念
QPS: 每秒钟处理完请求的次数;注意这里是处理完。具体是指发出请求到服务器处理完成功返回结果。可以理解在server中有个counter,每处理一个请求加1,1秒后counter=QPS。吞吐量: 这个问题从业务上来讲,可以理解为应用系统每秒钟最大能接受的用户访问量。或者每秒钟最大能处理的请求数; TPS:每秒钟处理完的事务次数,一般TPS是对整个系统来讲的。一个应用系统1s能完成多...
2018-09-07 17:07:22 24913
转载 jdbctemplate.query()方法详解
jdbctemplate.query()方法详解转自:http://www.cnblogs.com/wanggd/p/3140506.html(转)Spring JdbcTemplate 方法详解 Spring JdbcTemplate方法详解 文章来源:http://blog.csdn.net/dyllove98/article/details/7772463 Jd...
2018-09-05 16:46:12 44193
转载 Maven实战(六)--- dependencies与dependencyManagement的区别
Maven实战(六)--- dependencies与dependencyManagement的区别 在上一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将这些区别总结下来。 1、DepencyManagement应用场景 当我们的项目模块很多的时候,...
2018-09-05 14:40:53 195
转载 Java中Lambda表达式的使用
Java中Lambda表达式的使用简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人建议不要乱用,因为这就和某些很高级的黑客写的代码一样,简洁,难懂,难以调试,维护人员想骂娘.)Lambda表达式是Java SE 8中一个重要的新特性。lambda表达式允许你通过表达式来代替功...
2018-09-03 17:17:35 173
转载 Java中经常遇到的类执行顺序
单类执行顺序:下面是我写的一个demo:package com.bw;/** * @author brickworker * 关于类Color的描述:测试单个类的执行顺序问题 */public classColor { //构造函数 public Color() { System.out.println("构造函数执行"); } /...
2018-08-21 00:19:16 189
原创 Java基础01
1.一个数字1或者一个数字0,代表一个位(bit)每逢8个位就是一个字节(Byte)1 Byte = 8 bit1 KB = 1024 Byte1 MB = 1024 KB1 GB = 1024 MB1 TB = 1024 GB1 PB = 1024 TB1 EB = 1024 PB1 ZB = 1024 EB2.Dos常用命令1. 切换盘符...
2018-05-10 08:08:35 300
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人