随笔分类 -  JAVA

摘要:一.公平锁/非公平锁(FairSync/NonfairSync): 公平锁: 公平锁是指多个线程按照申请锁的顺序来获取锁。(先尝试获取锁, 失败进队列) 非公平锁: 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现 阅读全文
posted @ 2019-01-11 11:02 jiabei 阅读(380) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-11-13 14:48 jiabei 阅读(3) 评论(0) 推荐(0)
摘要:junit单元测试 spring boot dubbo服务项目的时候报错MockServerContainer does not support addEndpoint 在@SpringBootTest中加上SpringBootTest.WebEnvironment.RANDOM_PORT成功解决错 阅读全文
posted @ 2018-11-05 15:28 jiabei 阅读(1300) 评论(4) 推荐(1)
摘要:HashMap: 1.存储结构: JDK1.7 HashMap底层存储结构是散列表,即数组(散列桶Map.Entry[]) + 单向链表. JDK8 HashMap底层存储结构是散列表,即数组(散列桶Node[]) + 单向链表 + 红黑树(TreeNode) 加入红黑树的原因: HashMap存储 阅读全文
posted @ 2018-02-26 14:23 jiabei 阅读(136) 评论(0) 推荐(0)
摘要:optional是guava的base包中的一个类,主要为了避免空指针存在,优雅的校验参数是否为空,在JDK8中也是加入了Optional类,其中 包含了guava.optional的所有方法,并新增了一些其他的特性和方法... 应用场景: Optional类应该作为方法的返回值来使用。 Optio 阅读全文
posted @ 2018-02-02 13:48 jiabei 阅读(157) 评论(0) 推荐(0)
摘要:GUAVA IO 对很多IO的读写操作进行了封装,大大减少了io的读写操作 阅读全文
posted @ 2018-02-02 13:47 jiabei 阅读(214) 评论(0) 推荐(0)
摘要:Guava Cache适用场景: 你愿意消耗一部分内存来提升速度; 你已经预料某些值会被多次调用; 缓存数据不会超过内存总量; Guava Cache是一个全内存的本地缓存实现,它提供了线程安全的实现机制。整体上来说Guava cache 是本地缓存的不二之选,简单易用,性能好。 创建方式 Cach 阅读全文
posted @ 2018-02-02 13:25 jiabei 阅读(248) 评论(0) 推荐(0)
摘要:Java有8中基本数据类型:byte ,short,int,long,float,double,char,boolean。 Java并不存在unsigned类型,guava新定义了UnsignedInteger 和 UnsignedLong 分别表示int和long的无符号类型。 在com.goog 阅读全文
posted @ 2018-02-02 13:17 jiabei 阅读(743) 评论(0) 推荐(0)
摘要:一. Preconditions: 优雅的参数校验 二. collections:集合 三.Primitives:八种原始类型和无符号类型的静态工具包 四.cache:缓存工具 五.IO:简化IO读写操作 六.Optional:非空校验 阅读全文
posted @ 2018-02-02 13:16 jiabei 阅读(192) 评论(0) 推荐(0)
摘要:1.checkNotNull(T reference, @Nullable Object errorMessage) :null则抛异常 此方法返回的是T本身 @Test public void testCheckNotNull() { Preconditions.checkNotNull(null 阅读全文
posted @ 2018-02-01 14:18 jiabei 阅读(186) 评论(0) 推荐(0)
摘要:最近开发公司的运营平台,几次需求都涉及到excel的导入导出,所以决定写个util,包含实体对象转换功能,并且打成了jar包,在文章下方有链接 具体使用方法看下面代码注释👇: 一.excel导出接口.<br/> 阅读全文
posted @ 2018-01-31 13:21 jiabei 阅读(329) 评论(0) 推荐(0)
摘要:也是同样的问题, 浪费我不少时间,在此记录 问题描述: ajax请求后端,springmvc接收参数, 参数是个对象,属性中有list 解决方法: JS: function save() { var gifts = []; var rows = detail.fnGetNodes(); for (v 阅读全文
posted @ 2017-12-28 17:37 jiabei 阅读(3032) 评论(0) 推荐(0)
摘要:由于项目中使用POI导入,导出excel,对其中几个获取行号和列号的方法返回的结果感到迷惑, 所以特地写了代码进行测试,这里记录一下,方便以后查看. 结论: getLastRowNum: 返回excel中最后一行数据的物理行号减1,空Sheet返回0. getPhysicalNumberOfRows 阅读全文
posted @ 2017-12-09 18:50 jiabei 阅读(1074) 评论(0) 推荐(0)