摘要: 一 List三个子类的区别和应用场景 Vector:底层是数组,查询快,增删慢 方法加锁(Synchronized) SynchronizedList:底层是数组,查询快,增删慢 代码块加锁(Synchronized) CopyOnWriteArrayList:底层是数组,查询快,增删慢 实现读写分 阅读全文
posted @ 2019-03-18 15:35 好记性不如烂笔头=> 阅读(524) 评论(0) 推荐(0) 编辑
摘要: 1.深入浅出CAS 前言 CAS(Compare and Swap),即比较并替换,实现并发算法时常用到的一种技术,Doug lea大神在java同步器中大量使用了CAS技术,鬼斧神工的实现了多线程执行的安全性。CAS原理(也可以理解为乐观锁)保证了原子 CAS的思想很简单:三个参数,一个当前内存值 阅读全文
posted @ 2019-03-18 12:49 好记性不如烂笔头=> 阅读(4227) 评论(0) 推荐(0) 编辑
摘要: 1.Hashtable 特性(先总结下面会详细讲的): 1.Hashtable 存储的内容是键值对(key-value)映射,其底层实现是一个Entry数组+链表。 2.Hashtable是线程安全(他的put和get 方法都被synchronized 修饰)的它的key、value都不可以为nul 阅读全文
posted @ 2019-03-15 14:51 好记性不如烂笔头=> 阅读(1166) 评论(0) 推荐(0) 编辑
摘要: 1.为什么要有cookie/session? HTTP是一种无状态的协议,为了分辨链接是谁发起的,需自己去解决这个问题。不然有些情况下即使是同一个网站每打开一个页面也都要登录一下。而Session和Cookie就是为解决这个问题而提出来的两个机制。 2.cookie/session执行流程 cook 阅读全文
posted @ 2019-03-15 11:20 好记性不如烂笔头=> 阅读(929) 评论(0) 推荐(0) 编辑
摘要: 自己的笔记 只是为了自己更好的操作某些东西 不建议你们看 1. mvn 打包到本地 mvn install:install-file -DgroupId=org.springframework.boot -DartifactId=spring-boot-starter-data-redis -Dve 阅读全文
posted @ 2019-03-07 16:42 好记性不如烂笔头=> 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 1.源码 java1.7 hashMap 底层实现是数组+链表 java1.8 对上面进行优化 数组+链表+红黑树 2.hashmap 是怎么保存数据的。 在hashmap 中有这样一个结构 Node implenets Map.entity{ hash key value next } 当我们像h 阅读全文
posted @ 2019-02-27 18:08 好记性不如烂笔头=> 阅读(25875) 评论(2) 推荐(8) 编辑
摘要: 1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的 阅读全文
posted @ 2019-02-27 13:59 好记性不如烂笔头=> 阅读(74751) 评论(3) 推荐(3) 编辑
摘要: 一、为什么要线程通信? 1. 多个线程并发执行时, 在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务, 并且我们希望他们有规律的执行, 那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数据。 2.当然如果我们没有使用线程通信来使用多线程共同操作同一份数据的话 阅读全文
posted @ 2019-02-27 13:21 好记性不如烂笔头=> 阅读(17080) 评论(0) 推荐(0) 编辑
摘要: 1.什么是线程安全: java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如对同一个数据的增删改查),将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。 二、 如何使用同步? 在网上简单的搜了一下 阅读全文
posted @ 2019-02-27 11:14 好记性不如烂笔头=> 阅读(785) 评论(0) 推荐(0) 编辑
摘要: 1.操作系统中进程和线程的区别: 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是cpu调度的最小单位) 阅读全文
posted @ 2019-02-26 19:01 好记性不如烂笔头=> 阅读(296) 评论(0) 推荐(0) 编辑