对于 Integer var = ? 在-128 至 127 范围内的赋值,Integer 对象是在 IntegerCache.cache 产生,会复用已有对象,这个区间内的 Integer 值可以直接使用==进行 判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复...
徐 承恩
2年前 (2019-03-12) 722℃
0喜欢
一把锁只能同时被一个线程所持有,没有拿到锁的线程只能等待。
每个实例都对应有自己的一把锁,不同实例互不影响。注意:当锁对象是*.class以及synchronized修饰的static方法时所有对象都共用同一把锁。
无论方法是正常执行完毕还是抛出异常,都会释放锁。
转载请注明...
徐 承恩
2年前 (2019-02-15) 1128℃
4喜欢
订单的超时取消很多系统采用定时任务,实际上达不到要求。我用的是延迟队列,但缺点是只实现了基于jvm的,分布式采用的是修改之前去查询订单状态,以及分布式锁获取的方式来控制,这样获得锁的,先去查订单是否已经取消掉,如果没有,就改成去掉。但这种方式虽然效果不错,我对这个半吊子的思路还...
徐 承恩
3年前 (2018-10-24) 1136℃
1喜欢
徐叔相信大多数互联网从业者都有使用Linux服务器,本篇徐叔介绍一下如何在Linux中下载并安装Oracle JDK(甲骨文)。
通常来讲我都是去甲骨文官方网站下载JDK,然而在Linux中我们直接使用curl或者wget命令下载甲骨文提供的JDK会莫名其妙的无法解压或者说解压后...
徐 承恩
3年前 (2018-05-05) 1364℃
5喜欢
Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。
ActiveMQ特色:
支持Java消息服务 (JMS) 1.1 版本
Spring ...
徐 承恩
3年前 (2018-04-29) 1578℃
3喜欢
在开发过程中,遇到一个情况,就是从所有骑手Id中过滤没有标签的骑手Id(直接查询没有标签的骑手不容易实现)。
List<Integer> allRiderIdList = new ArrayList(); // 所有的骑手,大致有23W数据...
徐 承恩
4年前 (2017-07-04) 1835℃
6喜欢
按指定大小分割List的一种算法。直接贴代码了,至于应用场景留给大家自己去思考。
public static List<List<?>> splitList(List<?> list, int len) {
...
徐 承恩
4年前 (2017-06-15) 1742℃
3喜欢
策略模式是对算法的包装,把使用算法的责任和算法本身分隔开,委派给不同的对象管理。策略模式通常把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。
策略模式的一般类图:
纯Java实现的策略模式:
1.定义策略接口
package com...
徐 承恩
4年前 (2017-01-03) 3027℃
4喜欢
什么是AOP、切面编程?想必各位Java Coder早已不陌生,徐叔就不过多解释。直接上代码需要的小伙伴们可以参考。
一、自定义注解
/**
* 打印日志注解<br>
* 作者:徐承恩<br>
* 邮箱:xuce@yo...
徐 承恩
4年前 (2016-12-10) 1704℃
3喜欢