23.12月中旬 上海寻序人工智能科技-上海嘉定-Java开发实习生-150-230/d
0、对象存储minio
黑马头条 SpringBoot+SpringCloud+ Nacos等企业级微服务架构项目_黑马头条项目-CSDN博客
1、这个下面有minio介绍,读写速度快,直接docker拉下来就能用
2、ArrayList的扩容
Java 大厂面试 —— 常见集合篇 List HashMap 红黑树_java list是连续内存吗-CSDN博客
3、Object的类有哪些方法
object类中的常用方法的用处:
1、 getClass():获取类的class对象。
2、 hashCode:获取对象的hashCode值
3、 equals():比较对象是否相等,比较的是值和地址,子类可重写以自定义。
4、 clone():克隆方法。
5、 toString():如果没有重写,应用对象将打印的是地址值。
6、 notify():随机选择一个在该对象上调用wait方法的线程,解除其阻塞状态。该方法只能在同步方法或同步块内部调用。如果当前线程不是锁的持有者,该方法抛出一个IllegalMonitorStateException异常。
7、 notifyall():解除所有那些在该对象上调用wait方法的线程的阻塞状态。该方法只能在同步方法或同步块内部调用。如果当前线程不是锁的持有者,该方法抛出一个IllegalMonitorStateException异常。
8、 wait():导致线程进入等待状态,直到它被其他线程通过notify()或者notifyAll唤醒。该方法只能在同步方法中调用。如果当前线程不是锁的持有者,该方法抛出一个IllegalMonitorStateException异常。
9、 finalize():对象回收时调用
4、hashcode有什么用
Java hashCode()方法指南_java直接调用hashcode方法-CSDN博客
5、equals和==的区别
"=="和equals()方法的区别和联系
"=="比较基本数据类型时比较的是表面值内容,而比较两个对象时比较的是两个对象的内存地址值
对于equals方法,注意:equals方法不能作用于基本数据类型的变量
如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;
诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容
简单概括就是:
\== 在基本数据类型:值内容, 引用类型时:地址
equals 重写:值内容 , equals不重写:地址
6、处理哈希冲突
哈希表的内在行为支持这些数据结构的相关实现:即使哈希算法非常有效,两个或多个对象不相等,也有可能产生相同的哈希值。所以它们的哈希值指向相同的桶,虽然它们有不同的key值。
通常这种场景我们称为哈希冲突,存在多种方式可以处理,每个都尤其优劣。java HashMap采用单独链接方法处理冲突:
当两个或多个对象指向相同的桶,这些对象在桶中以linked List方式存储。这种情况下,哈希表是linked List的数组,每个相同哈希值对象被追加至桶的linked List中。
最坏情况下,几个桶仅绑定一个linked List,则在list中检索对象只能是线性搜索。哈希冲突说明为什么实现有效hashCode方法非常重要。
java 8 提供了HashMap的增强实现,如果桶大小超出一定阈值,会使用tree map代替 linked List,只有时间复杂度从O(n)提升至O(logn)。
7、JVM中的垃圾回收器
[JVM基础]-- 垃圾回收器_jvm垃圾回收器-CSDN博客
8、了解哪些GC算法
Java 大厂八股文面试专题-JVM相关面试题 垃圾回收算法 GC JVM调优_gc 伊甸园区s0 s1-CSDN博客
9、jdk8的默认gc算法
Java8默认使用的GC类型_jdk8用的什么gc-CSDN博客
10、常见的网络协议
11、邮件的网络协议
- SMTP协议
- POP3协议
- IMAP协议
12、get请求和post请求的区别
从幂等性的角度,GET是幂等的,而POST不是。 (幂等表示执行相同的操作,结果也是相同的)
从TCP的角度,GET 请求会把请求报文一次性发出去,而 POST 会分为两个 TCP 数据包,首先发 header 部分,如果服务器响应 100 (continue), 然后发 body 部分。
13、常用的linux、docker命令
14、制作dockerfile命令有哪些部分