Java程序员必备的一些流程图/架构图(拿走不谢)
整理了一些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
Java程序员必备的一些流程图/架构图(拿走不谢)相关推荐
- 程序流程图_干货收藏 | Java 程序员必备的一些流程图
阅读本文大概需要 6 分钟. 转载自:https://juejin.im/post/5d214639e51d4550bf1ae8df 1.Spring 的生命周期 Spring 作为当前 Java 最 ...
- Java 程序员必备的一些流程图
1.spring的生命周期 2.TCP三次握手,四次挥手 3.线程池执行流程图 4.JVM内存结构 5.Java内存模型 6.springMVC执行流程图 7.JDBC执行流程 8.spring cl ...
- 池流程图_干货收藏 | Java程序员必备的一些流程图
前言: 整理了一些Java基础流程图/架构图,做一下笔记,大家一起学习. 1.spring的生命周期 Spring作为当前Java最流行.最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必 ...
- 多图 | Java 程序员必备的一些流程图
1.spring的生命周期 2.TCP三次握手,四次挥手 3.线程池执行流程图 4.JVM内存结构 5.Java内存模型 6.springMVC执行流程图 7.JDBC执行流程 8.spring cl ...
- Java 程序员必备的 15 个框架,前 3 个地位无可动摇!
2019独角兽企业重金招聘Python工程师标准>>> Java 程序员方向太多,且不说移动开发.大数据.区块链.人工智能这些,大部分 Java 程序员都是 Java Web/后端开 ...
- Java程序员必备的10个大数据框架
当今IT开发人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语言和API越来越复杂,我们构建的应用也越来越复杂.根据外媒的一项调查报告,小千列出了Java程序员在过去12个月内一直使 ...
- Java程序员必备的几款开发工具,高效才是硬道理!
作为一名优秀的Java程序员,怎能没有几款得心应手的高效开发工具呢!市面上类库.工具千千万,下面我就给大家推荐几款高效的Java开发工具. 一.Eclipse Eclipse做为一款开发源代码的Jav ...
- Java程序员必备的几款开发工具
工欲善其事,必先利其器.作为一名优秀的Java程序员,怎能没有几款得心应手的高效开发工具呢!市面上类库.工具千千万,下面就给大家推荐几款高效的Java开发工具. 1.UItraEdit UltraEd ...
- B站疯传|200个Java程序员必备词汇
相信很多学生在学习英语的时候都有这样那样的问题,因此也困扰着太多想要学习编程的小伙伴. 其实学习编程,常用的单词就那么多,只要把必备的单词学会,你的代码也能写的很6,编程和英语的关系就是这么简单纯粹. ...
- dalvik虚拟机执行流程_程序员必备的一些流程图
阅读文本大概需要3分钟. - 1 - Spring的生命周期 Spring作为当前Java最流行.最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要: 首先容器启动后,对bean进行初始 ...
最新文章
- Spring(ApplicationContextBeanFactory)
- linux成长笔录——week_1
- oracle 无法弹出图形界面,Xshell 5 不能弹出GUI 图形界面问题
- 客户端调用webSerices
- linux cp -ip,linux cp命令
- mongoDB备份方案
- Electron 设置透明窗口transparent 属性win7无效详解
- 深入浅出曲面的切平面方程和曲面的法线方程
- cf两边黑屏怎么解决win10_电脑黑屏怎么解决
- npm安装依赖报错:npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\misal\AppData\R
- 纯JS实现倒序九九乘法表 for循环
- android viewgroup点击变色,Android ViewGroup点击效果(背景色)
- 如何在html编辑文字信息,怎样简单修改网页中的内容,例如图片文字等?
- 奇瑞文档云服务器地址,奇瑞文档云服务器地址是多少
- 语义分割如何走下去?| 文末送书
- 如何查阅NLP资料 转自https://blog.csdn.net/qq_27009517/article/details/80841146
- week8 作业B 猫猫向前冲
- 如何恢复自身的精力 [转]
- 纯 CSS3 实现漂亮的 input 输入框
- 局域网计算机修改网络用户,windows10怎么修改局域网网络名称