这份学习笔记是一位腾讯T8的大牛所写,这份手册将会从JVM开始写起,每个部分一个章节,涵盖了很全面的Java体系知识,这份学习笔记可以闲暇之时拿出观阅!
这份手册涉及JVM、多线程与高并发、Spring全家桶系列、微服务、Netty、RPC、网络底层知识、Zookeeper、数据机构与算法、消息中间件、设计模式、负载均衡、Kafka等等太多了,共计分了29大模块。
下面我将会为大家一一展示(本文正文内容偏长,请大家耐心阅读,一定会有很多收获!)这份832页的学习笔记的免费获取方式在文末!
JVM是可运行Java代码的假想计算机,包括-套字节码指令集、一组寄存器、一个栈、一个垃圾回收,堆和一个存储方法域。JVM是运行在操作系统之上的,它与硬件没有直接的交互。
Netty是一个高性能、异步事件驱动的NIO框架,基于JAVA NIO提供的API实现。它提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty 的所有I0操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得I0操作结果。
7层模型主要包括:
1. 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输到达目的地后在转化为1、0,也就是我们常说的模数转换与数模转换)。这一层的数据叫做比特。
2.数据链路层: 主要将从物理层接收的数据进行MAC地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。 在这一层工作的设备 是交换机,数据通过交换机来传输。
3网络层:主要将从下层接收到的数据进行IP 地址(例192.168.0.1)的封装与解封装。 在这一层工作的设备是路由器,常把这- -层的数据叫做数据包。
4.传输层: 定义了一些传输数据的协议和端口号(WWW端口80等) , 如: TCP (传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP (用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。主要 是将从下层接收的数据进行分段进行传输,到达目的地址后再进行重组。常常把这一层数据叫做段。
5.会话层: 通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)
6.表示层: 主要是进行对接收的数据进行解释、加密与解密、压缩与解压缩等(也就是把计算机能够识别的东西转换成人能够能识别的东西(如图片、声音等) )
7. 应用层主要是一些终端的应用,比如说FTP (各种文件下载) , WEB (IE浏览),QQ之类的(你就把它理解成我们在电脑屏幕上可以看到的东西.就是终端应用)。
Zookeeper是一个分布式协调服务,可用于服务发现,分布式锁,分布式领导选举,配置管理等。
Zookeeper提供了一个类似于Linux文件系统的树形结构(可认为是轻量级的内存文件系统,但只适合存少量信息,完全不适合存储大量文件或者大文件),同时提供了对于每个节点的监控与通知机制。
Apache Cassandra 是高度可扩展的,高性能的分布式NoSQL数据库。Cassandra 旨在处理许多商品服务器上的大量数据,提供高可用性而无需担心单点故障。
Cassandra具有能够处理大量数据的分布式架构。数据放置在具有多 个复制因子的不同机器上,以获得高可用性,而无需担心单点故障。
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。存储引擎主要有: 1. Mylsam , 2. InnoDB, 3. Memory, 4. Archive, 5. Federated。
这份Java全栈知识点PDF涵盖了Java大部分的核心内容,学习笔记一共29大部分,832页,需要免费领取的朋友麻烦帮忙点赞这篇文章+关注我,扫码免费获取!