
java基础
空杯沏
空杯之心,工匠之怀
展开
-
java回调及匿名内部类实现
public class test { public static void main(String[] args) { pricth(); } public static void pricth() { doRequest(new inInterface() { @Override pu原创 2015-07-03 09:44:22 · 2265 阅读 · 0 评论 -
延迟队列DelayQueue
应用场景:消息延迟60秒发送,如果用调度去查询执行的话,会有误差public class Test2 { public static void main(String[] args) throws InterruptedException { DelayQueue<Message> delayQueue = new DelayQueue<>(); for (原创 2016-10-10 09:51:38 · 2868 阅读 · 0 评论 -
重入锁 ReentrantReadWriteLock
1.lock方法-获取锁,默认情况是不公平的锁,如果其它线程占用锁的话,会等待,当线程较少的时候性能不及synchronized, 当线程较多的时候,性能较为优秀,其底层用了AQS实现。 2.unlock方法是释放锁,必须要在代码finally里面,避免没有释放锁导致线程溢出问题。 3.tryLock方法是尝试获取锁,如果锁被其他线程占有,那么获取失败,则跳过执行。其应用场景多用于进行非重要任原创 2016-10-10 09:48:23 · 647 阅读 · 0 评论 -
高并发容器--CopyOnWrite
—–CopyOnWrite容器即写时复制的容器。通俗的讲就是往容器里面写数据的时候,不再当前容器写数据,而是将当前的容器拷贝一份,往拷贝新的容器里面写数据,添加完元素后,再将原容器指向新的容器。这样做的好处就是,并发读的时候不需要加锁,因为当前容器没有添加任何元素,不过写的时候需要加锁,所以CopyOnWrite也是一种读写分离的思想,适用于读多写少的并发场景,CopyOnWriteArrayLis原创 2016-10-10 09:45:04 · 1222 阅读 · 0 评论 -
java.utils包的认识
原创 2015-03-15 17:07:43 · 1136 阅读 · 0 评论 -
map、set认识
import java.util.HashMap;import java.util.HashSet;import java.util.Hashtable;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.LinkedHashSet;import java.util.Map;原创 2015-03-18 15:56:31 · 551 阅读 · 0 评论 -
try、catch、finally
public class test { public static void main(String[] args) { System.out.println(finall("1")); System.out.println(finall("ssss")); } @SuppressWarnings("finally") public static int f原创 2015-03-19 16:31:50 · 518 阅读 · 0 评论 -
HashMap、HashSet、ArrayList实现机制
1.HashMap实现机制:我们首先看一下什么是hash算法(摘自百度知道):这个问题有点难度,不是很好说清楚。 我来做一个比喻吧。 我们有很多的小猪,每个的体重都不一样,假设体重分布比较平均(我们考虑到公斤级别),我们按照体重来分,划分成100个小猪圈。 然后把每个小猪,按照体重赶进各自的猪圈里,记录档案。 好了,如果我们要找某个小猪怎么办呢?我们需要每个猪圈,每个小猪的比对吗?原创 2015-03-24 16:05:30 · 615 阅读 · 0 评论 -
java字符编码
1.常见的字符编码有UTF-8、GBK、IOS8859-12.常见的中文乱码有??、涓浗、ä¸å½下面做个测试类public static void main(String[] args) throws UnsupportedEncodingException { String zwutf = new String("中国".getBytes(),"UTF-8")原创 2015-05-11 19:06:03 · 1047 阅读 · 0 评论 -
ReferenceQueue+SoftReference+WeakReference
首先先了解jvm gc的知识,对象创建后,如果没有引用的话会被jvm回收掉。gc由jvm自动回收,即便System.gc()只是建议jvm执行GC,但是到底GC执行与否有jvm决定。 SoftReference会尽量保持对referent的引用,知道jvm内存不足的,才会回收,所以这个比较适合实现一些cache WeakReference每次jvm执行gc的时候会被回收 ReferenceQu原创 2016-10-10 09:47:16 · 1123 阅读 · 0 评论