栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java面试常见问题 --- 持续更新(欢迎指正)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java面试常见问题 --- 持续更新(欢迎指正)

1、ArrayList和linkedList的区别

ArrayList是数组结构,静态分配内存,支持随机查找,但插入数据时需要移动数据。

linkedList是双链表结构,动态分布内存,通过更改指针可以快速插入删除元素,内存空间占用小

延伸问题--单链表与双链表的区别

单链表是单向的,只有下一个节点的指针

双链表是双向的,有前后节点的指针,利用二分法,可以实现快速查找

2、HashMap的数据结构

HashMap是数组+链表组成的,结合了数组和链表的优点,既可以有较快的查询速度,又能方便的插入删除数据,内部是一个entry[ ]格式的数组,每个entry后又以链式结构链接多个entry

添加元素A,计算A.hashcode =0 ,则entry[0]=A

继续添加元素B,B.hashcode=0,则将b也放到entry[0]中,则entry[0]=B,B.next=A

当添加元素C时,C.hashcode=1,则将c添加到entry[1]中,enctry[1] =C

3、线程安全的集合有哪些?

Vector,性能较差

HashTable 内部使用了synchronize同步,性能与hashmap差不多

CurrentHashMap,线程间同步,在父线程中声明的值,在子线程中可以继续使用

CooyonWriteArrayList 在写数据时复制出一个新副本,添加完数据后,讲新副本设置list

写操作会加锁解锁,读操作时不加锁

4、mysql的索引类型

普通索引 只能加速搜索速度

主键索引 唯一值,主键不可以为null

唯一索引 索引可以为null

联合索引 必须按顺序使用,索引才能生效

全文索引 利用分词法,对内容分类,常用的分析法有二分法,词典法,统计法,分类创建对应的字符串到文件的反向索引也叫倒排索引

扩展--mysql的引擎类型有Innodb ,和MyISAM

主要区别innodb支持事务,myisam不支持事务

innodb是行级锁,myiasm是表级锁

5、redis的数据类型

string 字符串类型

hash 对象类型

list 字符串列表

set 集合

zset 有序集合

6、七层网络协议

应用层 :典型协议HTTP、FTTP、SMTP

表示层 

会话层

传输层 :典型协议TCP、UDP

网络层

链路层

物理层

扩展-- 常用的负载均衡软件 Nginx,Haproxy

Nginx工作在七层网络协议,haproxy既可以工作在七层网络,也可以工作在四层网络

tcp的三次握手

A --> B a发消息到b,b收到消息,表示B了解了a的发送和b的接收没有问题

A <-- B b回消息到a,a收到消息,a了解到a的发送接收没问题,b的发送接收也没问题

A --> B a再发消息到b,b收到消息,b了解到a的接收正常,b的发送正常

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/462344.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号