- 博客(10)
- 收藏
- 关注
原创 计网2:网络层
1.网络层只向上提供简单灵活的、无连接的、尽最大努力交付的数据报服务。(数据报和分组是同义词)。网络层不提供服务质量的承诺。2.如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)。3.每一个IP地址都由网络号和主机号两部分组成。从这个意义上说,IP地址是一种分等级的地址结构。4.实际上IP地址是标志一台主机(或路由器)和一条链路的接口。由于一个路由器至少应当连接到两个网络,因此一个路由器至少应当有两个不同的IP地址。5.按照互联网
2021-12-07 22:28:58
290
1
原创 计网1:物理层及数据链路层概述
1.物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流,而不是指具体的传输媒体。2.物理层的作用正是要尽可能地屏蔽掉这些传输媒体和通信手段的差异,使物理层上面的数据链路层感觉不到这些差异。3.数据在计算机内部多采用并行传输方式。但数据在通信线路上的传输方式一般都是串行传输,即逐个比特按照时间顺序传输。因此物理层还要完成传输方式的转换。4.数据链路层使用的信道主要有以下两种类型:(1)点对点信道。(2)广播信道。5.局域网虽然是个网络,但我们并不把局域网放在网络层中讨论。这是因为
2021-11-26 21:41:15
575
转载 java中的final,static和static final
finalfinal表示最终的,不可变的final 可以修饰-类,方法,变量修饰类-表示类不可变,不可继承,比如String具有不可变性 修饰方法-表示该方法不可重写,比如模板方法,可以用来固定算法 修饰变量-表示该变量在编译后成为一个常量,不可以被修改注意:修饰基本数据类型,值本身不能被改变修饰的是引用类型,句柄本身或者说引用的指向是不可变,但对象里面的属性可以改变staticstatic表示全局的 or 静态的static 可以修饰-...
2021-11-25 00:13:35
261
转载 单例模式(饿汉、懒汉)
这篇写的是23种设计模式中的一种——单例模式1、什么是单例模式?百度百科是这样定义的:单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例我是这样理解的:单例模式就是只允许一个实例,最开始使用它的时候是C#中,我要实例化一个A窗体,但是有个需求就是A窗体必须是唯一,不管我在B窗体操作A窗体还是C窗体中操作A窗体都是如此,这时候就使用到了单例模式2、单例模式分类A、懒汉单例模式:在第一次调用的时候实例化本身,在并发环境
2021-11-25 00:11:29
318
原创 计网0:计算机网络体系结构概述
1.计算机网络研究的问题归结起来就是:使网络中的两台计算机进行数据交换。2.OSI七成架构,TCP/IP四层架构等等都是为了解决这一问题存在的。3.计算机网络是个非常复杂的系统。进行数据交换,需要保证数据通信通路激活,要告诉网络如何识别接受数据的计算机,需要确保对方计算机已开机并且文件格式需要兼容,若不兼容,需要完成格式转换,如果出现数据传送错误、重复、丢失或丢失,应当有可靠的措施保证对方计算机能够收到正确的数据等等。由此可见,相互通信的两个计算机系统必须高度协调才行。由此可见,计算机网络进行分层的
2021-11-20 13:50:11
1681
原创 力扣53 最大子序和
题目描述:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-100000]输出:-100000...
2021-11-12 21:39:24
66
原创 力扣206 对链表进行反转
本题主要运用迭代思想,需要注意设置变量pre记录前置节点,并且迭代时也需设置下一个节点。代码如下/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListN
2021-11-12 21:23:13
423
原创 力扣146 LRU缓存机制
本题主要要求在于LRU(最近最少使用),即当缓存空间满时,要想继续存储数据,需要删除掉缓存空间中最少使用的数据,实现此功能的关键是维护一个双向链表,每次存取数据,就把该数据对应的节点移到双向链表头部,这样,最近最少使用的节点就会到链表尾部,删除节点时,删除尾部的节点。代码如下class LRUCache { class DLinkedNode { int val; int key; DLinkedNode pre;
2021-11-11 18:25:33
228
原创 力扣148 对链表进行排序---归并排序实现
对链表进行归并排序,主题思想是对链表进行分割,然后对分割后的两部分分别排序,最后对这两部分进行合并,需要注意的点有1,对链表进行分割,寻找分割点可以使用快慢指针,设置慢指针p,快指针q,p每次走一步,q每次走两步,那么当q到达链表末尾时,p此时指向链表中点附近,因此以p作为分割点。2,对两个链表进行合并排序,使用递归的方式会非常简洁并且易于理解。代码如下class Solution { public ListNode sortList(ListNode head) {
2021-11-11 18:06:03
567
原创 力扣147 对链表进行插入排序
主要思想是维护一个排好序的序列,设置序列最后一个节点为lastNode,设置当前节点为curNode,将curNode插入到排好序的序列中。插入排序并没有我想象的那么简单,主要注意设置lastNode和curNode,会让解题思路清晰很多...
2021-11-09 13:20:22
394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人