java面试题

一.2022.1北京中煤电器有限公司:

1.自我介绍+项目描述

2.tcp的三次握手

首先我简单说一下TCP协议的几个特点:

1、TCP是面向连接的协议(这就好比我要给你打电话,咱们俩之间的通讯路线必须是连接状态)

2、TCP连接是点对点的

3、TCP连接提供可靠交付

4、TCP连接是双向的通信

5、TCP是面向字节流传输数据

其次是三次握手的过程:TCP是面向连接的,所以每次传输数据之前,必须要建立TCP连接,在TCP建立时主要解决三个问题:1、使连接的每一方都确认对方的存在 2、协商连接中的参数,比如各方窗口值,时间戳等 3、各方对运输资源如缓存大小、连接表等进行分配

总结起来看,TCP三次握手过程就是client与service在相互确认各自发送和接收是否正常的过程:

第一次握手:client-->server,server确认了client的发送能力和自己的接收是否正常的过程

第二次握手: server-->client,client确认了自己的发送能力和server的接收能力是正常的,但是server此时不清楚自己的发送能力是否正常

第三次握手:client--->server,server确定了自己的发送能力正常,同时也表明双方也都确认完毕,可以开始传输数据。

2.java面向对象有哪些特征?

1.封装(可以在不影响使用的情况下,改变类内部的结构,只要对外接口不变,内部类随便,同时也保护了数据,提高代码复用性) 2.继承(提高代码的复用性)  3.多态(多态第一要有继承,第二要有重写,第三父类对象指向子类对象,增加了代码的可移植性,灵活性 )

3.Arraylist和Linkedlist的区别?

Arraylist和Linkedlist本身都实现了list接口,但是底层实现的数据结构是不一样的,ArrayList底层是用数组来实现的,一个数据一个数据是挨着的,下面是带索引的,而链表是构成数据的链条,每个节点除了存储数据以外,还要存储指向下一个数据的指针。插入数据和删除数据多的时候用Linkedlist。如果访问数据较多的时候用Arraylist较多

4.高并发中的集合有哪些问题?******

第一代线程安全集合类是通过synchronized修饰方法来保证线程安全的(Vector HashTable)

第二代线程非安全集合类:线程不安全,但是性能较好(用Arraylist、HashMap代替了Vector HashTable),需要线程安全的时候用可以用collections.synchronized(list);collection  

collections.synchronizedMap(m);

5.JDKHWDAWDWAAWD

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值