TCP 是面向连接的协议。运输连接是用来传送TCP报文的。TCP连接运输的建立和释放是每一次面向连接的通讯中必不可少的过程。连接运输有三个阶段:连接建立、数据传送、连接释放。连接运输管理就是保证连接运输的建立和释放都能够正常的运行。
TCP连接运输需要解决以下几个问题:
- 要使每一方能够确知对方的存在。
- 允许双方协商一些参数(最大窗口值、是否使用窗口扩大选项、时间戳选项、服务质量)。
- 能够对运输实体资源(缓存大小、连接表中的项目)进行分配。
TCP连接的建立采用客户端服务器的方式。主动发起连接建立的应用进程叫做客户端(Client),被动等待链接的应用进程叫做服务器(Server)。
在关于Spring的面试中,我们经常会被问到一个问题:Spring是如何解决循环依赖的问题的。这个问题算是关于Spring的一个高频面试题,因为如果不刻意研读,相信即使读过源码,面试者也不一定能够一下子思考出个中奥秘。本文主要针对这个问题,从源码的角度对其实现原理进行讲解。
# 简介
多态是面向对象编程语言中,继数据抽象(封装)和继承之外的第三个重要特性。
多态提供了另一个维度的接口与实现分离,以解耦做什么和怎么做。多态不仅能改善代码的组织,提高代码的可读性,而且能创建有扩展性的程序——无论在最初创建项目时还是在添加新特性时都可以“生长”的程序。
封装通过合并特征和行为来创建新的数据类型。隐藏实现通过将细节私有化把接口与实现分离。这种类型的组织机制对于有面向过程编程背景的人来说,更容易理解。而多态是消除类型之间的耦合。继承允许把一个对象视为它本身的类型或它的基类类型。这样就能把很多派生自一个基类的类型当作同一类型处理,因而一段代码就可以无差别地运行在所有不同的类型上了。多态方法调用允许一种类型表现出与相似类型的区别,只要这些类型派生自一个基类。这种区别是当你通过基类调用时,由具体方法的不同行为表现出来的。

图中展示了8种作用于不同分代的收集器,如果两个收集器之间存在连线,则说明它们可以搭配使用。虚拟机所处的区域则表示它是属于新生代还是老年代收集器。
新生代收集器:Serial、ParNew、Parallel Scavenge
老年代收集器:CMS、Serial Old、Parallel Old
整堆收集器: G1、ZGC
几乎所有的排序都有两个基本的操作:
- 关键字大小的比较。
- 改变记录的位置。具体处理方式依赖于记录的存储形式,对于顺序型记录,一般移动记录本身,而链式 存储的记录则通过改变指向记录的指针实现重定位。
微车管是一款使用SpringBoot与Vue开发的针对中小型物流企业的车辆管理系统,它包含了基础数据管理、权限管理、排班调度、油卡管理、违章查询等功能。借此机会,从零记录一个前后端分离项目的部署过程
# 基础分页查询
基础的分页查询使用limit子句实现:
SELECT * FROM table_name LIMIT [offset,] rows | rows OFFSET offset;
LIMIT子句可以用于指定SELECT语句返回的记录数。使用注意:
- 第一个参数指定第一个返回记录行的偏移量,从0开始;
- 第二个参数指定返回记录行的最大数目;
- 如果只给定一个参数,表示返回最大的记录行数目
- 第二个参数为 -1 表示检索从某一个偏移量到记录集的结束所有的记录行
- 初始记录行的偏移量是 0(而不是 1)
例:
SELECT * FROM message LIMIT 2,10; // 2 偏移量(开始的位置), 10 最大记录数
上一页
下一页