JAVA基础面试题,必考

  • JAVA中要求绝对精度的业务场景下,比如金融行业的货币表示,使用什么数据类型表示?为什么?
  • OOP理念中的多态在JAVA中是如何实现的?
  • 关于JAVA中访问权限控制控制符(public、protected、无、private),请说下protected和无之间的区别?
  • JAVA包装数据类型Integer和JAVA基础数据类型int之间的区别有哪些点?( 泛型参数、序列化、类型转换、高频区间数据缓存)如果面试者答出了高频区间数据缓存,继续追问如何修改缓存范围?
  • 排除POJO中的成员属性不被序列化使用哪个JAVA关键字?
  • 请描述下slf4j和logback、log4j之类的区别? private static final Logger logger = LoggerFactory.getLogger(haha.class), 如果不声明为static会引发什么问题?
  • 为什么说HashMap是线程不安全的?如果面试者回答是死链问题和数据丢失问题,请描述下hashmap在高并发时出现的死链过程,该如何解决?面试者答出ConcurrentHahsMap,就继续问他实现方式,如何保证高并发而且线程安全?接着问ConcurrentHahsMap统计元素总数时候使用锁了吗(早期版本时候了segment锁)?jdk1.8已经做了优化使用CAS直接更新baseCount
  • Array 和ArrayList的区别,用哪个工具类把数组转成集合?ArrayList 初始化大小是多少?
  • ArrayList的subList子类和ArrayList有什么区别,可以强制转换吗?
  • HashMap中Capacity 和loader factor的起什么作用?HashMap如何实现扩容?
  • HashMap和TreeMap区别在那里?都是不稳定的,因为hash表会resize,但是treemap是有序的,红黑数实现。
  • HashSet中的元素是一个对象,这个对象的HASHCODE函数需要重写吗?为什么?
  • 介绍下JAVA线程的可见行、原子型、有序型? volatile关键字满足了原子型吗?JAVA中有哪些原子型的类,举例子?
  • 线程状态,BLOCKED和WAITING有什么区别?
  • 介绍下什么是线程信号量同步(CountDownLatch、Semaphore)、及使用场景?
  • 描述ThreadLocal的原理和类结构?副作用?应用场景?
  • JAVA的应用类型有哪几种?强引用、软引用、弱引用、虚应用有什么区别?ThreadLoca中Entry对象使用了什么引用类型?为什么要使用这种引用类型?
  • 你过去JAVA经验当中遇到过full gc吗?是什么场景原因、如何解决的?
  • 写下spring的生命周期,以及每个阶段可以注入的扩展点、这些扩展点接承什么接口?当一个Bean的需要做些初始化工作,你会继承spring中的哪个类、实现哪个方法?
  • spring中BeanFactory和FactoryBean的区别?
  • 2个对象equels相等,hashcode相等吗?hashcode相等,equels相等吗?
  • 如何编写一个高效的hashcode函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值