都是一些基础的,从别人那里听说或者看到的问题。带详解连接(下划线)

  • equals,==,hashcode

  在object类里面定义了equals方法,默认情况下,判断的是两个对象的地址是否相等,等价于“==”。可重写此方法:public boolean equals(Object obj){}自定义比较内容。  

  hashcode,仅仅在创建散列表的时候才有用,如果两个对象相等,他们的hashcode一定相等,但hashcode相等,对象不一定相等。所以在散列表中,要判断是否相等,要同时重写equals方法和hashcode方法。

  • 集合

  jdk提供的java集合都位于java.util包中,与java数组不同,Java集合不能存放基本数据类型,而只能存放对象。ps:int和Integer的区别

  Java集合主要包括三个类型:set,list,map

Set是最简单的集合,集合中的对象不按照特定方式排序且没有重复对象

List按照元素以线性方式存储,允许存放重复对象

Map集合中的每一个元素包含一对键和值对象,没有重复的键对象,值对象可以重复


Set:

  HashSet类根据哈希算法来存取集合中的对象,具有很好的存取查找特性。

  TreeSet采用树结构来存储数据,按大小排序,对同一层的结点从左到右大小递增,下一层的都不上一层的小。默认情况下用compareTo自然排序,可以客户化排序。

public class Point implements Comparable{private int x;private int y;public Point(int x,int y){this.x=x;this.y=y;}public int compareTo(Object obj){if(obj instanceof Point){Point p=(Point)obj;return (x*1000+y)-(p.x*1000+p.y);}else{return -1;}}}

客户化排序:接口Comparator;比较comparable和comparator的区别


List:

ArrayList是否会越界?

ArrayList和LinkedList(双向链表)有什么区别?

阐述ArrayList、Vector、LinkedList的存储性能和特性?

ector与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问ArrayList慢。


Map:

Map和ConcurrentHashMap的区别?HashMap和Hashtable有什么区别?concurrenthashmap有啥优势?

ConcurrentHashMap锁加在了哪些地方?

ConcurrentHashMap是使用了锁分段技术来保证线程安全的。

  锁分段技术:首先将数据分成一段一段的存储,然后给每一段数据配一把锁,当一个线程占用锁访问其中一个段数据的时候,其他段的数据也能被其他线程访问。

如果hashMap的key是一个自定义的类,怎么办?上面的重写equals和hashcode

什么是TreeMap?


2019-03-19

转载于:https://www.cnblogs.com/cuphoria/p/10559098.html

[JAVA]预面试笔记相关推荐

  1. 阿里淘系 七面 0经验拿下offer 只因面试前死磕了Java核心面试笔记

    前几天一位粉丝朋友反馈,在九月份参加了阿里(淘系)面试,经过和面试官激励的七次博弈顺利拿下offer! 先看一下粉丝的个人情况: 粉丝属于是没有任何项目经验,和从业经历属于是新手小白,这位小粉丝也是把 ...

  2. Java全能面试笔记,已成功帮助1266+人进入大厂

    你应该知道 作为一个经历过很多面试的求职者,也是一个面试过很多求职者的面试官,深知Java基础.核心原理的重要性,其重要性甚至超过你的技术能力.我这里不是宣扬技术能力不重要,技术能力是企业的第一生产力 ...

  3. Java初级面试笔记

    JAVA 就业课程 一.面试整体流程 简单的自我介绍 项目. 我是 xxxx,工作 xxx 年.我先后在 xxxx 公司.yyyy 公司工作.先后做个 xxxx 项目.yyyy 你简单介绍一下 xxx ...

  4. java后端面试笔记-自用

    实习准备都准备什么? JAVA后端春招准备方向 面试视频 程序员面试一个Java实习生,展示教科书般回答,有两个大厂offer的他会来么? 迭代器 探讨迭代器中为什么不能通过集合的方式删元素而是使用迭 ...

  5. Java开发面试高频考点学习笔记(每日更新)

    Java开发面试高频考点学习笔记(每日更新) 1.深拷贝和浅拷贝 2.接口和抽象类的区别 3.java的内存是怎么分配的 4.java中的泛型是什么?类型擦除是什么? 5.Java中的反射是什么 6. ...

  6. Java高级开发工程师面试笔记

    最近在复习面试相关的知识点,然后做笔记,后期(大概在2018.02.01)会分享给大家,尽自己最大的努力做到最好,还希望到时候大家能给予建议和补充 ----------------2018.03.05 ...

  7. 深藏功与名!献给学弟学妹的“Java核心面试知识笔记”

    2021 年一个不平淡的一年,金三银四也快要过去,各路码友们都开始磨拳擦脚,背面试题.知识点.小编最近日熬夜整理了一份关于 SpringBoot,JVM 篇,多线程 &并发,Spring,My ...

  8. [面试题]自己边面试边总结的Java开发工程师笔记

    面经 业务背景题 计算机网网络 一.交换机和路由器有什么区别? 二.OSI七层参考模型 三.TCP/IP五层模型 四.tcp和udp的区别 五.TCP握手过程 为什么是4次 六.https 了解吗 七 ...

  9. 2022分享三面阿里:Java 面试核心手册 +Java 电子书 + 技术笔记 + 学习视频

    写在片头:声明,勿杠 首先简单说一下,这三次面试阿里并不是一次性去面的,实际上第一次面试时候还在大四,找的实习岗,不太清楚是什么部门,别问我为什么还记得面试题,有记录和复盘的习惯,再问就是杠. 个人背 ...

  10. java面试笔记二:java的面向对象

    java面试笔记二:面向对象 面向对象和面向过程的区别 过程就是函数,就是写方法,就是方法的一种实现. 对象就是将函数,属性的一种封装.用人们思考习惯的方式思考问题. 匿名对象 即:创建对象时没有指定 ...

最新文章

  1. 迁移学习全面指南:概念、项目实战、优势、挑战
  2. php限制ip访问次数 并发_PHP实现redis限制单ip、单用户的访问次数功能示例
  3. python如何统计累计每日的人数‘’_Python数据分析2019陕西高考(理工)成绩及填报志愿...
  4. #ifndef/#define/#endif 防止该头文件被重复引用
  5. js中的 toUpperCase()中开头的u和c一定要大些
  6. 基于c51的节日彩灯控制器的设计
  7. 多测师肖sir_高级金牌讲师_项目的实战讲解
  8. requests的Proxy-SSL错误
  9. bw_mem 内存_TCP:内存不足—考虑调整tcp_mem
  10. 【SAP】ABAP开发——ALV展示后字段的下划线连接
  11. 【源码+图片素材+详细教程】Java游戏开发_Java开发经典游戏飞翔的小鸟_飞扬的小鸟_Java游戏项目Flappy Bird像素鸟游戏_Java课程设计项目
  12. 亚裔在澳大利亚难登事业巅峰?会说英语是关键
  13. python编程玩具有哪些_python 全栈开发,Day133(玩具与玩具之间的对话,基于jieba gensim pypinyin实现的自然语言处理,打包apk)...
  14. Cookies的封装
  15. 7-4 大炮打蚊子 (20分)__C++
  16. C++中的名字空间和作用域
  17. 飞速创新更新IPO招股书:计划募资约14亿元,向伟为实际控制人
  18. TextPad等编译器找不到或无法加载主类
  19. DNS解析过程中不得不知道的那些事
  20. Java里面jvr,寻找下一个结点 牛客网 程序员面试金典 C++ java Python

热门文章

  1. 谷歌浏览器整个网页截图方法
  2. DOM的利用冒泡做的一个小程序
  3. 第10章 分离并纠正物理层和数据链路层故障
  4. 报表服务框架:WEB前端UI
  5. LoadRunner 测试脚本
  6. Failed to decrypt protected XML node DTS:Property with error 0x8009000B 错误的解决
  7. 桶排序,冒泡排序,快速排序三者比较(例子说名)
  8. java的socket编程---telnet客户端的实现
  9. Arturia Prophet V3 for Mac(多功能仿真音乐合成器)
  10. React+Webpack+Antd+Babel 兼容低版本浏览器(下)