Skip to content

Commit 311f8df

Browse files
committed
91code
1 parent b3adf8f commit 311f8df

29 files changed

+78
-15
lines changed

MD/Java基础-JVM原理.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,3 +148,5 @@ STW总会发生,不管是新生代还是老年代,比如CMS在初始标记
148148

149149
## [JVM调优](http://www.wangtianyi.top/blog/2018/07/27/jvmdiao-you-ru-men-(er-):shi-zhan-diao-you-parallelshou-ji-qi/?utm_source=github&utm_medium=github)
150150

151+
152+
欢迎光临[91Code](http://www.91code.info/?utm_source=github&utm_medium=github),发现更多技术资源~

MD/Java基础-多线程.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,5 @@ public class CountDownLatchTest {
138138

139139
使用场景:
140140
有四个游戏玩家玩游戏,游戏有三个关卡,每个关卡必须要所有玩家都到达后才能允许通过。其实这个场景里的玩家中如果有玩家A先到了关卡1,他必须等到其他所有玩家都到达关卡1时才能通过,也就是说线程之间需要相互等待。
141+
142+
欢迎光临[91Code](http://www.91code.info/?utm_source=github&utm_medium=github),发现更多技术资源~

MD/Java基础-集合.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,5 @@ ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment。Hash
3030
1. 为进一步提高并发性,放弃了分段锁,锁的级别控制在了更细粒度的table元素级别,也就是说只需要锁住这个链表的head节点,并不会影响其他的table元素的读写,好处在于并发的粒度更细,影响更小,从而并发效率更好
3131
2. 使用CAS + synchronized 来保证实现put操作:如果Key对应的数组元素为null,则通过CAS操作将其设置为当前值。如果Key对应的数组元素(也即链表表头或者树的根元素)不为null,则对该元素使用synchronized关键字申请锁,然后进行操作。如果该put操作使得当前链表长度超过一定阈值,则将链表(寻址时间复杂度为O(N))转换为红黑树(寻址时间复杂度为O(log(N)),插入操作完成之后如果所有元素的数量大于当前容量(默认16)*负载因子(默认0.75)就进行扩容。
3232

33+
34+
欢迎光临[91Code](http://www.91code.info/?utm_source=github&utm_medium=github),发现更多技术资源~

MD/Web框架-Spring.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,3 +48,5 @@ cglib工具:利用asm开源包,对代理对象类的class文件加载进来
4848
1. 如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP
4949
2. 如果目标对象实现了接口,可以强制使用CGLIB实现AOP
5050
3. 如果目标对象没有实现了接口,必须采用CGLIB库,spring会自动在JDK动态代理和CGLIB之间转换
51+
52+
欢迎光临[91Code](http://www.91code.info/?utm_source=github&utm_medium=github),发现更多技术资源~

MD/分布式-CAP理论.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,6 @@ CAP理论就是说在分布式存储系统中,最多只能实现上面的两
1515
如果选择一致性,则需要将数据同步更新到所有节点上,每次写操作就都要等待全部节点写成功,会导致可用性的降低。
1616
如果选择可用性,就需要将数据复制到很多个节点,需要复制的数据很多,复制的过程缓慢,会导致一致性的降低
1717

18-
BASE理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
18+
BASE理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
19+
20+
欢迎光临[91Code](http://www.91code.info/?utm_source=github&utm_medium=github),发现更多技术资源~

MD/分布式-ID生成方式.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,6 @@
3636

3737
参考:
3838
https://tech.meituan.com/MT_Leaf.html
39-
https://github.com/crossoverJie/Java-Interview/blob/master/MD/ID-generator.md
39+
https://github.com/crossoverJie/Java-Interview/blob/master/MD/ID-generator.md
40+
41+
欢迎光临[91Code](http://www.91code.info/?utm_source=github&utm_medium=github),发现更多技术资源~

MD/分布式-一致性hash.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,6 @@
5858

5959
计算时可以在 IP 后加上编号来生成哈希值。
6060

61-
这样只需要在原有的基础上多一步由虚拟节点映射到实际节点的步骤即可让少量节点也能满足均匀性。
61+
这样只需要在原有的基础上多一步由虚拟节点映射到实际节点的步骤即可让少量节点也能满足均匀性。
62+
63+
欢迎光临[91Code](http://www.91code.info/?utm_source=github&utm_medium=github),发现更多技术资源~

MD/分布式-消息队列.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,5 @@ Kafka 一个最基本的架构认识:由多个 broker 组成,每个 broker
5959
如果某个 broker 宕机了,没事儿,那个 broker上面的 partition 在其他机器上都有副本的,如果这上面有某个 partition 的 leader,那么此时会从 follower 中重新选举一个新的 leader 出来,大家继续读写那个新的 leader 即可。这就有所谓的高可用性了。
6060

6161
![](https://github.com/xbox1994/2018-Java-Interview/raw/master/images/kafka集群.png)
62+
63+
欢迎光临[91Code](http://www.91code.info/?utm_source=github&utm_medium=github),发现更多技术资源~

MD/分布式-锁.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,5 @@ public void lock(String key, String request, int timeout) throws InterruptedExce
8080

8181
1. 性能不如Redis
8282
2. 强依赖zk,如果原来系统不用zk那就很麻烦了
83+
84+
欢迎光临[91Code](http://www.91code.info/?utm_source=github&utm_medium=github),发现更多技术资源~

MD/微服务-网关.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ API网关。它是系统的单个入口服务器。它类似于面向对象的
1919
客户端直接调用微服务可能会使用对网络不友好的协议。内部服务之间可能使用Thrift二进制RPC、gRPC协议。两个协议对浏览器不友好并且最好是在内部使用。应用应该在防火墙之外使用HTTP或者WebSocket之类的协议。
2020

2121
## 缺点
22-
API网关是一个必须被开发、部署、管理的高可用组件。还有一个风险是它变成开发瓶颈。开发人员必须更新API网关来暴露每个微服务接口。因此更新API网关的过程越少越好。然而,对于大多数现实世界的应用,使用API网关是有意义的。
22+
API网关是一个必须被开发、部署、管理的高可用组件。还有一个风险是它变成开发瓶颈。开发人员必须更新API网关来暴露每个微服务接口。因此更新API网关的过程越少越好。然而,对于大多数现实世界的应用,使用API网关是有意义的。
23+
24+
欢迎光临[91Code](http://www.91code.info/?utm_source=github&utm_medium=github),发现更多技术资源~

0 commit comments

Comments
 (0)