/my-backend

learning content of backend development (java 后端开发知识汇总)

Primary LanguageJavaMIT LicenseMIT

  1. 随着公司规模的发展,合理稳定的技术架构是业务快速发展的保证,目前很多互联网公司的规模已经很大,在他们成长的过程中,系统结构的变更是怎样的,对我们又有什么样的借鉴?业务规模、数据量越来越大,传统的单机系统已经不能支持,分布式系统的坑有哪些,有哪些优秀的设计?
  2. 作为一个主打后端的开发,以 Java 语言为例,需要掌握到什么程度,对涉及到的周边比如 数据结构、算法、jvm 优化、Linux、docker 等有哪些需要掌握的知识?

一、Java 语言

1.1 规范

1.2 JVM 虚拟机

1.3 其它

二、Linux

2.1 Linux 常用命令

2.2 Shell 脚本

2.3 效率工具

2.4 Linux 图书

2.5 Linux 监控

三、分布式系统

  • 分布式系统的特点以及设计理念 通过网络松耦合、对机器硬件要求低、强调横向扩展、不允许单点失效、尽可能减少节点网络开销、服务无状态等特点的介绍。
  • book-Designing Data-Intensive Applications 评价很高
  • 关于 CAP 理论的深度剖析
    • 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
    • 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)
    • 分区容忍性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
  • 更多内容 ……

四、大型互联网技术架构分享

五、周边

5.1 数据结构及算法

复习「数据结构常用算法」进行的练习,整节来源于书籍《大话数据结构

5.1 Python

5.2 Docker

5.3 负载均衡

六、开源世界