zoukankan      html  css  js  c++  java
  • java基础知识

    1.TCP和UDP
    第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
    第二次
    第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
    第三次
    第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手

    UDP:不需要建立连接,是不可靠协议,将数据及源和目的封装到数据报中,每个数

    据报限制在 64k 以内,发送数据较少,速度快

    TCP:通过三次握手建立连接通路,是可靠协议,可进行大量的数据传输,效率较低

    2.同步函数和同步代码块
    它们的作用都是封装多条操作共享数据的语句, 只能让一个线程都执行完, 在执行过程

    中,其他线程不可参与进来。

    ***同步代码块:位置比较灵活,封装了操作共享数据的语句,多个线程中只有持有锁的才

    可以操作共享数据,需要指定一个对象作为锁,锁可以是任意对象,但必须是同一对象。

    ***同步方法:声明方法时加 synchronized 关键字修饰,同步函数使用的锁是 this,持有

    锁的线程调用这个方法时其他线程无法调用。

    静态方法的锁是类的字节码文件

    3.接口和抽象类

    注意:父类私有方法不能被重写
           子类访问权限大于父类访问权限
           静态方法只能被静态方法重写

    4.线程的5种状态:
    新建: 仅仅在heap中分配了内存,是一个空的线程对象
    就绪:   执行start方法之后,进入runnable状态
    运行:   running状态
    阻塞:
    死亡:   退出run()方法正常结束/异常结束

    5. 简述 JRE 与 JDK 的区别?

    答案:
    JRE: Java Runtime Environment;
    Java 运行环境,包括 jvm 虚拟机和 Java 核心类库,           面向用户

    JDK: Java Development Kit;
     Java 开发工具包,包括 Java 编译器,Java 运行工具,Java文档生成工具,Java 打包工具,        面向开发者


    6.throws和throw

    异常的处理:
        原则是:功能内部能处理就try-catch,不能处理就抛

        子类重写父类方法,父类抛异常,子类也需要抛相同异常,或该异常的子类
        被重写的方法没有抛异常,子类只能try-catch不能抛


  • 相关阅读:
    LeetCode 79. 单词搜索
    LeetCode 1143. 最长公共子序列
    LeetCode 55. 跳跃游戏
    LeetCode 48. 旋转图像
    LeetCode 93. 复原 IP 地址
    LeetCode 456. 132模式
    LeetCode 341. 扁平化嵌套列表迭代器
    LeetCode 73. 矩阵置零
    LeetCode 47. 全排列 II
    LeetCode 46. 全排列
  • 原文地址:https://www.cnblogs.com/fanfusuzi/p/6853112.html
Copyright © 2011-2022 走看看