Java原创
-兰天白云-
成功= 一个明确的职业目标+持续的行业积累+不断的知识补充。
展开
-
手写RPC框架
目录目的:使用技术时序图用例图具体代码ShareCoreServiceWeb使用步骤运行结果目的:自己动手写一个RPC框架,懂得运行原理使用技术1..netty2.动态代理3.负载均衡算法4.ZK5.自动扫包6.注解时序图 用例图 具体代码 ...原创 2020-01-04 20:24:03 · 267 阅读 · 0 评论 -
从JAVA5到JAVA10新特性总结
本文参考或者摘抄:https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/JDK5新特性1:自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装类中。自动拆箱的过程:每当需要一个值时,被包装对象中的值就被自动地提取出来,没必要再去调用intValue...原创 2019-07-24 09:41:56 · 263 阅读 · 0 评论 -
并发下的ArrayList错误分析
目录结果1.并发导致数据丢失结果2.并发导致插入null结果3.并发导致数组越界分析:直接看示例 public class ArrayListTest { private static List<String> threadList = new ArrayList<String>(); public ...原创 2018-08-15 07:35:30 · 2242 阅读 · 0 评论 -
并发下HashMap错误分析
目录1.并发add相同hash值or相同key的元素,导致丢失2. Rehash导致死循环1.并发add相同hash值or相同key的元素,导致丢失Jdk1.7源码 void addEntry(int hash, K key, V value, int bucketIndex) { if ((size >= threshold) &&...原创 2018-08-15 07:29:12 · 975 阅读 · 0 评论 -
深入研究IO-BufferedOutputStream的坑
目录1.实战:复制文件2.OutputStream的缓存器(自定义数组)与BufferedOutputStream中的缓存器(数组)区别要介绍BufferedOutputStream的坑,我们先了解一下OutputStream类 抽象类OutputStream类有三个write方法 public abstract void write(int b) public v...原创 2018-08-03 07:52:16 · 3323 阅读 · 2 评论 -
深入研究JDK并发集合类-ThreadLocal实现原理
具体如何使用,本章不关注。请自行百度。关注核心方法 get() 和 set() public class ThreadLocal<T> { //放 public void set(T value) { Thread t = Thread.currentThread(); ThreadLocal...原创 2018-08-01 08:25:12 · 363 阅读 · 0 评论 -
深入研究JDK并发集合类-LinkedBlockingQueue 中put和take阻塞原理分析
目录 结构:PUT操作TAKE操作结构: public class LinkedBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<E>, java.io.Serializable { private final...原创 2018-08-01 08:22:07 · 1238 阅读 · 0 评论 -
深入研究JDK并发集合类-CopyOnWriteArrayList
很多场景中都是读远远高于写操作,那么每次对读取进行加锁其实是一种资源浪费.根据读写锁的思想,读锁和读锁之间不冲突. 但是读操作会受到写操作的阻碍,在写操作发生时,读就必须等待,否则可能读到不一致的数据.同理读操作正在进行的时候, 程序也不能进行写入. JDK提供了CopyOnWriteArrayList类,读取是完全不加锁的,并且写入也不会阻塞读取操作,这样一来性能大大提升了. 其实,就是...原创 2018-08-01 08:18:21 · 317 阅读 · 0 评论 -
深入研究集合-List
目录6.1.ArrayList1.组成:2.怎么扩容3.新增4.插入5、插入数组6、删除6.2.LinkedList1.组成:2.新增3.插入4.删除6.3两种List使用对比参考书:《很好-Java程序性能优化.pdf》List有三种:ArrayList、Vector和LinkedList.我们只讨论Arrylist和LinkedLis...原创 2018-08-01 07:43:04 · 251 阅读 · 0 评论 -
深入研究集合-Map
目录7.1.HashMap7.2.LinkedHashMap有序的map7.3.TreeMap排序的map本章研究MAP之类7.1.HashMap简单的说,HashMap内部结构使用的是数组。HashMap就是就key做Hash算法,然后将hash后的值映射到数组下表,这样就能快速操作数组。Hashmap必须保证几个特点:1).hash算法必须是高效的;2).h...原创 2018-08-01 07:53:03 · 385 阅读 · 0 评论 -
深入研究JDK并发集合类-Collections.synchronizedXXX
Collections下有很多同步方法。 以Collections.synchronizedList来举例说明源码: Collections.synchronizedList(new ArrayList<String>()); new SynchronizedList<>(list) 原文:https://blog.cs...原创 2018-08-01 08:05:29 · 453 阅读 · 0 评论