Java
star-l
这个作者很懒,什么都没留下…
展开
-
面经连接池 - 多线程原理(二)线程安全 篇
序言:想用好多线程,只知道多线程是如何工作的还是不够,更多的我们应该知道如何多线程如何实现 “线程安全”线程安全定义:代码封装了所有必要的正确性保障手段(如互斥同步等),令调用者无需关心多线程问题,更无需采取任何措施来保证多线程的调用。线程安全会造成的问题:多个线程同时读写一个共享资源并没有任何同步措施时,会导致脏数据或者其他不可见的问题。共享数据(主内存中可操作的数据)的 “...原创 2019-10-30 19:59:35 · 992 阅读 · 0 评论 -
面经连接池 - 线程原理(一)JMM(Java内存模型) 篇
如果要理解多线程问题首先要了解多线程是如何工作的主内存与工作内存:线程,工作内存,主内存三者交互关系图:主内存:可以线程共享的变量(会出现竞争关系) 包括实例字段 静态字段 数组对象的元素(此处与Java中还有所不同)(不包括局部变量与方法参数)变量必须在主内存中产生工作内存:该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作(读取赋值)都必须在工作内存中进行,不能直接读...原创 2019-10-28 21:07:00 · 708 阅读 · 0 评论 -
面经连接池 - 集合框架(二)Map 篇
HashMap (桶位数组 + 链表/红黑树 、线程不安全)(Java1.8以前 桶位数组+链表)HashMap<K, V> 根据 K 的HashCode 来存储对应 V 大多数情况可以直接定位到它的 V 底层为哈希表访问时间复杂度为O(1) 但是遍历顺序却不确定 不是有序的(存储位置与插入时间无关) HashMap最多只允许一条记录的键 为 null ,允许多条记录的值为nu...原创 2019-10-28 00:06:06 · 567 阅读 · 0 评论 -
面经连接池 - 集合框架(一)List 篇
ListList是Java非常常用的数据集合框架。List是有序的Collection(对映下标与插入顺序有关)Java List一共有三个实现类:ArrayList、LinkedList、Vector(不常用,渐渐被取代)一.ArrayList(数组、随机访问、不同步 线程不安全)ArrayList 是最常用的List实现类,底层通过数组(是一串连续的内存地址)实现,所...原创 2019-10-26 11:58:11 · 874 阅读 · 0 评论