并发编程的核心是产生矛盾,解决矛盾的过程
herman 6年前 (2019-05-21) 2020浏览
华为要崛起,阻碍了某些人的利益,因此与他们产生了矛盾。矛盾被所有人讨厌,但我们又不得不面对现实。 CPU、IO、内存等它们各自的速度并不相同,因此它们之间也会产生矛盾。CPU 跑的快,磁盘跑的慢,因此我们引入了内存这个中间桥梁来解决矛盾。 ...
herman 6年前 (2019-05-21) 2020浏览
华为要崛起,阻碍了某些人的利益,因此与他们产生了矛盾。矛盾被所有人讨厌,但我们又不得不面对现实。 CPU、IO、内存等它们各自的速度并不相同,因此它们之间也会产生矛盾。CPU 跑的快,磁盘跑的慢,因此我们引入了内存这个中间桥梁来解决矛盾。 ...
herman 6年前 (2019-01-22) 2800浏览
前方的路都是坑,只有你踩过,你才知道,经验就是钱。别问公司里,同样敲的代码,为啥别人比你工资高,因为别人踩的坑比你多。 最近,我们生产服务器就出了一次故障。这个故障本来是一个小问题,但是迫于我们没有运维,就只能我们硬着头皮去自己研究摸索。最...
herman 7年前 (2018-10-16) 6247浏览
你以为你是一个高级工程师,实际上也就只是会用几个框架的API而已!最近代码中出现了一个 Thread.sleep(0),引起了大家的注意。有人说是写错了,有人说是没意义可以删掉!是这样吗?通过本文希望大家看完后有更大的收获! 我们...
herman 7年前 (2018-08-02) 6290浏览 0评论
现在随便问一个程序员都能大谈特谈 Redis,但是你在深入一点问他:Redis 是单线程结构的,但为何单线程还能支持高并发?你一想,好像有点矛盾啊。和我们理解的有点不一样啊,高并发一般都是需要多个线程来处理吧,为什么 Redis 设计反而倒退来呢...
herman 7年前 (2018-07-16) 5301浏览 0评论
CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。 分布式系统(distributed syste...
herman 7年前 (2018-06-09) 6841浏览 0评论
在实战项目中,我们除了使用 jemter 等工具进行压测外,还可以自己动手使用 CountDownLatch 类编写压测代码。可以说 jemter 的并发压测背后也是使用的 CountDownLatch。可见掌握 C...
herman 8年前 (2017-04-18) 3942浏览 0评论
JVM规范规定JVM基于进入和退出Monitor对象来实现方法同步和代码块同步,但两者的实现细节不一样。代码块同步是使用monitorenter和monitorexit指令实现,而方法同步是使用另外一种方式实现的,细节在JVM规范里并没有详细说明...
herman 8年前 (2017-03-17) 5045浏览 2评论
根据经验来看,jdk api 一般推荐的线程数为CPU核数的2倍。但是有些书籍要求可以设置为CPU核数的8倍,也有的业务设置为CPU核数的32倍。 “工作线程数”的设置依据是什么,到底设置为多少能够最大化CPU性能,是本...
herman 8年前 (2017-01-03) 4028浏览 0评论
多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处...
herman 8年前 (2016-12-18) 5318浏览 0评论
synchronized的重量级别的锁,就是在线程运行到该代码块的时候,让程序的运行级别从用户态切换到内核态,把所有的线程挂起,让cpu通过操作系统指令,去调度多线程之间,谁执行代码块,谁进入阻塞状态。这样会频繁出现程序运行状态的切换,线程的挂起...