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