摘要: 主要思路是IN和NOT IN,用IN来查出哪些是重复的,然后用NOT IN来保留一条; 每个子查询中通过HAVING函数来判断重复; MySQL中不能在更新或删除表的同时去查询这个表,因此需要增加一个字表,否则会报错: 阅读全文
posted @ 2018-01-13 19:03 at0x7c00 阅读(404) 评论(0) 推荐(0) 编辑
摘要: Executor与Task的耦合性 1,除非线程池很非常大,否则一个Task不要依赖同一个线程服务中的另外一个Task,因为这样容易造成死锁; 2,线程的执行是并行的,所以在设计Task的时候要考虑到线程安全问题。如果你认为只会在单任务线程的Executor中运行的话,从设计上讲这就已经耦合了。 3 阅读全文
posted @ 2018-01-04 12:06 at0x7c00 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 任务的取消 中断传递原理 Java中没有抢占式中断,就是武力让线程直接中断。 Java中的中断可以理解为就是一种简单的消息机制。某个线程可以向其他线程发送消息,告诉你“你应该中断了”。收到这条消息的线程可以根据这个消息做出反应。 意思是,不是你说让我停我就会停,我愿意停就停! 中断消息的传递其实就是 阅读全文
posted @ 2018-01-03 14:47 at0x7c00 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 类似于Web服务器这种多任务情况时,不可能只用一个线程来对外提供服务。这样效率和吞吐量都太低。 但是也不能来一个请求就创建一个线程,因为创建线程的成本很高,系统能创建的线程数量是有限的。 于是Executor就出现 了。 Executor框架 线程池的意义 线程创建太少了浪费服务器资源,另外线程创建 阅读全文
posted @ 2018-01-01 13:18 at0x7c00 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 同步容器 同步容器是指那些对所有的操作都进行加锁(synchronize)的容器。比如Vector、HashTable和Collections.synchronizedXXX返回系列对象: 可以看到,它的绝大部分方法都被加了同步(带个小时钟图标)。 虽然Vector这么劳神费力地搞了这么多同步方法, 阅读全文
posted @ 2017-12-26 17:49 at0x7c00 阅读(736) 评论(0) 推荐(1) 编辑
摘要: 2.线程的安全性 2.1什么是线程安全 在多个线程访问的时候,程序还能“正确”,那就是线程安全的。 无状态(可以理解为没有字段的类)的对象一定是线程安全的。 2.2 原子性 典型的例子,多线程状态下的i++是不安全的。因为i++其实是分很多步骤实现的,多个线程的执行过程可能会相互混乱。 竞态条件(R 阅读全文
posted @ 2017-12-26 10:34 at0x7c00 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 什么是Hive Hive是一个基于HDFS的查询引擎。我们日常中的需求如果都自己去写MapReduce来实现的话会很费劲的,Hive把日常用到的MapReduce功能,比如排序、分组等功能进行了抽象,对外提供类似于普通数据库的查询服务。 它只是封装MapReduce计算,但它本质并不是数据库服务,不 阅读全文
posted @ 2017-12-24 18:14 at0x7c00 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 停掉mysql服务: 用安全模式启动mysql: 然后就可以用root直接登录了: 然后根据你的需要自由调整User和Host就行了: 重启mysql: 阅读全文
posted @ 2017-12-24 15:38 at0x7c00 阅读(218) 评论(0) 推荐(0) 编辑
摘要: HDFS高可用 通过主从切换实现单NameNode高可用。通过Federation:水平扩展来联合多NameNode个; NameNode高可用 把edits日志从原来的nameNode中分离出来,存放到专门的日志服务(QJournal)集群中。取消原来的SecondaryNameNode,而使用主 阅读全文
posted @ 2017-12-24 14:18 at0x7c00 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 倒排索引 执行时分两个阶段: 然后以第一个阶段的输出作为第二个阶段的输入: 最终效果类似于: 找出价格最贵的商品 共同QQ好友 阅读全文
posted @ 2017-12-24 14:17 at0x7c00 阅读(337) 评论(0) 推荐(0) 编辑
CSDN - ITeye - GitHub  |  HuQiao's Blog  |  业余经营:IT快报