摘要: CPU 飚高 一般是死循环或者死锁问题导致。1. 通过 top 命令找到 CPU 消耗最高的进程,并记住进程 ID {pid}。top -M -n 2 -d 3 >{pid}/top.txt 查看top2. 再次通过 top -Hp {pid} 找到 CPU 消耗最高的线程 ID,并记住线程 ID( 阅读全文
posted @ 2018-12-16 20:33 老王子H 阅读(994) 评论(0) 推荐(0) 编辑
摘要: 整体设计 Service 业务层:业务代码的接口与实现。我们实际使用 Dubbo RPC config 配置层:对外配置接口,以 ServiceConfig, ReferenceConfig 为中心,可以直接初始化配置类,也可以通过 Spring 解析配置生成配置类。 dubbo-config 模块 阅读全文
posted @ 2018-12-16 16:51 老王子H 阅读(1085) 评论(0) 推荐(0) 编辑
摘要: JVM内存分为: 1.方法区:线程共享的区域,存储已经被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据 2.堆:线程共享的区域,存储对象实例,以及给数组分配的内存区域也在这里。 3.虚拟机栈:线程隔离的区域,每个线程都有自己的虚拟机栈,生命周期和线程相同。虚拟机栈描述方法执行的内存 阅读全文
posted @ 2018-12-09 20:07 老王子H 阅读(354) 评论(0) 推荐(0) 编辑
摘要: Cache Aside Pattern(旁路缓存模式)对于读请求先读cache,再读db如果,cache hit,则直接返回数据如果,cache miss,则访问db,并将数据set回缓存对于写请求 淘汰缓存,而不是更新缓存 先操作数据库,再淘汰缓存 Cache Aside Pattern为什么建议 阅读全文
posted @ 2018-12-09 19:45 老王子H 阅读(1124) 评论(0) 推荐(0) 编辑
摘要: n++的问题不能保证原子操作。 因为被编译后拆分成了3个指令,先获取值,然后加一,然后写回内存。把变量声明为volatile,volatile只能保证内存可见性,但是不能保证原子性,在多线程并发下,无法保证线程安全。 三个参数,一个当前内存值V、旧的预期值A、即将更新的值B,当且仅当预期值A和内存值 阅读全文
posted @ 2018-12-08 23:29 老王子H 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 容错设计又叫弹力设计,其中着眼于分布式系统的各种“容忍”能力,包括容错能力(服务 隔离、异步调用、请求幂等性)、可伸缩性(有 / 无状态的服务)、一致性(补偿事务、重 试)、应对大流量的能力(熔断、降级)。可以看到,在确保系统正确性的前提下,系统的可用性是弹力设计保障的重点。 隔离设计what:顾名 阅读全文
posted @ 2018-12-08 22:11 老王子H 阅读(509) 评论(0) 推荐(0) 编辑
摘要: (1)、BeanFactory作为一个主接口不继承任何接口,暂且称为一级接口。 (2)、有3个子接口继承了它,进行功能上的增强。这3个子接口称为二级接口。 (3)、ConfigurableBeanFactory可以被称为三级接口,对二级接口HierarchicalBeanFactory进行了再次增强 阅读全文
posted @ 2017-06-21 23:12 老王子H 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 从资源文件得到DOM对象 先看看XmlBeanFactory所处的地位。 XmlBeanFactory构造函数中调用了XmlBeanDefinitionReader类型的reader属性提供的方法this.reader.loadBeanDefinitions(resource)。这句代码是整个资源加 阅读全文
posted @ 2017-06-20 22:10 老王子H 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区。下面就来讲一讲。。伸手党可直接跳至文末。看总结。。 JAVA中循环遍历list有三种方式for循环、增强for循环(也就是常说的forea 阅读全文
posted @ 2017-06-12 14:42 老王子H 阅读(510) 评论(0) 推荐(0) 编辑
摘要: TCP在传输之前会进行三次沟通,一般称为“三次握手”,传完数据断开的时候要进行四次沟通,一般称为“四次挥手”。 两个序号和三个标志位: (1)序号:seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:ack序号,占32位,只有ACK标志位为 阅读全文
posted @ 2017-06-05 23:05 老王子H 阅读(65116) 评论(1) 推荐(9) 编辑