精华内容
下载资源
问答
  • osi和tcp/ip的区别 相同点与不同点

    千次阅读 2020-03-19 22:13:58
    查询资料, 总结了一下OSI与TCP/IP的相同点与不同点 全称 OSI, 全称Open System Interconnection, 开放系统互联; TCP, 全称Transmission Control Protocol, 传输控制协议 IP, 全称Internet Protocol, 网络协议 整体...

    welcome to my blog

    查询资料, 总结了一下OSI与TCP/IP的相同点与不同点

    全称

    OSI, 全称Open System Interconnection, 开放系统互联;
    TCP, 全称Transmission Control Protocol, 传输控制协议
    IP, 全称Internet Protocol, 网络协议
    整体架构图
    在这里插入图片描述

    OSI与TCP/IP的相同点

    1. 都是层结构
    2. 层之间提供相似的功能
    3. 都是协议栈
    4. 都是引用模型

    OSI与TCP/IP的不同点

    OSI(Open System Interconnection)TCP/IP(Transmission Control Protocol / Internet Protocol)
    OSI是个通用的, 协议独立的标准, 在网络和终端用户之间扮演通信网关的角色TCP/IP是互联网通信的标准协议. 它是个通信协议, 允许不同的主机通过网络连接
    OSI模型中的传输层保证了包的传输TCP/IP模型中的传输层没有保证包的传输
    遵循垂直方法遵循水平方法
    OSI模型有表示层和会话层TCP/IP模型没有表示层和会话层
    OSI模型中的传输层是面向连接的TCP/IP模型中的传输层既能面向连接, 又能不面向连接
    OSI模型中的网络层既能面向连接, 又能不面向连接TCP/IP模型中的网络层不面向连接
    OSI是个引用模型, 网络是基于它建立起来的. 通常而言,它被视为指导工具TCP/IP模型是OSI模型的一种具体实现
    OSI模型存在将协议拟合到模型中的问题TCP/IP模型不拟合任何协议
    OSI模型中的协议是隐藏的并且随着技术的发展很容易被替代TCP/IP模型中的协议很难替代
    OSI模型中清晰地定义了服务,接口和各种协议. OSI模型是协议独立的TCP/IP模型中定义的服务,接口和各种协议并不能明确地区分. TCP/IP模型是协议独立的
    OSI模型有7层TCP/IP模型有4层

    以上内容翻译自这篇文章

    展开全文
  • 方法的覆盖和重载具有以下相同点: 都要求方法同名 都可以用于抽象方法和非抽象方法之间   方法的覆盖和重载具有以下不同点: 方法覆盖要求参数列表(参数签名)必须一致,而方法重载要求参数列表...

    方法的重载(overload)和覆盖(override)

     

    有的时候,类的同一种功能有多种实现方式,到底采用哪种实现方式,取决于调用者给定的参数。例如我们最常用的System.out.println()能够打印出任何数据类型的数据,它有多种实现方式。运行时,Java虚拟机先判断给定参数的类型,然后决定执行哪个println()方法。

     

    重载(overload):对于类的方法(包括从父类中继承的方法),方法名相同参数列表不同的方法之间就构成了重载关系。这里有两个问题需要注意:

    (1)       什么叫参数列表?参数列表又叫参数签名,指三样东西:参数的类型参数的个数参数的顺序。这三者只要有一个不同就叫做参数列表不同。

    (2)       重载关系只能发生在同一个类中吗?非也。这时候你要深刻理解继承,要知道一个子类所拥有的成员除了自己显式写出来的以外,还有父类遗传下来的。所以子类中的某个方法和父类中继承下来的方法也可以发生重载的关系。

    大家在使用的时候要紧扣定义,看方法之间是否是重载关系,不用管方法的修饰符和返回类型以及抛出的异常,只看方法名和参数列表。而且要记住,构造器也可以重载。

     

    覆盖 (override):也叫重写,就是在当父类中的某些方法不能满足要求时,子类中改写父类的方法。当父类中的方法被覆盖了后,除非用super关键字,否则就无法再调用父类中的方法了。

    发生覆盖的条件:

    1、“三同一不低” 子类和父类的方法名称参数列表返回类型必须完全相同,而且子类方法的访问修饰符的权限不能比父类

    2、子类方法不能抛出比父类方法更多的异常。即子类方法所抛出的异常必须和父类方法所抛出的异常一致,或者是其子类,或者什么也不抛出

    3、被覆盖的方法不能是final类型的。因为final修饰的方法是无法覆盖的。

    4、被覆盖的方法不能为private。否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。

    5、被覆盖的方法不能为static。所以如果父类中的方法为静态的,而子类中的方法不是静态的,但是两个方法除了这一点外其他都满足覆盖条件,那么会发生编译错误。反之亦然。即使父类和子类中的方法都是静态的,并且满足覆盖条件,但是仍然不会发生覆盖,因为静态方法是在编译的时候把静态方法和类的引用类型进行匹配。

     

    方法的覆盖和重载具有以下相同点:

    都要求方法同名

    都可以用于抽象方法和非抽象方法之间

     

    方法的覆盖和重载具有以下不同点:

    方法覆盖要求参数列表(参数签名)必须一致,而方法重载要求参数列表必须不一致。

    方法覆盖要求返回类型必须一致,方法重载对此没有要求。

    方法覆盖只能用于子类覆盖父类的方法,方法重载用于同一个类中的所有方法(包括从父类中继承而来的方法)

    方法覆盖对方法的访问权限和抛出的异常有特殊的要求,而方法重载在这方面没有任何限制。

    父类的一个方法只能被子类覆盖一次,而一个方法可以在所有的类中可以被重载多次。

     

    另外,对于属性(成员变量)而言,是不能重载的,只能覆盖。

    展开全文
  • C语言和Java的区别相同点

    千次阅读 2016-08-31 19:36:18
    10:相同点: c语言是至传递,在函数调用时候不会改变外部变量的值,这有时候会给程序带来困难, 使用指针可以做到这一点,就是改变外部变脸给的值。这个和JAVA的引用变量是一个的 11: 字符串,java 中...
    0:标识符:java 中可以有美元符号,c不可以
    
    1:true 和false 不是c语言的关键字
    2: c语言的类型列表:
    0:基本类型(6种):数值类型(整形(short,int,long(没有byte)),浮点型(float,double)),字符型 char,(没有boolean型)
    c语言允许用数值来标识逻辑值,用0标识false,用非0标识true;Java中是不允许的,java 直接使用boolean 的true和false 值来标识
    1:构造类型(4种):数组,结构体struct,公用体union,枚举类型enum,
    2:指针类型
    3:空类型void

    3:在c 语言里面short,long,signed,unsigned 其实是整形的修饰类型,
    例如short int标识短整形,一般写为short
    long int 标识长整形,一般写为long


    4:c语言里面
    int result = !(a>b);//a>b为假所以等于0,!0就等于1 


    //if(表达式,关系表达式,逻辑表达式,常量,变量)语句:
    //表达式为真(非0)执行语句,否则不执行
    //java  里面只能是关系表达式和boolean 类型的变量

    5:函数的调用的参数的传递


    6:返回值的规定:(前面的两条和java 不一样,java 是可以返回数组的,没有忽略返回值一说)
    a:函数不能返回数组
    b:如果忽略返回值,假定返回int
    c:void 标识没有返回值


    7:简单的来说C语言的数组就是一旦定义不可修改,定义的时候长度就固定了。
    PS:java 里面的定义是这样的,不可以定义的时候是不可以制定长度的,必须是在分配的时候才可以的。


    //数组的初始化:JAVA 是不支持的,因为不可以在声明的时候制定长度
    int a[5]={1,2,3,4,5};
    //下面的这种定义也是可以,部分初始化,JAVA 是不支持的,因为java 是在初始化的时候才知道长度的
    int b[5]={1,2,3};
    //如果为全部元素初始化,可以省略长度,其实这种就是Java 的用法,java 也是可以这么声明和初始化的int[] args,int args[]
    int x[]={1,2,3};

    8://C语言计算一个数组的字节长度可以直接通过sizeof,如果是数组的长度呢,需要用字节长度除以该数组的类型字节长度
    //java里面只要一个b.length的属性就可以了。
    int sizeb = sizeof(b);
    printf("b数组字节长度=%d\n",sizeb);

    printf("size of int =%ld\n",sizeof(int));

    printf("b数组的长度为%d\n",sizeb/sizeof(int));

    9:网购的地址,通过这个地址找到你,
    程序的地址,通过地址来操作变量,这个地址有一个叫法叫做指针,java 里面把地址就叫做引用
    指针是有类型的,就是指针类型,JAVA中的地址叫做引用,类型叫做引用类型


    10:相同点:
    c语言是至传递,在函数调用时候不会改变外部变量的值,这有时候会给程序带来困难,
    使用指针可以做到这一点,就是改变外部变脸给的值。这个和JAVA的引用变量是一个的


    11: 字符串,java 中是申明了就不能修改了,如果要修改就是StringBuffer
    c语言中,都是通过string.h 里面的方法来操作的


    12: 结构类型-标示,就有点像是java中的class
    public Class Person{
    int pid;
    String name;
    int age;
    }
    使用的时候Person p1;


    //2.结构类型-结构标示
    struct Person{
        int pid;
        char name[10];
        int age;
    };//注意这了是有;的符号的
    使用的时候struct Person p1;


    struct Person{
        int pid;
        char name[10];
        int age;
    }p2,p3={1,"hello",3};//注意这了是有;的符号的,而且可以在这里进行初始化和申明


    //3:改进,成为结构类型定义,通过类型定义的方式,实现和java非常类似的
        
        typedef int BOOL; //这样bool 就代表int类型了
        typedef struct{
            int pid;
            char name[10];
            int age;
        } Customer;
        
        Customer c1;
        c1.pid = 9;
        strcpy(c1.name,"customer");
        c1.age=9;
        
        printf("pid=%d,name=%s,age=%d\n",c1.pid,c1.name,c1.age);
        
    结构变量,结构类型标示,结构类型定义的区别
    +++++++++++++++++++++++++
    0:结构变量,每次用的时候都需要重新定义一遍。
    //复合类型,结构变量的声明
        struct{
            int pid;
            char name[10];
            int age;
        } p1,p2;


    ++++++++++++++++++++++++++
    1:结构标示,就是给结构起一个名字,
    //2.结构类型-结构标示
    struct Person{
        int pid;
        char name[10];
        int age;
    };//注意这了是有;的符号的
    使用的时候struct Person p1;




    struct Person{
        int pid;
        char name[10];
        int age;
    }p2,p3={1,"hello",3};//注意这了是有;的符号的,而且可以在这里进行初始化和申明




    +++++++++++++++++++++++++
    2:然后觉得可能还不是很好,那么就结构类型定义,就像java一样的使用了
    typedef struct{
            int pid;
            char name[10];
            int age;
        } Customer;
        
        Customer c1;




    +++++++++++++++++++++++++++
        







    展开全文
  • 指针和引用的相同点和不同点

    千次阅读 2019-09-02 16:51:51
    三、引用和指针的相同点 1、指针和引用都可以优化传参效率 四、引用和指针的不相同点 1、指针占内存空间,引用不占内存空间 2、指针可以为空,但是引用不能为空 3、指针可以不初始化,但是引...

    一、指针
    下面这个超链接是之前写的关于指针的详解
    指针详解

    二、引用
    引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。简单点说就是声明一个标识符为引用,就表示该标识符是另一个对象的外号。

    三、引用和指针的相同点
    1、指针和引用都可以优化传参效率
    2、都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。
    3、指针和引用都占内存空间

    四、引用和指针的不相同点
    1、指针可以为空,但是引用不能为空
    2、指针可以不初始化,但是引用必须初始化
    3、指针可以有多级,但是引用只能是一级(int **p合法但是int &&a是不合法的)
    4、指针的值在初始化后可以改变,即指向其它的存储单元,而引用在进行初始化后就不会再改变了,从一而终。
    5、指针是一种变量,而引用只是引用。

    关于引用占不占内存空间:从我们使用的角度看,引用会让我们误会它只是一个别名,没有自己的存储空间。这是C++为了使用性而做出的细节隐藏。实际上,C++编译器在编译的过程中使用常指针作为引用的内部实现,因此引用所占用的空间大小与指针相同。

    展开全文
  • DSP(ASIC)与FPGA 相同点区别

    千次阅读 2019-03-08 18:33:04
    硬件 DSP:是ASIC,如同CPU/GPU一样,适合量产,降低成本,缺点是(硬件)设计一旦确定,便不易于修改。 FPGA :通过HDL 快速设计,但成本较高,用于ASIC的prototype设计。 参考:... ...DSP:DSP...
  • 相同点: 不同点:
  • html和xml的相同点和不同点

    千次阅读 2017-03-27 14:29:30
    html和xml的相同点 html和xml他们都是标记语言,一个是超文本标记语言,一个是扩展标记语言。 xml与html在形式上很相似xml和html的区别第一点,XHTML(或是html)只能用于web(也就是网页中),而xml则不同,它是...
  • 文章目录字符串,元组,列表的相同点和不同点:1.创建2.拼接3.索引和切片4.计数4.增删改查 字符串,元组,列表的相同点和不同点: 1.创建 空变量 列表: li=[] 字符串 sr='' 元组 tp=() 非空 列表 li...
  • Jmeter和Locust的相同点和不同点?locust和Jmeter分布式设置 相同点:都是性能测试工具, 都支持no-web运行,都支持分布式 不同点: Jmeter: java的,有完整的内置函数和第三方插件,能测试几乎所有应用程序和...
  • Redis 和 Memcache的不同点和相同点

    千次阅读 2020-04-30 10:30:49
    共同: 1.Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等。 2分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。也可以一...
  • 相同点 : 都能用来储存数据 不同点: 1.Application 储存在服务端,没有时间限制,服务器关闭即销毁(前提是自己没销毁方法) 2.Session 储存在服务端,客户端(浏览器)关闭即销毁(若长时间不使用 且 ...
  • Input和Line Input都是用于读取文件内容,并将其赋值给变量,其作用在笔者看来是差不多的,区别主要是: input语句语法: input 文件号,变量列表 input其后能够跟变量列表,也就是能够将内容分别赋值给几个变量,...
  • 1. 字典和列表的不同点 1、列表中的元素都有自己明确的“位置”,即使看似相同的元素,只要在列表中所处的位置不同,它们就是两个不同的元素。比如: 2、字典相对列表显得随和,调动顺序也...2.字典和列表的相同点 ...
  • 抽象类和接口的相同点: 1.都不能被实例化 2.接口的实现类或抽象类的子类都只有实现了接口或抽象类中的方法后才能被实例化 不同点: 1.接口只有定义,其方法不能再接口中实现,只有实现接口的类才能实现接口中定义...
  • 用 C++ 和 Java 算法,差别大吗?

    万次阅读 多人点赞 2019-01-16 10:29:52
    无论是七、八年前开始的 “算法博客”,还是三年前出版的图书《算法的乐趣》,亦或是畅销课《算法应该怎么玩》,我介绍算法用的例子都是用 C++ 编写的。 尽管以前博客的留言里不乏抱怨之声,但是在《算法的乐趣》...
  • 进程和程序的相同点: 程序是构成进程的组成部分之一,一个进程存在的目的就是执行其所对应的程序,如果没有程序,进程就失去了其存在的意义。 进程与程序的差别: (1)程序是静态的,而进程是动态的; (2)程序...
  • 感觉对网站的控制语句,无非就是一个用C#,一个用JAVA来,别的东东还真没看出有什么区别来。VS平台和MyEclips平台在制作网站方面基本也差不多。感觉C#老师讲的有些慢啊,我现在好想自己用ASP技术编写出一
  • RAM表示的是读写存储器,可其中的任一存储单元进行读或操作,计算机关闭电源后其内的信息将不在保存,再次开机需要重新装入,通常用来存放操作系统,各种正在运行的软件、输入和输出数据、中间结果及与外存交换...
  • 我们先将CPU比作一个人(A),那么人脑的计算相当于CPU计算。将人脑的记忆分为快速记忆和永久记忆,那么,快速记忆相当于CPU的...CPU和单片机,个人感觉没多大区别。 将硬盘的盘片比作一大张可擦的大拼图。那么一般
  • 、、、、、、、、、、、、、、、、、、、、、、、、、、、来自数据结构严蔚敏吴伟民版教材书中的知识自己慢慢记录下来,一点点消化以后还能来这里看看之前的课程都没有过 可惜了改变是一点点开始的、、、、、、、...
  • 算法,用 C++ 还是用 Java ,差别大吗?

    万次阅读 多人点赞 2018-09-20 23:35:33
    大家好,我是为人造的智能操碎了心的智能禅师。今天带来的文章,是 GitChat 签约作者王晓华在不断被读者吐槽:“好好一本算法书为什么用 C++ 来” 时,万般无奈下...
  • HTTP与RPC的区别: ...  调用远程机器上的一个... RPC的协议识别出过程并且传递给它固定的一组参数,然后等待在使用相同接口返回的一个消息中提供的回答。远程方法调用(RMI)也是类似的,除了过程被标识为一个{对象
  • 有区分大小,eregi()本函数与大小无关 。       例子 $str="a"; if(eregi("[0-9]+",$str)){  echo"这是一个数字"; } else if(eregi("[a-z]+",$str)){  echo"这是一个字母"; ...
  • 前言 作为搬砖在第一线的底层工人,业务场景从来是没有...所以我们一起看看if还能怎么 最基本if-else 假设有这么个场景,不同情况下打印不同值。 因为涉及到的条件太多,就不提三目运算之类优化了。 if (a == 1) { ...
  • Shell编程与C语言编程的相同点: 1. 需要做参数声明 2. 具备灵活性和可移植性 3. 与操作系统结合紧密 4. 程序运行前需要满足其环境 5. 有相同的逻辑控制结构,如 if 语句 while 循环语句等。 ...
  • 首先明白一点,就是无论你用哪种语言进行程序设计,也无论你用哪个函数进行文件操作(库函数也好,直接操作系统API也好),最终的文件打开的操作都是由操作系统来进行的,因此各种语言的情况从本质上来说都是相同...
  • 总结一、博客与电子笔记有哪些异同点相同:博客和电子笔记都可以记录我们学习的过程,以及加强我们对知识的理解程度和使用。不同:博客主要是记录成长史和分享知识和经验以及交流经验;电子笔记主要为了在需要的时候...
  • SQL学会使用"执行计划

    万次阅读 2013-10-28 21:02:30
    SQL是程序员的基本功,而能出性能优异的SQL是优秀程序员的必备技能。 可那些性能好的SQL语句是怎么出来的?难道他们了解数据库底层的东西吗? 其实了解数据库原理是一方面,更快捷的是借助“执行计划”...
  • 首先明白一点,就是无论你用哪种语言进行程序设计,也无论你用哪个函数进行文件操作(库函数也好,直接操作系统API也好),最终的文件打开的操作都是由操作系统来进行的,因此各种语言的情况从本质上来说都是相同...
  • 手把手教你专利申请书/如何申请专利

    万次阅读 多人点赞 2008-12-10 10:46:00
    手把手教你专利申请书·如何申请专利   摘要 小前言 (一)申请前的准备工作  1、申请前查询  2、其他方面的考虑  3、申请文件准备 (二)填写专利申请系列文档  1、实际操作步骤  2、具体操作  3、经验...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 531,946
精华内容 212,778
关键字:

区别要写相同点吗