File tree Expand file tree Collapse file tree 5 files changed +12
-6
lines changed Expand file tree Collapse file tree 5 files changed +12
-6
lines changed Original file line number Diff line number Diff line change 1
1
** ` 声明 ` **
2
-
2
+ 此项目已维护快3年多了,接下来我有了新的目标,后期的更新不会太过频繁,我也在思考如何精简自己的知识脑图。
3
3
本项目为个人学习之总结,内容大多来源网上、书籍、视频,若引用不当,麻烦告知,我定删除。喜欢的话可以` Star ` 下,生活不易,希望对读者有帮助。祝好!!!
4
4
5
5
### 目录
Original file line number Diff line number Diff line change
1
+ ## 目录
1
2
* [ 一、数据类型] ( #一数据类型 )
2
3
* [ 基本类型] ( #基本类型 )
3
4
* [ 包装类型] ( #包装类型 )
37
38
* [ JRE or JDK] ( #jre-or-jdk )
38
39
* [ Lambda表达式] ( #Lambda表达式 )
39
40
* [ 参考资料] ( #参考资料 )
40
- <!-- GFM-TOC -->
41
41
42
+ ## 面试题
42
43
43
44
# 一、数据类型
44
45
@@ -1573,4 +1574,8 @@ https://www.ibm.com/developerworks/cn/java/j-lo-javaio/index.html
1573
1574
### 集合框架
1574
1575
### 异常处理
1575
1576
### JAVA8新特性
1576
- ### JAVA8新特性
1577
+ ### JAVA8新特性
1578
+
1579
+ ## 面试题
1580
+ * Integer和int的区别
1581
+ * String a = new String("abc");共创建了几个对象
Original file line number Diff line number Diff line change 1
1
### 微服务本身的复杂度带来的问题
2
- * 分散在各个服务器上的日志如何处理?
2
+ * 分散在各个服务器上的日志如何处理?日志在format的时候一定要有规则,最好的方式是异常都要有对应的errorCode,方便后期过滤
3
3
* 如果业务出现了错误和异常,如何定位和处理?
4
4
* 如何跟踪业务的处理顺序和结果?
5
5
* 微服务时代 运维监控是难点
Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ http://note.youdao.com/noteshare?id=7c550bb62a6597091e4533fbb6b920c1&sub=wcp1555
22
22
### 消息队列优势
23
23
消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性。主要具有以下优势:
24
24
* 解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死)
25
- 复杂的应用里会存在多个子系统, 比如在电商应用中有订单系统、库存系统、物流系统 支付系统等,这个时候如果各个子系统之间的搞合性太高 ,整体系统的可用性就会大幅降低,多个低错误率的子系统强精合在一起 ,得到的是一个高错误率的整体系统。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。当转变成基于消息队列的方式后,系统可用性就高多了,比如物流系统因为发生故障,需要几分钟的时间来修 ,在这几分钟的时间里,物流系统要处理的内容被缓存在消息队列里,用户的下单操作可以正常完成。当物流系统恢复后,补充处理存储在消息队列里的订单信息即可,终端用户感知不到物流系统发生过几分钟的故障。
25
+ 复杂的应用里会存在多个子系统, 比如在电商应用中有订单系统、库存系统、物流系统 支付系统等,这个时候如果各个子系统之间的耦合性太高 ,整体系统的可用性就会大幅降低,多个低错误率的子系统糅合在一起 ,得到的是一个高错误率的整体系统。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。当转变成基于消息队列的方式后,系统可用性就高多了,比如物流系统因为发生故障,需要几分钟的时间来修 ,在这几分钟的时间里,物流系统要处理的内容被缓存在消息队列里,用户的下单操作可以正常完成。当物流系统恢复后,补充处理存储在消息队列里的订单信息即可,终端用户感知不到物流系统发生过几分钟的故障。
26
26
* 削峰(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题)
27
27
每年的双十一,淘宝的很多活动都在0点的时候开启,大部分应用系统流量会在瞬间猛增,这个时候如果没有缓冲机制,不可能承受住短时大流量的冲击。通过利用消息队列,把大量的请求暂存起来,分散到相对长的一段时间内处理,能大大提高系统的稳定性和用户体验。举个例子,如果订单系统每秒最多能处理1万次下单,这个处理能力应对正常时段的下单是绰绰有余的,正常时段我们下单后一秒内就能返回结果。双十一零点的时候,如果没有消息队列这种缓冲机制,为了保证系统稳定,只能在订单超过一万次后就不允许用户下单了;如果有消息队列做缓冲,我们可以取消这个限制,把一秒内下的订单分散成一段时间来处理,这时有些用户可能在下单后十几秒才能收到下单成功的状态,但是也比不能下单的体验要好。使用消息队列进行流量消峰,很多时候不是因为能力不够,而是出于经济性的考量。比如有的业务系统,流量最高峰也不会超过一万QPS ,而平时只有一千左右的 QPS 这种情况下我们就可以用个普通性能的服务器(只支持一千左右的 QPS 就可以),然后加个消息队列作为高峰期的缓冲,无须花大笔资金部署能处理上万 QPS 的服务器。
28
28
* 异步(当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统,应用间并发处理消息,相比串行处理,减少处理时间)
Original file line number Diff line number Diff line change 4
4
5
5
### 面试题
6
6
#### Java 基础
7
- * [ 说说你对Fail-Fast的理解] ( http://note.youdao.com/noteshare?id=654c2063da080a2c45968caf25554b7b&sub=wcp1585706133233470 )
8
7
* [ 什么是面向对象] ( https://github.com/zhonghuasheng/Tutorial/issues/188 )
9
8
* [ JDK 和 JRE 有什么区别] ( https://github.com/zhonghuasheng/Tutorial/issues/207 )
10
9
* [ == 和 equals 的区别是什么] ( https://github.com/zhonghuasheng/Tutorial/issues/208 )
13
12
* [ String 属于基础的数据类型吗?] ( https://github.com/zhonghuasheng/Tutorial/issues/232 )
14
13
* [ Java中操作字符串都有哪些类?它们之间有什么区别?] ( https://github.com/zhonghuasheng/Tutorial/issues/233 )
15
14
* [ String str="i"与 String str=new String(“i”)一样吗?] ( https://github.com/zhonghuasheng/Tutorial/issues/33 )
15
+ * [ Integer和int区别]
16
16
* [ 如何将字符串反转?] ( https://github.com/zhonghuasheng/Tutorial/issues/234 )
17
17
* [ 普通类,抽象类,接口有哪些区别?] ( https://github.com/zhonghuasheng/Tutorial/issues/235 )
18
18
* [ 抽象类能使用 final 修饰吗?] ( https://github.com/zhonghuasheng/Tutorial/issues/236 )
19
19
* [ 重载和重写的区别] ( https://github.com/zhonghuasheng/Tutorial/issues/237 )
20
+ * [ 说说你对Fail-Fast的理解] ( http://note.youdao.com/noteshare?id=654c2063da080a2c45968caf25554b7b&sub=wcp1585706133233470 )
20
21
15 . Java 中 IO 流分为几种?
21
22
16 . BIO、NIO、AIO 有什么区别?
22
23
17 . Files的常用方法都有哪些?
You can’t perform that action at this time.
0 commit comments