随笔分类 - Java 学习
摘要:1)、ReentrantLock.tryLock //获取没有被其他线程持有的锁 //1)、当没有被任何线程持有时,首先将计数器设置为1,并设置当前持有锁的线程为当前线程,最后返回true //2)、当被当前线程持有时,将计数器加1,最后返回true; //3)、否则返回false public boolean tryLock() { ...
阅读全文
摘要:Netflix的Hystrix是一个帮助解决分布式系统交互超时处理和容错的类库,同样拥有保护系统的能力。 服务隔离 服务降级 1、服务隔离 在一个系统中,一个业务通常会依赖多个服务,且这若干个服务的调用是互不干扰的,故一般将这若干个服务的调用方在一个线程池中,当此时某一个服务不可用时,就会造成线程池中的线程因等待相应而被阻塞,使主服务受到很大的影响,甚至不可用。使用Hystrix通过对每一个依...
阅读全文
摘要:1、开始 public class AtomicInteger extends Number implements java.io.Serializable 继承了类Number,实现了接口Serializable(可序列化) 2、属性 // setup to use Unsafe.compareAndSwapInt for updates private static fi...
阅读全文
摘要:1、开始 public class LinkedHashMap extends HashMap implements Map 继承了类HashMap,实现了Map接口 2、属性 //双向链表,用于记录所有的元素 private transient Entry header; //遍历顺序【访问顺序或插入顺序】,默认插入顺序 private final boo...
阅读全文
摘要:1、开始 public class HashMap extends AbstractMap implements Map, Cloneable, Serializable 继承了抽象类AbstractMap,实现了Map接口,Cloneable接口(可克隆),Serializable接口(可序列化) 2、属性 //默认初始化容量为16,容量必须是2的n次幂 static fi...
阅读全文
摘要:参考资料: http://www.importnew.com/17440.html http://anxpp.com/index.php/archives/664/
阅读全文
摘要:参考资料: http://www.cnblogs.com/flyinghearts/archive/2011/09/23/2186593.html
阅读全文
摘要:扩展:当不需要关注奇偶数原来的顺序时 参考: http://www.cnblogs.com/xing901022/p/3755795.html http://blog.chinaunix.net/uid-26548237-id-3753247.html http://www.cnblogs.com/
阅读全文
摘要:参考资料: https://segmentfault.com/a/1190000004597758 http://blog.csdn.net/ns_code/article/details/17881581 http://zyjustin9.iteye.com/blog/2092131 http:/
阅读全文
摘要:void quick(int[] arr, int left, int right){ if(left > right){ return; } //以基准数为分界限,将比基准线大的都移动到基准数的右边,将比基准数小的都移动到基准数的左边 //每次找到一对就交换位置,最后确定基准数的位置 ...
阅读全文
摘要:1、要使volatile变量提供理想的线程安全,必须同时满足以下两个条件: 1)、对变量的写操作不依赖于当前值; 2)、该变量没有包含在具有其他变量的不变式中。 第一个条件的限制使volatile变量不能用作线程安全的计数器。虽然增了操作(x++)看上去类似一个单独操作,实际上它是一个由读取-修改-写入操作序列组成的组合操作,必须以原子方式执行,而volatile不能提供必须的原子特性。实现正...
阅读全文
摘要:1、线程池的处理流程(execute方法) 当向线程池提交一个任务后,其经历的流程如下: 1)、如果当前线程数小于核心线程数(corePoolSize),则创建新线程来执行该任务; 2)、如果当前线程数不小于,即等于或大于核心线程数(corePoolSize),则将任务添加到阻塞队列(BlockingQueue)中; 3)、如果阻塞队列中的任务已满,且此时线程数小于最大线程数(maximumPo...
阅读全文
摘要:CyclicBarrier: 适合的业务场景,比如 1)、,现有一大任务,需要得到全年的统计数据的,这个工作量是巨大的,那么可以将其分割为12个月的子任务,各个子任务相互独立,当所有子任务完成了,则就可以进行全年统计了,这样大大提升了统计效率。 2)、大家一起去郊游,由于大家住的地方比较分散,故需要
阅读全文
摘要:二、parseInt将字符串数字转换为数值int 三、valueOf将字符串转换为数值Integer 将整数转化为radix进制表示的字符串 五、toString(i) 将整数i表示为10进制的字符串 六、toHexString(i) toOctalString(i) toBinaryString(
阅读全文
摘要://复制文件void copyFile(File srcFile, File destFile)//将文件内容转化为字符串String readFileToString(File file)//将文件内容转化为字符串集合,每行一个字符串List readLines(File file)//获取目录或...
阅读全文
摘要:Jackson提供了一系列注解,方便对JSON序列化和反序列化进行控制,下面介绍一些常用的注解。1、@JsonIgnore 此注解用于属性上,作用是进行JSON操作时忽略该属性。2、@JsonFormat 此注解用于属性上,作用是把Date类型直接转化为想要的格式,如@JsonFormat(patt...
阅读全文
摘要:方法一:传统的线程方法import org.apache.log4j.Logger;/** * 两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。 * 锁是上在代表要操作的资源的类的内部方法中,而不是线程代码中。 * * 样例: * 1)、主线程执行10次循环,接着子线程执...
阅读全文
摘要:public class TestJVM { // 运行时数据区【方法区、堆、程序计数器、虚拟机栈、本地方法栈】 private static int _1M = 1024 * 1024; public static void main(String[] args) { by...
阅读全文
摘要:package com.wangzhu.string;import java.io.UnsupportedEncodingException;public class SubStringDemo1 { public static void main(String[] args) throws ...
阅读全文

浙公网安备 33010602011771号