Java面试java基础,锁机制(本地锁+分布式锁)超全分析!已开源

本文深入探讨了Java中的锁机制,包括本地锁和分布式锁,并结合微架构的背景,阐述了SpringBoot、SpringCloud在微服务中的应用。文章涵盖了Java基础、集合、并发、JVM、Spring等相关知识,提供了丰富的面试题,帮助读者理解和准备Java后端面试。
摘要由CSDN通过智能技术生成

前言

微架构的出现,很好地适应了这个时代对快速发展变化的要求。它不再提倡一体化的项目设计,而是对项目进行有效的“业务区”(可以简单理解为不同的子系统〉划分,并利用合理的技术对业务性能做出提升和改善,同时又极大地简化了配置文件的使用与 profile配置。总而言之,微架构是开发之中看起来非常简单的一种实现技术,但简单的背后考究的却是开发者对于开源技术的熟练程度。

SpringBoot 作为一种Web整合开发框架,很好地解决了Web程序的编写困难,可以更简单、高效地实现 MVC 设计模式。更为重要的是,它可以轻松地整合当前各类主流的开发项目,如消息组件、SQL数据库、NoSQL数据库、邮件服务等,因此能极大地缩短项目的开发周期,更快地响应客户的需求变更。SpringCloud 作为SpringBoot 的延续,可以基于Restful流行架构实现RPC业务中心的搭建,可以基于消息组件实现远程配置动态的抓取,还可以与Docker相结合,采用虚拟化手段实现便捷的云服务管理。可以说,微架构的出现与云时代是密不可分的。

1 基础

  • 为什么 Java 中只有值传递?

  • int 范围?float 范围?

  • hashCode 与 equals,什么关系?

  • String StringBuffer 和 StringBuilder 的区别是什么?String 为什么是不可变的?

  • Java 序列化中如果有些字段不想进行序列化 怎么办?

  • 构造器 Constructor 是否可被 override?

  • java 异常体系?RuntimeException Exception Error 的区别,举常见的例子

  • 字符型常量和字符串常量的区别?

  • 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?

2 集合

集合这块关注一下 1.8 的实现吧,和 1.7 相比变化了很多

  • ArrayList和linkedList的区别?

  • 堆是怎么存储的,插入是在哪里?

  • HashMap和HashTable的区别?讲一下 hashMap 原理。hashMap 可以并发读么?并发写会有什么问题?

  • 集合类存放于 Java.util 包中, 主要有几种接口?

  • Array与ArrayList有什么不一样?简单介绍下 ArrayList 怎么实现,加操作、取值操作,什么时候扩容?

  • 说说ConcurrentHashMap?头插法还是尾插法?扩容怎么做?

  • 集合在迭代的过程中,插入或删除数据会怎样?

3 并发

  • notify()和notifyAll()有什么区别?

  • volatile 是什么?可以保证有序性吗?

  • 为什么wait, notify 和 notifyAll这些方法不在thread类里面?

  • SynchronizedMap和ConcurrentHashMap有什么区别?

  • 什么是线程安全?Vector是一个线程安全类吗?

  • 线程进程和线程的区别?并行和并发的区别?了解协程么?进程间如何通信:进程 A 想读取进程 B 的主存怎么办?线程间通信?线程的生命周期有哪些状态?怎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值