整理了一些Java相关的流程图和架构图,大家共同学习和进步~
01 Java程序的编译运行过程
Java整个编译以及运行的过程相当繁琐,但简化来说,主要分为以下两大步骤:
1)Java代码编译:创建完源文件之后,程序会先被编译为.class文件,然后再编译成字节码(ByteCode);
2)Java字节码的执行:字节码由Java虚拟机(JVM)解释运行。
02 JVM内存模型
根据JVM规范,JVM 内存共分为程序计数器、虚拟机栈、本地方法栈、方法区、堆五个部分
图片模糊的话,可以点击图片“查看原图”,或者直接查看源文件
>>>java内模型 - 在线模板社区
edrawmax.cn/templates/file/101264
1)程序计数器(线程私有,无GC,Garbage Collection):指向当前线程正在执行的字节码的地址、行号。
2)虚拟机栈(线程私有,无GC):存储当前线程运行方法所需要的数据、指令、返回地址。每一个方法都对应一个栈帧,可以通过配置Xss来配置栈帧的大小。
3)本地方法栈(线程私有,无GC):和虚拟机栈类似。不同的是,本地方法栈存储的是本地方法的数据。
4)方法区(线程共享):被所有方法线程共享的一块内存区域。用于存储已经被虚拟机加载的类信息、常量、静态变量等。这个区域的内存回收目标主要针对常量池的回收和堆类型的卸载。
5)Java 堆(线程共享,要GC):被所有线程共享的一块内存区域,在虚拟机启动的时候创建,用于存放对象实例。一个JVM实例只有一个堆内存。
03 Java多线程
我们可以用电脑一边听歌,一边编写文档和发送邮件。这种同时执行多个操作的“思想”在 Java 中被称为并发,而将并发完成的每一件事称为线程。而这种机制被称为多线程。
04 Java集合类
集合类是Java数据结构的实现。Java的集合类是java.util包中的重要内容。
05 Spring
Spring是Java三大框架之一。它是分模块存在,除了最核心的Spring Core Container(即Spring容器)是必要模块之外,其他模块都是可选,视需要而定。
核心容器提供 Spring 框架的基本功能(Spring Core)。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。
Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载、实例化Bean,并建立Bean之间的依赖关系,最后将这些准备就绪的Bean放到Bean缓存池中,以供外层的应用程序进行调用。
图片模糊的话,可以点击图片“查看原图”,或者直接查看源文件
>>>springbean的实例化图解 - 在线模板社区
edrawmax.cn/templates/file/1012336
06 TCP
TCP作为一种可靠传输控制协议,其核心思想:既要保证数据可靠传输,又要提高传输的效率,而用三次恰恰可以满足以上两方面的需求。
TCP三次握手时序图
更多流程图/架构图可以到亿图图示模板社区搜索▼
亿图图示模板社区-海量模板在线使用
edrawmax.cn