无极3娱乐手机版下载-无极3登录-无极3

    
当前位置:首页无极娱乐4登录正文
admin

王菲的歌曲,作为一名高档Java程序员,你必备的一些流程图

  1个月前 (07-18)     236     0
简介:前言:整理了一些Java基础流程图/架构图,做一下笔记,大家一起学习。容器关闭后,如果Bean实现了DisposableBean接口,则会回调该接口的destroy,发送完毕后,客户端进入SYN_SEND状态第二次握手,发送完毕后,服务器端进入SYN_RCVD...

前语:

整理了一些Java根底流程图/架构图,做一下笔记,咱们一同学习。

1.spring的生命周期

Spring作为当时Java最盛行、最强壮的轻量级容器结构,了解了解spring吃什么补血的生命周期十分有必要;

  • 首要容器发动后,对bean进行初始化
  • 依照bean的界说,注入特点
  • 检测该目标是否完结了xxxAware接口,并将相关的xxxAware实例注入给bean,如BeanNameAware等
  • 以上进程,bean目标已正确结构,经过完结BeanPostProcessor接口,能够再进行一些自界说办法处理。 如:postProcessBefo每日农经reInitialzation。
  • BeanPostProcessor的前置处理完结后,能够完结postConstruct,afterPropertie李静sSet,init-method等办法, 添加咱们自界说的逻王菲的歌曲,作为一名高级Java程序员,你必备的一些流程图辑,
  • 经过完结BeanPostProcessor接口,进行postProcessAfterInitialzation后置处理
  • 接着Bean准备好被运用啦。
  • 容器封闭后,假如Bean完结了DisposableBean接口,则会回调该接口的destroy()办法
  • 经过给destroy-method刘桢梁甫行原文指定函数,就能够在bean毁掉前履行指定的逻

2.钱银TCP三次握手,四次挥手

tcp的三次握手四次挥手是每个程序员都应该了解的。

三次握手:

  • 第一次握手(SYN=1, seq=王菲的歌曲,作为一名高级Java程序员,你必备的一些流程图x),发送结束后,客户端进入 SYN_SEND 状况
  • 第2次握手(SYN=1, ACK=1, seq=y, ACKnum=x+1), 发送结束后,服务器端进入 SYN_RCVD 状况。
  • 第三次握手(ACK=1,ACKnum=y+1),发送结束后,客户端进入 ESTABLISHED 状况,当服务器端接纳王菲的歌曲,作为一名高级Java程序员,你必备的一些流程图到这个包时,也进入 ESTABLISHED 状况,TCP 握手,即能够开端数据传输。

四次挥手:

  • 第一次挥王菲的歌曲,作为一名高级Java程序员,你必备的一些流程图手(FIN=1,seq=a),发送结束后,客户端进入 FIN_WAIT_1 状况
  • 第2次挥手(ACK=1,ACKnum=a+1),发送结束后,服务器端进入 CLOSE_WAIT 状况,客户端接纳到这个承认包之后,进入 FIN_WAIT_2 状况
  • 第三次挥手(FIN=1,seq=b),发送结束后,服务器端进入 LAST_ACK 状况,等候来自客户端的最终一个ACK。
  • 第四次挥手(ACK=1,ACKnum=b+1),客户端接纳到来自服务器端的封闭恳求,发送一个承认包,并进入 TIME_WAIT状况,等候了某个固定时刻(两个最大段生命周期,2MSL,2 Maximum Segment Lifetime)之后,没有收到服务器端的 ACK ,王菲的歌曲,作为一名高级Java程序员,你必备的一些流程图以为服务器端现已正常封闭衔接,所以自己也封闭衔接,进入 CLOSED 状况。服务器端接纳到这个承认包之后,封闭衔接,进入 CLOSED 状况。

3.线程池履行流程图

线程池:一种线程运用方式。线程过多会带来调度开支,从而影响缓存局部性和全体功用。而线程池维护着多个线程,等候着监督办理者分配可并发履行的使命,这避免了在处理短时刻使命时创立与毁掉线程的价值。线程池履行流程是每个开发必备柯震亚的。

履行流程

  • 提交一个使命,线程池里存活的中心线程数小于线程数corePoolSize时,线程池会创立一个中心线程去处理提交的使命。
  • 假如线程池中心线程数已满,即线程数现已等于corePoolSize,一个新提交的使命,会被放进使命行列workQueue排队等候履行。
  • 当线程池里边存活的线程数现已等于corePoolSize了,怡丽丝尔而且使命行列w罗家英orkQueue也满,判别线程数是否抵达maximumPoolSize,即最大线程数是否已满,假如没抵达,创立一个非中心线程履行提交的使命。
  • 假如当时的线程数抵达了maximumPoolSize,还有新的使命过来的话,直接选用回绝战略处理。

JDK供给了四种回绝战略处理类

  • AbortPolicy(抛出一个反常,默许的)
  • DiscardPolicy(直接丢掉使命)
  • DiscardOldestPolicy(丢掉行列里最老的使命,将当时这个使命持续提交给线程池)
  • CallerRunsPolicy(交给线程池调用地点的线程进行处理

4.JVM内存结构

JVM内存结构是Java程序员有必要把握的根底。

程序计数器(PC 寄存器)

程序计数器是一块较小的内存空间,能够看作当时线程所履行的字节码的行号指示器。在虚拟机的模型里,字节码解说器作业时便是经过改动这个计数器的值来选取下一条需求履行的字节码指令,分支、循环、反常处理、线程康复等根底功用都需求依靠计数器完结。

Java虚拟机栈

  • 与程序计数器相同,Java虚拟机栈也是线程私有的,它的生命周期与线程相同
  • 每个办法被履行的时分都会创立一个"栈帧",用于存储局部变量表(包含参数)、操作数栈、动态链接、办法出口等信息。每个办法被调用到履行完的进程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的进程。
  • 局部变量表寄存各种根本数据类型boolean、byte、王菲的歌曲,作为一名高级Java程序员,你必备的一些流程图char、short等

本地办法栈

与虚拟机栈根本相似,差异在于虚拟机栈为虚拟机履行的java办法服务,而本地办法栈则是为Native办法服务。

Java堆

  • GC堆是java虚拟机所办理的内存中最大的一块内存区域,也是被各个线程同享的内存区域,在JVM发动时创立。
  • 其巨细经过-Xms(最小值)和-Xmx(最大值)参数设置,-Xms为JVM发动时恳求的最小内存,-Xmx为JVM可恳求的最大内存。
  • 因为现在搜集器都是选用分代搜集算法,堆被划分为新生代和老时代。新生代由S0和S1构成,可经过-Xmn参数来指定新生代的巨细。
  • 一切目标实例以及数组都在堆上分配。
  • Class文件中除了有类的版别霞浦、字段、办法、接口等描绘信息外,还有一项信息是常量池,用于寄存编译器生满意成的各种符号引证,这部分内容将在类加载后放到办法区的运tk行时常量池中。

办法区

  • 也称”永久代” ,它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程同享的内存区域。能够经过-XX:PermSize 和 -XX:MaxPermSize 参数约束办法区的巨细4800。
  • 运转时常量池:是办法区的一部分,其间的主要内容来自于JVM对Class的加载。
  • Class文件中除了有类的版别、字段、办法、接口等描绘信息外,还有一项信息是常量池,用于寄存编译器生成的各种符号引证,这部分内容将在类加载后放到办法区的运转时常量池中。

5.Java内存模型

  • Java的多线程之间是经过同享内存进行通讯的,在通讯进程中会存在一系列如可见性、原子性、次序性等问题,而JMM便是围绕着多线程通讯以及与其相关的一系列特性而树立的模型。JMM界说了一王菲的歌曲,作为一名高级Java程序员,你必备的一些流程图些语法集,这些语法集映射到Java言语中便是volatile、synchronized等关键字。有爱好能够看看我的别的一篇笔记:www.jianshu.com/p/3c1691aed…
  • Java内存模型规则了一切的变量都存储在主内存中,每条线程还有自己的作业内存,线程的作业内存中保存了该线程中是用到我国矿业大学研究生院的变量的主内存副本复制,线程对变量的一切操作都有必要在作业内存中进行,而不能直接读写主内存。不同的线程之间也无法直接拜访对方作业内存中的变量,线程间变量的传递均需求自己的regret作业内存和主存之间进行数据同步进行。

6.springMVC履行流程图

  • User向服务器发送request,前端操控Servelt DispatcherServlet捕获;
  • DispatcherServlet对恳求URL进行解析,调用HandlerMapping取得该Handler装备的一切相关的目标,最终以HandlerExecutionChain目标的方式回来.
  • DispatcherServlet 依据取得的Handler,挑选一个适宜的HandlerAdapter.
  • 提取Request中的模型数据,填充Handler入参,开端履行Handler(Controller)
  • Handler履行完结后,回来一个ModelAndView目标到DispatcherServlet
  • 依据回来的ModelAndView,挑选一个合适的ViewResolver
  • ViewResolver 结合Model和View,来烘托视图
  • 将烘托成果回来给客户端。

7.JDBC履行流程

JDBC履行流程:

  • 衔接数据源
  • 为数据库传递查询和更新指令
  • 处比基尼相片理数据库呼应并回来的成果

8.spring cloud组件架构

Spring Cloud是一个根据Spring Boot完结的云原生运用开发东西,它为根据JVM的云原生运用开发中触及的装备办理、服务发现、熔断器、智能路由、微署理、操控总线、分布式会话和集群状况办理等操作供给了一种简略的开发方式。

  • Eureka 担任服务的注册与发现。
  • Hystrix 担任监控服务之间的调用状况,起到熔断,降级效果。
  • Spring Cloud Config 供给了一致的装备中心服务。
  • 一切对外的恳求和服务,咱们网上告发都经过Zuul来进行转发,起到 API 网关的效果
  • 最终咱们运用 Sleuth+Zipkin 将一切的恳求数据记载下人类进化来,便利咱们进行后续剖析。
  • Spring Cloud Ribbon是根据Netflix Ribbon完结的五台山天气预报一套客户端负载均衡的东西。 它是一个根据HTTP和TCP的客户端负载均衡器。
  • Feign是一个声明式的Web Service客户端,它的意图便是让Web Service调用愈加简略。

9.dubbo 调用

Dubbo是一个分布式服务结构,致力于供给高功用和透明化的长途服务调用计划,这简单和负载均衡弄混,负载均衡是对外供给一个公共地址,恳求过来时经过轮询、随机等,路由到不同server。

  • Provider: 露出服务的服务供给方。
  • Co小四川马戈nsumer: 调用长途服务的服务消费方。
  • Registry: 服务注册与发现的注册中心。
  • Monitor: 计算服务的调用次谐和调用时刻的监控中心。
  • Container: 服务运转容器。

10.后续待更新...

声明感谢您对我们网站的认可,非常欢迎各位朋友分享本站内容到个人网站或者朋友圈,
转转请注明出处:http://www.ip-192.com/articles/426.html
点赞 打赏

打赏方式:

支付宝扫一扫

微信扫一扫

扫一扫
QQ客服:111111111
工作日: 周一至周五
工作时间: 9:00-18:00