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不能抛


  • 相关阅读:
    oracle 导入数据时提示只有 DBA 才能导入由其他 DBA 导出的文件
    oracle 常用语句
    android udp 无法收到数据 (模拟器中)
    android DatagramSocket send 发送数据出错
    AtCoder ABC 128E Roadwork
    AtCoder ABC 128D equeue
    AtCoder ABC 127F Absolute Minima
    AtCoder ABC 127E Cell Distance
    CodeForces 1166E The LCMs Must be Large
    CodeForces 1166D Cute Sequences
  • 原文地址:https://www.cnblogs.com/fanfusuzi/p/6853112.html
Copyright © 2011-2022 走看看