摘要: 上一篇详细的分析了独占模式下如何对线程进行处理:简单的总结是Java面向用户提供了锁的机制,后面的实现使用了一个同步队列,由于队列具有先进先出的特点,把每个线程都构造成为队列中的节点,每个节点定义一个状态值,符合状态的节点(线程)才可以有执行的机会,执行完释放,后面的线程只能是等待着前面的执行结果进 阅读全文
posted @ 2018-04-17 07:20 In_new 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 我们说的AQS就是AbstractQueuedSynchronizer,他在java.util.concurrent.locks包下,这个类是Java并发的一个核心类。第一次知道有这个类是在看可重入锁ReentrantLock中,在ReentrantLock中有一个内部类Sync继承于Abstrac 阅读全文
posted @ 2018-04-13 18:17 In_new 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 索引分为聚集索引和非聚集索引,mysql中不同的存储引擎对索引的底层实现可能会不同,这里只关注mysql的默认存储引擎InnoDB。 利用下面的命令可以查看默认的存储引擎 聚集索引: 索引中键值的逻辑顺序决定了表中相应行的物理顺序(索引中的数据物理存放地址和索引的顺序是一致的) ,可以这么理解:只要 阅读全文
posted @ 2018-03-24 15:31 In_new 阅读(18555) 评论(0) 推荐(0) 编辑
摘要: fail fast 机制是Java集合(Collection)中的一种错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail fast(快速失败)事件。例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时,就会抛出Con 阅读全文
posted @ 2018-03-18 21:11 In_new 阅读(1128) 评论(0) 推荐(0) 编辑
摘要: 说到递归,我们张嘴就能说出来是什么?自己调用自己。官方点说就是一个函数用它自己来定义时就是递归。 有时候很多的数学问题或者生活中的问题都可以使用计算机程序来解决,把这些问题统计起来,找出他们之间的... 阅读全文
posted @ 2018-03-17 18:31 In_new 阅读(168) 评论(0) 推荐(0) 编辑
摘要: TCP和UDP都是传输层的协议UDP协议的特点:UDP协议是一种无连接的、不可靠的传输层协议(尽力而为的协议)为什么说UDP是一种无连接、不可靠的协议呢?UDP协议在传输报文之前不需要在双方之间建... 阅读全文
posted @ 2018-03-14 20:37 In_new 阅读(838) 评论(0) 推荐(0) 编辑
摘要: 求最大子段和的问题是比较经典的算法,可以由简单的算法到复杂的算法逐步递进。问题描述:给定序列a [1],a [2],a [3] …… a [n],您的工作是计算子序列的最大和。 例如,给定(6,-... 阅读全文
posted @ 2018-03-12 20:51 In_new 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 在项目中使用struts2和spring mvc为了实现后台的业务代码和前台数据之间的传递,现在基本上不会有用struts2的了,几次面试问的最多的关于struts2的问题就是struts2和sp... 阅读全文
posted @ 2018-03-09 16:06 In_new 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 在CentOS中默认安装有MariaDB,但是我们需要的是MySQL,安装MySQL可以覆盖MariaDB MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授... 阅读全文
posted @ 2018-02-15 00:44 In_new 阅读(1212) 评论(0) 推荐(1) 编辑
摘要: CAS目的:在多线程中为了保持数据的准确性,避免多个线程同时操作某个变量,很多情况下利用关键字synchronized实现同步锁,使用synchronized关键字修可以使操作的线程排队等待运行,... 阅读全文
posted @ 2018-02-02 00:07 In_new 阅读(808) 评论(0) 推荐(0) 编辑