- 博客(18)
- 收藏
- 关注
原创 TCP详解(三)
一份数据同时发送给多个主机,UDP自身就支持广播的,但是TCP自身不支持,就只能在应用层程序中通过多个连接,轮询的方式给每个主机发送数据(伪广播)。1.实现确认应答机制,把每个数据接收到之后,大欧要反馈一个ACK(此时这个就不是内核返回的了,而是应用程序自己定义一个ACK包,发送回去)。不管进程是怎么终止的,本质上都会释放对应的PCB,也会释放对应的文件描述符符,一样会触发四次挥手。如果PING包已经发送过去,过了河你局还没有PONG,并且重试几次也不行,此时就认为对方已经挂了。...
2022-07-29 20:23:18
1161
原创 TCP详解(二)
比如,主机A发送的数据很快,窗口很大,如果主机B的应用程序读取的速度很慢,随着时间的推移,接收缓冲区逐渐就满了,如果不加任何限制,主机A还是按照一样的速度进行发送数据,此时新来的数据就没有地方保存了,就别内核丢掉了…例如,服务器收到请求到返回响应,这个过程消耗时间50ms,但是延时应答假设最多等20ms,这个情况就无法触发捎带应答了.但是延时应答假设是最多等60ms,第50ms的时候,此时触发了响应,ACK就可以和这个响应一起过去了,也就触发了延时应答。主机A发弄得数据就到达了主机B的接收缓冲区。...
2022-07-29 20:21:35
1632
原创 TCP详解(一)
假设,2001这个ACK先到发送方就会知道了,1001-2000这个数据已经被对方收到了,发送方也就不用继续等待这个数据了,接下来就立即再发一个5001-6000,仍然保证窗口大小是4份数据,保证当前同时等待4份数据的ACK。前面的2001-7000,这些数据已经到达了接收端了,只不过是在接收缓冲区里等待,当1001-2000这个数据到打的时候,B就知道了,7001之前的数据都到齐了,此时继续索要7001这个数据即可。1.投石问路通过三次握手的过程,来确认A和B之间的传输是通畅的。...
2022-07-29 20:18:11
3525
原创 数据库基础操作,数据表操作
文件存储问题:1.安全性:只要电脑上文件存在,所有操作电脑的用户都能点开文件。2.不利于数据的查询或者管理,文件中若存储了上一条记录,检索一个特定的激励是非常难的。3.文件在程序控制中不方便。关系型数据库:使用的数据表的方式组织数据,功能丰富效率较低。非关系型数据库:基于文档的形势组织1、SQL语言的学习:所有关系型数据库的通用语言。多写多练习。2.关于MySQL中的基本元素,索引和事务,规模庞大的数据量和比较复杂的应用场景,主要讲原理,为了面试,具体应用进公司就知道。3.通过Java语言来操作数据库,J
2022-06-02 15:33:36
1063
原创 Java String类详解(附图解)
文章目录JDK中String类的声明String类源码创建字符串的四种方式字符串的字面量字符串比较相等拓展equalsIgnoreCase方法重点:关于字符串的常量池问题当使用直接赋值法产生字符串对象时当使用new产生字符串对象时手工入池1.当前常量池中已经存在了该对象2.当前常量池中不存在该对象字符串的不可变性如何修改字符串的内容关于StringBuilder类的具体使用StringBuilder类和String类的相互转换StringBuilder类的其他方法总结JDK中String类的声明Stri
2022-05-08 18:42:17
1003
原创 Java 面向对象编程(四)——抽象类和接口
文章目录抽象类抽象类概念抽象类使用方法接口使用场景模拟USB接口实现代码实现USB接口接口表示能力抽象类抽象类概念若要强制要求自雷覆写方法,就要用到抽象类。其实现实生活中有多抽象类,这些类都是概念化的。没办法具体到某个实例,抽象类是普通类的“超集”,只是比普通类多了一些抽象方法而已~~普通类有的,抽象类都有。抽象方法所在的类必须是抽象类,自雷若继承了抽象类,必须覆写锁头抽象方法(子类是普通类)。Java中定义抽象类或者抽象方法使用abstract关键字。抽象类使用方法1.抽象方法所在的
2022-05-03 12:54:37
781
原创 Java 面向对象编程(三)——多态,方法重写,向上转型,向下转型
文章目录多态向上转型向上转型代码示例方法重载和方法重写重写发生条件@Override注解方法重载和方法重写钟总结向上转型发生的时机向下转型**向下转型定义方法**向下转型发生条件instanceof关键字多态定义:面向对象三大特征最核心的特性,一个引用可以表现出多种行为/特性。->多态性向上转型:最大的意义在于参数统一化,降低使用者的使用难度!!Dog dog = new dog();//类名称 类引用 = new 该类对象();Animal animal = new Dog();
2022-04-30 17:23:03
1266
原创 Java 面向对象编程(二)——继承,extends关键字,protected修饰符,super关键字
文章目录面向对象编程封装继承extends关键字隐式继承关于protected访问权限(即继承访问权限)继承的规则super关键字1. 修饰属性:2. 修饰方法:面向对象编程封装定义:使用private将属性进行封装(这个属性只能在当前类的内部可见,对外部隐藏)特性:保护性,易用性(用过程序对外提供的方法来操作属性->汽车启动,电脑启动)例子:人类->心脏,汽车->发动机复习:什么是方法重载?前提:在同一个类中,定义了若干个方法名称相同,参数列表不同,与返回值无的一组方法,
2022-04-28 22:03:00
2372
原创 Java 面向对象编程(一)——包的基本使用
文章目录包的概念IDEA中创建包的方法包存在的意义如何导入某个包中的某个类?静态导入常见的系统包包的概念Java中的"包"即是操作系统的文件夹,声明一个包用package关键字,若存在多个文件夹的嵌套,我们使用"."分隔,IDEA中创建包的方法比如我创建的嵌套包名称叫做:Zhengzhou.Universityof.AeronauticsandAstronautics下面就是三级嵌套的包:在操作系统本地打开文件夹,即再次盘上查看这个文件夹的情况可能有些好兄弟的包的分级显示效果和我不一样
2022-04-27 22:58:01
829
原创 数据结构与算法笔记(一)
文章目录选择排序冒泡排序插入排序额外空间复杂度算法流程的常数项面试刷题中,什么是最优解?常用时间复杂度排名算法和数据结构学习的大脉络认识二分法认识异位运算常数操作(固定时间):如加减乘除运算,位运算,赋值运算,寻址操作(数组寻址)。非常数操作(不是固定时间):如单链表(linkedList),没办法算偏移量。(在链表中使用for(){list.get[i]} -> 这个就是O(N^2) )。评估算法优劣的核心指标是什么?1)时间复杂度2)额外空间复杂度3)常数项时间(细节决定)复杂度
2022-04-24 20:36:53
837
原创 Java 类和对象详解(四)——构造方法
文章目录1.1 什么是构造方法1.2 构造方法的语法规则1.3 类的成员变量初始化过程1.4 构造方法的重载1.1 什么是构造方法定义:构造方法是非常特殊的一类方法,使用关键字new实例化对象时,实际上就是调用该类的构造方法。作用:构造方法的作用就是产生对象。使用new关键字产生一个对象时,大致分为以下两步: 1.为对象在堆中分配空间。 2.调用对象的构造方法为对象成员变量赋值。1.2 构造方法的语法规则1.方法名称与类名称完全相同。2.构造方法没有返回值还是声明(不是
2022-04-16 16:39:55
1206
1
原创 Java 类和对象详解(三)——private修饰符
引言:在咱们之前写的程序中,Person类的name和age属性,在类的外部,主方法中,或者其他地方都可以直接调用这个属性,这显得于有些不合理。举个现实生活中的栗子:对于银行可这个类来说,银行卡的卡号,余额,密码,这三个属性。如果这三个属性直接暴露在外部,这就会很不安全,不能让这些属性通过对象就被外部直接访问了。再举个栗子:对于汽车这个类来说,车从熄火到发动起起来,是需要很多个属性之间相互配合。这些属性对于我们用户来说,是不可见的,也是我们不关注的。只需要用钥匙一键启动(也就是我们编程中
2022-04-15 17:43:01
9390
原创 Java 类和对象详解(二)——static关键字
文章目录1.static关键字为何会引入这个static 变量?final 和 static 的区别static 修饰方法1.static关键字看见static,本能反应,和对象无关static可以修饰的类型:修饰属性:类属性,类变量修饰方法:类方法,工具方法static 修饰代码块,静态代码块static 修饰内部类,静态内部类static 修饰的属性称为类属性,类变量,所有对象共享为何会引入这个static 变量?请先看如下代码:public class C
2022-04-15 12:40:32
1260
4
原创 Java 类和对象详解 (一)
引言:面向对象Q是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Smaltalk语言之中进行了应用,后来根据面向对象的设计思路,才形成C++,而由C++产生了Java这门面向对象的编程语言。但是在面向对象设计之前,广泛采用的是面向过程,面向过程只是针对于自己来解决问题。面向过程的操作是以程序的基本功能实现为主,实现之后就完成了,也不考虑修改的可能性,面向对象,更多的是要进行子模块化的设计,每一个模块都需要单独存在,并且可以被
2022-04-14 16:56:51
629
原创 Java数组 (一) 创建数组及数组的简单使用
引言:我们之前创建两个整型变量可以用 int a = 10;int b = 20;创建4个整型变量,也可以一行行定义变量,假设我现在要一次性创建 1w 个整型变量,这种时候我们就需要用到数组这个结构了~文章目录数组1.什么是数组1.1 数组的定义1.2 数组的创建与初始化1.2.1数组的动态初始化1.2.2 数组的静态初始化1.3 数组的使用1.3.1 获取一个数组的长度(最多保存的元素个数)1.3.2 如何访问数组元素1.3.3 遍历数组中的每个元素数组引言:我们之前创建两个整型变量可以用
2022-04-09 21:17:51
5232
4
原创 Java 方法的使用与方法重载
文章目录1.方法的定义与使用1.1 什么是方法1.2 方法的定义语法1.3 方法的调用1.4关于实参和形参之间的关系(重点)2.方法重载(overload)1.方法的定义与使用1.1 什么是方法方法就是一个代码片段,类似于C语言中的函数.方法的复用性:已经写好了的代码块,可能被重复利用多次,这个时候就把这段代码抽象为方法.比如判断一个数是否是素数,就是一个典型的会被利用多次的代码快,应该定义为方法.1.2 方法的定义语法public static 方法名 方法返回值(参数){ //方法体
2022-04-09 16:37:31
908
4
原创 Java数据类型的转换
数据类型的转换前言:Java作为一个强类型的语言,在不同数据类型之间进行转换时,会有比较严苛的要求.例:int a = 10;long b = 100L;a = b;//会编译失败.b = a;//编译通过.在Java中,参与运算的数据类型不一致时,就会发生类型的转换.Java中类型的转换主要分为两类:自动转换类型(也称为隐式转换),和强制转换类型(也称显示转换).文章目录数据类型的转换自动类型转换强制类型转换1.小类型转为大类型是自动提升的1.1小类型变变量赋值给大类型时,例:`
2022-04-04 19:15:31
5708
9
原创 超详细,数据类型和变量总结
数据类型与变量文章目录数据类型与变量1. 基本数据类型2. 变量2.1 变量的概念2.2 类型的概念2.3 整型变量(重点)2.3.1 字节变量2.3.2 短整型变量(基本没用)2.2.3 整形变量2.2.4 长整型变量2.4 浮点型变量2.4.1 双精度浮点型**(重点)**2.4.2 单精度浮点型2.5 字符型变量2.6 字符串String--引用数据类型(重点)2.7 变量的作用域2.8变量的命名规则2.9 final关键字修饰的常量2.10字面值常量3.小结在Java中数据类型主要分为两类:基
2022-04-03 20:14:33
1292
28
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人