摘要:
一个对象变量可以指示多种实际类型的现象称为多态 允许不同类的对象对同一消息做出响应。方法的重载、类的覆盖正体现了多态。 1、多态的机制 1.1 本质上多态分两种 重载(overload 发生在一个类中,方法名必须相同,不同参数)就是编译时多态的一个例子,编译时多态在编译时就已经确定,运行时运行的时候 阅读全文
摘要:
在并发编程需要处理的两个关键问题是:线程之间如何通信 和 线程之间如何同步。 通信 通信 是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存 和 消息传递。 在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。 在消 阅读全文
摘要:
设置线程名 查看线程名是很简单的,调用Thread.currentThread().getName()即可。 守护线程 守护线程是为其他线程服务的 垃圾回收线程就是守护线程~ 守护线程有一个特点: 当别的用户线程执行完了,虚拟机就会退出,守护线程也就会被停止掉了。 也就是说:守护线程作为一个服务线程 阅读全文
摘要:
进程作为资源分配的基本单位 线程作为资源调度的基本单位,是程序的执行单元,执行路径(单线程:一条执行路径,多线程:多条执行路径)。是程序使用CPU的最基本单位。 线程有3个基本状态: 执行、就绪、阻塞(还有新生,死亡) 线程有5种基本操作: 派生、阻塞、激活、 调度、 结束 线程有两个基本类型: 1 阅读全文
摘要:
ConCurrentHashMap的底层是:散列表+红黑树,与HashMap是一样的。(不允许key和value是null值) JDK1.8底层是散列表+红黑树 ConCurrentHashMap支持高并发的访问和更新,它是线程安全的 检索操作不用加锁,get方法是非阻塞的 key和value都不允 阅读全文
摘要:
TreeMap实现有序要么就是外界传递进来Comparator对象,要么就使用默认key的Comparable接口(实现自然排序) 最后我就来总结一下TreeMap要点吧: 阅读全文
摘要:
出处:http://blog.codinglabs.org/articles/theory-of-mysql-index.html 摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQ 阅读全文
摘要:
散列表介绍: 数组和链表都可以是有序的(即存储顺序与取出顺序一致),但这样是有代价的,需要遍历才可以寻找某一特定元素; 而还有另外的一些存储结构:不在意元素的顺序,能够快速的查找元素的数据 其中就有一种非常常见的:散列表 2.1散列表工作原理 散列表为每个对象计算出一个整数,称为散列码。根据这些计算 阅读全文