欢迎点赞阅读,一同学习交流,有疑问请留言 。 GitHub上也有开源 "JavaHouse" ,欢迎star 引用 当开发过程中,我们遇到并发问题。怎么解决? 一种解决方式,简单粗暴:上锁。将千军万马都给拦下来,只允许一个人过独木桥。书面意思就是将并行的程序变成串行的程序。现实的锁有门锁、挂锁和抽屉 ...
分类:
编程语言 时间:
2019-12-01 10:10:14
阅读次数:
136
一、查看cpu总个数1第一种方法:top命令法首先执行top命令,如下图所示。Linux如何查看主机的cpu总个数和总内存2在top命令的显示界面,按数字键1,即可查看到当前系统中的总cpu数,如下图为4核的cpu。Linux如何查看主机的cpu总个数和总内存3第二种方法,通过proc文件系统,直接获取cpu总数量,具体执行如下命令:cat/proc/cpuinfo|grepprocessorLi
分类:
系统相关 时间:
2019-11-30 00:12:40
阅读次数:
191
1.背景: countDownLatch是在java1.5被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。 存在于java.util.cucurrent包下。 2.概念 countDownLatch这个 ...
分类:
其他好文 时间:
2019-11-19 15:29:57
阅读次数:
64
求平均数是MapReduce比较常见的算法,求平均数的算法也比较简单,一种思路是Map端读取数据,在数据输入到Reduce之前先经过shuffle,将map函数输出的key值相同的所有的value值形成一个集合value-list,然后将输入到Reduce端,Reduce端汇总并且统计记录数,然后作 ...
分类:
其他好文 时间:
2019-11-17 14:44:15
阅读次数:
86
1 LockSupport 类使用类似信号量的机制,它为每一个线程准备了一个许可,如果许可可用,那么park()方法会立即返回,并且消费这个许可,如果许可不可用,就会阻塞, 而unpark()方法则使得一个许可变为可用。 这一个特点使得:即使unpark(0方法操作发生在park()方法之前,它也可 ...
分类:
编程语言 时间:
2019-11-16 23:05:06
阅读次数:
95
线程的中断 因为线程中的stop()方法,已经被弃用,因为它是不安全的,使用它相当于你在家用电脑,直接在没有预知的情况下直接给你停电了一样,太暴力,所以不能用它。应该用 interrupt(),这个不是直接中断,而是将当前线程标志为中断标记,只是一个标记。怎么用,代码示例如下: 注意:Thread. ...
分类:
编程语言 时间:
2019-11-14 00:03:55
阅读次数:
110
本篇学习Spring Cloud家族中的重要成员:Hystrix。分布式系统中一个服务可能依赖着很多其他服务,在高并发的场景下,如何保证依赖的某些服务如果出了问题不会导致主服务宕机这个问题就会变得异常重要。 针对这个问题直观想到的解决方案就是做依赖隔离。将不同的依赖分配到不同的调用链中,某一条链发生 ...
分类:
编程语言 时间:
2019-11-13 22:04:27
阅读次数:
68
一、中断作用 Linux 内核需要对连接到计算机上的所有硬件设备进行管理。如果要管理这些设备,首先得和它们互相通信才行。 一般有两种方案可实现这种功能: + 轮询(polling) 让内核定期对设备的状态进行查询,然后做出相应的处理; + 中断(interrupt) 让硬件在需要的时候向内核发出信号 ...
分类:
系统相关 时间:
2019-11-12 23:11:57
阅读次数:
175
简介 代理模式出场率真的相当的高,几乎所有框架中无一例外都用到了代理模式,所以了解一下收益还是很高的。 代理模式是什么 如果用一句话来描述代理模式: 代理模式就是为其他对象提供一种代理以控制对被代理对象的访问,也就是我们常说的中介 在开发以及生活中经常听到正向代理,反向代理这样的词,举例说明 正向代 ...
分类:
编程语言 时间:
2019-11-10 17:26:40
阅读次数:
70
1、原理介绍: 使用interrupt来通知,而不是强制。 在Java中,最好的停止线程的方式是使用中断 Interrupt,但是这仅仅是会通知到被终止的线程“你该停止运行了”,被终止的线程自身拥有决定权(决定是否、以及何时停止),这依赖于请求停止方和被停止方都遵守一种约定好的编码规范。 任务和线程 ...
分类:
编程语言 时间:
2019-11-10 17:17:21
阅读次数:
72