java 面试题目(java高级架构)
题目信息
java基础:
1. Java 基础
JDK 和 JRE 有什么区别? Java中JDK和JRE的区别是什么?它们的作用分别是什么?
== 和 equals 的区别是什么?
两个对象的 hashCode() 相同,则 equals() 也一定为 true,对吗?
final 在 java 中有什么作用?
java 中的 Math.round(-1.5) 等于多少?
String 属于基础的数据类型吗?
java 中操作字符串都有哪些类?它们之间有什么区别?
String str="i"与 String str=new String(“i”)一样吗?
如何将字符串反转?
String 类的常用方法都有那些?
抽象类必须要有抽象方法吗?
普通类和抽象类有哪些区别?
抽象类能使用 final 修饰吗?
接口和抽象类有什么区别?
java 中 IO 流分为几种?
BIO、NIO、AIO 有什么区别?
Files的常用方法都有哪些?
在java中守护线程和本地线程区别 java 73题以及答案 (1~73题均有答案)
线程与进程的区别? java 73题以及答案 (1~73题均有答案)
什么是多线程中的上下文切换? java 73题以及答案 (1~73题均有答案)
死锁与活锁的区别,死锁与饥饿的区别? java 73题以及答案 (1~73题均有答案)
Java中用到的线程调度算法是什么? java 73题以及答案 (1~73题均有答案)
什么是线程组,为什么在Java中不推荐使用? java 73题以及答案 (1~73题均有答案)
为什么使用Executor框架? java 73题以及答案 (1~73题均有答案)
在Java中Executor和Executors的区别? java 73题以及答案 (1~73题均有答案)
什么是原子操作?在Java Concurrency API中有哪些原子类(atomic classes)? java 73题以及答案 (1~73题均有答案)
Java Concurrency API中的Lock接口(Lock interface)是什么?对比同步它有什么优势? java 73题以及答案 (1~73题均有答案)
什么是Executors框架? java 73题以及答案 (1~73题均有答案)
什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者-消费者模型? java 73题以及答案 (1~73题均有答案)
什么是Callable和Future? java 73题以及答案 (1~73题均有答案)
什么是FutureTask?使用ExecutorService启动任务。 java 73题以及答案 (1~73题均有答案)
什么是并发容器的实现? java 73题以及答案 (1~73题均有答案)
多线程同步和互斥有几种实现方法,都是什么? java 73题以及答案 (1~73题均有答案)
什么是竞争条件?你怎样发现和解决竞争? java 73题以及答案 (1~73题均有答案)
你将如何使用thread dump?你将如何分析Thread dump? java 73题以及答案 (1~73题均有答案)
为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法? java 73题以及答案 (1~73题均有答案)
Java中你怎样唤醒一个阻塞的线程? java 73题以及答案 (1~73题均有答案)
在Java中CycliBarriar和CountdownLatch有什么区别? java 73题以及答案 (1~73题均有答案)
什么是不可变对象,它对写并发应用有什么帮助? java 73题以及答案 (1~73题均有答案)
什么是多线程中的上下文切换? java 73题以及答案 (1~73题均有答案)
Java中用到的线程调度算法是什么? java 73题以及答案 (1~73题均有答案)
什么是线程组,为什么在Java中不推荐使用? java 73题以及答案 (1~73题均有答案)
为什么使用Executor框架比使用应用创建和管理线程好? java 73题以及答案 (1~73题均有答案)
java中有几种方法可以实现一个线程? java 73题以及答案 (1~73题均有答案)
如何停止一个正在运行的线程? java 73题以及答案 (1~73题均有答案)
notify()和notifyAll()有什么区别? java 73题以及答案 (1~73题均有答案)
什么是Daemon线程?它有什么意义? java 73题以及答案 (1~73题均有答案)
CopyOnWriteArrayList可以用于什么应用场景? java 73题以及答案 (1~73题均有答案)
什么叫线程安全?servlet是线程安全吗? java 73题以及答案 (1~73题均有答案)
volatile有什么用?能否用一句话说明下volatile的应用场景? java 73题以及答案 (1~73题均有答案)
为什么代码会重排序? java 73题以及答案 (1~73题均有答案)
在java中wait和sleep方法的不同? java 73题以及答案 (1~73题均有答案)
一个线程运行时发生异常会怎样 java 73题以及答案 (1~73题均有答案)
如何在两个线程间共享数据? java 73题以及答案 (1~73题均有答案)
Java中notify 和 notifyAll有什么区别? java 73题以及答案 (1~73题均有答案)
为什么wait, notify 和 notifyAll这些方法不在thread类里面? java 73题以及答案 (1~73题均有答案)
什么是ThreadLocal变量? java 73题以及答案 (1~73题均有答案)
Java中interrupted 和 isInterrupted方法的区别? java 73题以及答案 (1~73题均有答案)
为什么wait和notify方法要在同步块中调用? java 73题以及答案 (1~73题均有答案)
为什么你应该在循环中检查等待条件? java 73题以及答案 (1~73题均有答案)
Java中的同步集合与并发集合有什么区别 java 73题以及答案 (1~73题均有答案)
什么是线程池? 为什么要使用它? java 73题以及答案 (1~73题均有答案)
怎么检测一个线程是否拥有锁? java 73题以及答案 (1~73题均有答案)
你如何在Java中获取线程堆栈? java 73题以及答案 (1~73题均有答案)
JVM中哪个参数是用来控制线程的栈堆栈小的? java 73题以及答案 (1~73题均有答案)
Thread类中的yield方法有什么作用? java 73题以及答案 (1~73题均有答案)
Java中ConcurrentHashMap的并发度是什么? java 73题以及答案 (1~73题均有答案)
Java中Semaphore是什么? java 73题以及答案 (1~73题均有答案)
Java线程池中submit() 和 execute()方法有什么区别? java 73题以及答案 (1~73题均有答案)
什么是阻塞式方法? java 73题以及答案 (1~73题均有答案)
Java中的ReadWriteLock是什么? java 73题以及答案 (1~73题均有答案)
volatile 变量和 atomic 变量有什么不同? java 73题以及答案 (1~73题均有答案)
可以直接调用Thread类的run ()方法么? java 73题以及答案 (1~73题均有答案)
如何让正在运行的线程暂停一段时间? java 73题以及答案 (1~73题均有答案)
你对线程优先级的理解是什么? java 73题以及答案 (1~73题均有答案)
什么是线程调度器(Thread Scheduler)和时间分片(Time Slicing )? java 73题以及答案 (1~73题均有答案)
你如何确保main()方法所在的线程是Java 程序最后结束的线程? java 73题以及答案 (1~73题均有答案)
线程之间是如何通信的? java 73题以及答案 (1~73题均有答案)
为什么线程通信的方法wait(), notify()和notifyAll()被定义在Object 类里? java 73题以及答案 (1~73题均有答案)
为什么wait(), notify()和notifyAll ()必须在同步方法或者同步块中被调用? java 73题以及答案 (1~73题均有答案)
为什么Thread类的sleep()和yield ()方法是静态的? java 73题以及答案 (1~73题均有答案)
如何确保线程安全? java 73题以及答案 (1~73题均有答案)
同步方法和同步块,哪个是更好的选择? java 73题以及答案 (1~73题均有答案)
如何创建守护线程? java 73题以及答案 (1~73题均有答案)
什么是Java Timer 类?如何创建一个有特定时间间隔的任务? java 73题以及答案 (1~73题均有答案)
为什么等待和通知是在 Object 类而不是 Thread 中声明的?
为什么Java中不支持多重继承? java十题
为什么Java不支持运算符重载java十题
为什么 String 在 Java 中是不可变的? java十题
为什么 char 数组比 Java 中的 String 更适合存储密码java十题
如何使用双重检查锁定在 Java 中创建线程安全的单例?java十题
编写 Java 程序时, 如何在 Java 中创建死锁并修复它java十题
如果你的Serializable类包含一个不可序列化的成员,会发生什么?你是如何解决的java十题
为什么Java中 wait 方法需要在 synchronized 的方法中调用java十题
你能用Java覆盖静态方法吗?如果我在子类中创建相同的方法是编译时错误java十题
你看过那些源码吗?
那你能讲讲HashMap的实现原理吗? (【Java集合源码剖析】HashMap源码剖析HashMap原理(一) 概念和底层架构)
HashMap什么时候会进行rehash? (Java HashMap中在resize()时候的rehash,即再哈希法的理解)
HashMap什么时候会进行扩容? (HashMap的扩容机制---resize())
那HashMap的初始容量设置成多少比较合适呢? (Java中HashMap的初始容量设置)
结合源码说说HashMap在高并发场景中为什么会出现死循环? (HashMap 在高并发下引起的死循环)
JDK1.8中对HashMap做了哪些性能优化? (JDK1.8中对hashmap的优化)
HashMap和HashTable有何不同? (HashMap与HashTable原理及数据结构; HashMap 与HashTable的区别)
HashMap 和 ConcurrentHashMap 的区别? (HashMap? ConcurrentHashMap?)
ConcurrentHashMap和LinkedHashMap有什么区别? (ConcurrentHashMap总结;Java LinkedHashMap工作原理及实现)
为什么ConcurrentHashMap中的链表转红黑树的阀值是8? (为什么HashMap桶(链表)的长度超过8才会转换成红黑树 https://www.jianshu.com/p/85d158455861 Java集合-ConcurrentHashMap工作原理和实现JDK8 https://www.jianshu.com/p/b7dda385f83d ConcurrentHashMap与红黑树实现分析Java8 )
什么是ConcurrentSkipListMap?他和ConcurrentHashMap有什么区别? (Java并发容器——ConcurrentSkipListMap和ConcurrentHashMap)
还看过其他的源码吗?Spring的源码有了解吗? 【随笔分类 - spring及其源码分析专辑 https://www.cnblogs.com/davidwang456/category/805707.html spring面试问题与答案集锦】
java如何实现多线程之间的通讯和协作? java 73题以及答案 (1~73题均有答案)
什么是可重入锁(ReentrantLock)? 可重入锁和不可重入锁 java 73题以及答案 (1~73题均有答案)
当一个线程进入某个对象的一个synchronized的实例方法后,其它线程是否可进入此对象的其它方法? java 73题以及答案 (1~73题均有答案)
乐观锁和悲观锁的理解及如何实现,有哪些实现方式? java 73题以及答案 (1~73题均有答案)
SynchronizedMap和ConcurrentHashMap有什么区别? java 73题以及答案 (1~73题均有答案)
2. 容器
- java 容器都有哪些? Java容器有哪些?
- Collection 和 Collections 有什么区别? Collection和Collections有什么区别?
- List、Set、Map 之间的区别是什么? List、Map、Set之间的联系与区别:
- 如何决定使用 HashMap 还是 TreeMap? Java中HashMap和TreeMap的区别
- 说一下 HashSet 的实现原理? HashSet的实现原理
- ArrayList 和 LinkedList 的区别是什么? ArrayList和LinkedList的区别
- 如何实现数组和 List 之间的转换? 如何实现数组与List的相互转换
- ArrayList 和 Vector 的区别是什么? arrayList和vector的区别
- Array 和 ArrayList 有何区别? java中Array和ArrayList区别
- 在 Queue 中 poll()和 remove()有什么区别? 在 Queue 中 poll()和 remove()有什么区别?
- 哪些集合类是线程安全的?常用集合类简介及线程安全和非线程安全的集合对象;Java集合中那些类是线程安全的
- 迭代器 Iterator 是什么? 迭代器Iterator、for循环遍历、泛型
- Iterator 怎么使用?有什么特点?
- Iterator 和 ListIterator 有什么区别? Iterator和ListIterator区别
- 怎么确保一个集合不能被修改? 怎么确保一个集合不能被修改 csdn确保集合不能被修改
- Collection总览
- List集合就这么简单【源码剖析】
- Map集合、散列表、红黑树介绍
- HashMap就是这么简单【源码剖析】
- LinkedHashMap就这么简单【源码剖析】
- TreeMap就这么简单【源码剖析】
- ConcurrentHashMap基于JDK1.8源码剖析
- Set集合就这么简单!
- Java集合总结【面试题+脑图】,将知识点一网打尽!
- CopyOnWriteArrayList你都不知道,怎么拿offer?
4. 反射
- 什么是反射? java中 什么是反射? Java的反射是什么?有什么用
- 什么是 java 序列化?什么情况下需要序列化? 什么是Java序列化?为什么序列化?序列化有哪些方式?
- 动态代理是什么?有哪些应用? Java动态代理实现及实际应用
- 怎么实现动态代理? Java实现动态代理的两种方式
5. 对象拷贝
- 为什么要使用克隆? java对象克隆以及深拷贝和浅拷贝
- 如何实现对象克隆? 如何实现对象克隆?
- 深拷贝和浅拷贝区别是什么? 浅谈Java中的深克隆和浅克隆(阿里面试)
6. Java Web
- jsp 和 servlet 有什么区别?
- jsp 有哪些内置对象?作用分别是什么?
- 说一下 jsp 的 4 种作用域?
- session 和 cookie 有什么区别? session和cookie有什么区别?
- 说一下 session 的工作原理? 深度解剖session运行原理
- 如果客户端禁止 cookie 能实现 session 还能用吗? session与cookie的区别是什么?如果客户端禁用了cookie功能,将会对session有什么影响?
- spring mvc 和 struts 的区别是什么? 【SSM 1】SpringMVC、Spring和Struts的区别
- 如何避免 sql 注入?
- 什么是 XSS 攻击,如何避免?
- 什么是 CSRF 攻击,如何避免?
- 给我说说你能想到几种分布式session实现
7. 异常
- throw 和 throws 的区别?
- final、finally、finalize 有什么区别? 【Java面试题】19 final,finally和finalize的区别
- try-catch-finally 中哪个部分可以省略?
- try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
- 常见的异常类有哪些? 常见异常类有哪些?
8. 网络
- http 响应码 301 和 302 代表的是什么?有什么区别? HTTP状态码中301与302的区别
- forward 和 redirect 的区别? java面试题之----转发(forward)和重定向(redirect)的区别
- 简述 tcp 和 udp的区别? TCP和UDP的区别(转)
- tcp 为什么要三次握手,两次不行吗?为什么? TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
- 说一下 tcp 粘包是怎么产生的? TCP的粘包现象 理解TCP三次握手/四次断开的必要性
- OSI 的七层模型都有哪些?
- get 和 post 请求有哪些区别? http与https区别,get与post请求区别
- 如何实现跨域? 实现跨域的N种方法
- 说一下 JSONP 实现原理? 彻底弄懂jsonp原理及实现方法 浅谈JSONP 的本质工作原理
Java集合22题
ArrayList 和 Vector 的区别 (arrayList和vector的区别)
说说 ArrayList,Vector, LinkedList 的存储性能和特性。(arrayList和vector的区别)
快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么? (java中快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?)
hashmap 的数据结构。 HashMap? ConcurrentHashMap?
HashMap 的工作原理是什么? HashMap? ConcurrentHashMap?
Hashmap 什么时候进行扩容呢? HashMap的扩容机制---resize() Java HashMap中在resize()时候的rehash,即再哈希法的理解
List、Map、Set 三个接口,存取元素时,各有什么特点? (List、Map、Set三个接口,存取元素时,各有什么特点?)
Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是 equals()? 它们有何区别? (Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还 是 equals()?它们有何区别?)
两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对不对? (两个对象值相同 (x.equals(y) == true) ,但却可有不同的 hash code ,这 句话对不对)
heap 和 stack 有什么区别 (堆(heap)和栈(stack)有什么区别??)
Java 集合类框架的基本接口有哪些?(Java集合类框架的基本接口有哪些?)
HashSet 和 TreeSet 有什么区别? (HashSet和TreeSet的区别)
HashSet 的底层实现是什么? (HashSet的实现原理)
LinkedHashMap 的实现原理? (LinkedHashMap的实现原理)
为什么集合类没有实现 Cloneable 和 Serializable 接口?(为什么集合类没有实现Cloneable和Serializable接口)
什么是迭代器 (Iterator)? (Java集合Iterator迭代器的实现)
Iterator 和 List Iterator 的区别是什么? (Iterator和ListIterator的区别)
数组 (Array) 和列表 (ArrayList) 有什么区别?什么时候应该使用 Array 而不是 ArrayList? (数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?)
Java 集合类框架的最佳实践有哪些?(Java集合类框架的最佳实践?)
Comparable 和 Comparator 接口是干什么的?列出它们的区别 (Comparable和Comparator接口是干什么的?列出它们的区别。)
Collection 和 Collections 的区别。 (Collection接口和Collections类的简单区别和讲解)
- 什么是线程调度器(ThreadScheduler) 和时间分片(TimeSlicing) 【线程调度器是一个操作系统服务,它负责为Runnable状态的线程分配CPU时间。一旦创建一个线程并启动它,它的执行便依赖于线程调度器的实现。时间分片是指将可用的CPU时间分配给可用的Runnable线程的过程。分配CPU时间可以基于线程优先级或者线程等待的时间。线程调度并不受到Java虚拟机控制,所以由应用程序来控制它是更好的选择(也就是说不要让的程序依赖于线程的优先级) 】
- 为什么Thread类的sleep() 和yield()方法是静态的 (java.lang.Thread类的静态方法sleep()和yield()的比较)
- volatile关键词在Java中有什么作用? (Java并发编程:volatile关键字解析)
- 什么是ThreadLocal? (ThreadLocal是什么)
- 什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型? 什么是阻塞队列?如何使用阻塞队列来实现生产者-消费者模型?
- 什么是Callable和Future? Java程序员必须掌握的线程知识-Callable和Future
- HashMap为什么不是线程安全的? HashMap? ConcurrentHashMap?
- ConcurrentHashmap底层实现? HashMap? ConcurrentHashMap?
- 为什么Map桶中个数超过8才转为红黑树
JVM与调优21题
- Java 类加载过程?说一下类加载的执行过程?Java 类加载过程Jvm系列(一):java类的加载机制
- 描述一下 JVM 加载 Class 文件的原理机制? 描述一下JVM加载class文件的原理机制
- Java 内存分配。 Jvm系列(二):JVM内存结构
- GC 是什么? 为什么要有 GC? Jvm系列(五):Java GC分析
- GC类型以及不同类型GC的搭配 回收器的类型
- GC和GC分配策略 垃圾回收算法
- 说一下 jvm 有哪些垃圾回收算法?说一下 jvm 有哪些垃圾回收器?详细介绍一下 CMS 垃圾回收器?新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?简述分代垃圾回收器是怎么工作的?
- 简述 Java 垃圾回收机制 Jvm系列(三):GC算法 垃圾收集器
- 垃圾回收的优点和原理。并考虑 2 种回收机制 垃圾回收机制的优点和原理,并考虑两种回收机制
- Java 中垃圾收集的方法有哪些? 关于java 虚拟机相关特点[纯洁的微笑]
- 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么? 吞吐量收集器使用并行版本的新生代垃圾收集器,它用于中等规模和大规模数据的应用程序。而串行收集器对大多数的小应用(在现代处理器上需要大概100M左右的内存)就足够了。
- 什么是分布式垃圾回收(DGC)?它是如何工作的?
- 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
- Java 中会存在内存泄漏吗,请简单描述
- 如何判断一个对象是否存活?(或者 GC 对象的判定方法) GC的判定的2种方式 GC原理---对象可达判断
- System.gc() 和 Runtime.gc() 会做什么事情? System.gc()和Runtime.gc()的区别?
- finalize() 方法什么时候被调用?析构函数 (finalization) 的目的是什么?
- 如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?
- 在 Java 中,对象什么时候可以被垃圾回收?
- 简述 Java 内存分配与回收策率以及 Minor GC 和 Major GC。 java常见面试题及答案
- JVM 的永久代中会发生垃圾回收么? java常见面试题及答案
- 什么是类加载器,类加载器有哪些? java常见面试题及答案
- 类加载器双亲委派模型机制? java常见面试题及答案
- tomcat本身是java程序,那么tomcat的实现程序的class是由应用类加载器加载的,用户自己的java程序war包,放入tomcat的程序的classpath中这样用户的程序和tomcat的程序都是由应用类加载器加载了,也就是处于一个jvm中了
- 说一下 jvm 的主要组成部分?及其作用? java常见面试题及答案
- 说一下 jvm 运行时数据区? JVM总结(一):概述--JVM运行时数据区
- 说一下堆栈的区别? 堆栈是什么,通俗说一下
- 队列和栈是什么?有什么区别? 数据结构-队列和栈有什么区别
- java 中都有哪些引用类型? Java四种引用类型
- 说一下 jvm 调优的工具? JVM监控和调优常用命令工具总结
- 常用的 jvm 调优的参数都有哪些? JVM调优总结 JVM调优参数
- JVM 内存区域方面的面试题
- 系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路
- 记一次有惊无险的 JVM 优化经历
- 从零开始带你成为JVM实战高手
- JVM 堆内存溢出后,其他线程是否可继续工作
- JVM内存结构 VS Java内存模型 VS Java对象模型
- Java内存模型是什么
并发编程28题
- Synchronized 用过吗,其原理是什么? synchronized是什么,用法及原理
- 你刚才提到获取对象的锁,这个“锁”到底是什么?如何确定对象的锁? Synchronized方法锁、对象锁、类锁区别
- 什么是可重入性,为什么说 Synchronized 是可重入锁? synchronized 是可重入锁吗?为什么?
- JVM 对 Java 的原生锁做了哪些优化? Java-JVM 锁优化
- 为什么说 Synchronized 是非公平锁? Synchronized
- 什么是锁消除和锁粗化?Synchronized
- 为什么说 Synchronized 是一个悲观锁?乐观锁的实现原理又是什么?什么是 CAS,它有什么特性? Synchronized
- 乐观锁一定就是好的吗?Synchronized
- 跟 Synchronized 相比,可重入锁 ReentrantLock 其实现原理有什么不同? Synchronized
- 那么请谈谈 AQS 框架是怎么回事儿?Synchronized
- 请尽可能详尽地对比下 Synchronized 和 ReentrantLock 的异同。 Synchronized
- ReentrantLock 是如何实现可重入性的?Synchronized
- 除了 ReetrantLock,你还接触过 JUC 中的哪些并发工具?Synchronized
- 请谈谈 ReadWriteLock 和 StampedLock。Synchronized
- 如何让 Java 的线程彼此同步?你了解过哪些同步器?请分别介绍下。 Synchronized
- CyclicBarrier 和 CountDownLatch 看起来很相似,请对比下呢? Synchronized
- Java 线程池相关问题
- Java 中的线程池是如何实现的(线程池(包含什么,core、max联系)原理?)?
- 创建线程池的几个核心构造参数?
- 线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?
- 既然提到可以通过配置不同参数创建出不同的线程池,那么 Java 中默认实现好的线程池又有哪些呢?请比较它们的异同
- 如何在 Java 线程池中提交线程?
- 什么是 Java 的内存模型,Java 中各个线程是怎么彼此看到对方的变量的?
- 请谈谈 volatile 原理以及特点,为什么它能保证变量对所有线程的可见性?
- 既然 volatile 能够保证线程间的变量可见性,是不是就意味着基于 volatile 变量的运算就是并发安全的?
- 请对比下 volatile 对比 Synchronized 的异同。 volatile与synchronized的区别
- 请谈谈 ThreadLocal 是怎么解决并发安全的? 谈谈Java中的ThreadLocal
- 很多人都说要慎用 ThreadLocal,谈谈你的理解,使用 ThreadLocal 需要注意些什么?
- JMM(主内存、工作内存、happens-before)是什么? 什么是Java内存模型中的happens-before
- 有哪些无锁数据结构?无锁实现的原理? 无锁数据结构(Lock-Free Data Structures)
- 并行和并发有什么区别?
- 线程和进程的区别?
- 守护线程是什么?
- 创建线程有哪几种方式? 多线程之创建线程有哪几种方式?
- 说一下 runnable 和 callable 有什么区别? 说说Runnable与Callable
- 线程有哪些状态?
- sleep() 和 wait() 有什么区别?
- notify()和 notifyAll()有什么区别?
- 线程的 run()和 start()有什么区别?
- 创建线程池有哪几种方式?
- 线程池都有哪些状态?
- 线程池中 submit()和 execute()方法有什么区别?
- 在 java 程序中怎么保证多线程的运行安全?
- 多线程锁的升级原理是什么?
- 什么是死锁?
- 怎么防止死锁?
- synchronized 和 Lock 有什么区别? synchronized与Lock的区别
- synchronized 和 ReentrantLock 区别是什么? ReentrantLock详解 以及与synchronized的区别
- 说一下 atomic 的原理? Java中Atomic包的实现原理及应用
- Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)
- Java 并发编程:线程间的协作(wait/notify/sleep/yield/join)
- java并发编程:共享性、互斥性、原子性、可见性、有序性
- 锁实现(多线程中的锁系统(四)-谈谈自旋锁)
- cas原理 (理解cas; Java并发编程总结2——慎用CAS)
- volatile使用场景 (Java并发编程:volatile关键字解析Java 并发编程:volatile的使用及其原理)
- synchronized是什么 (Synchronized 有几种用法 ;Java并发编程:Synchronized及其实现原理)
- 重入锁
- Java线程池源码及原理
spring 25题
- 什么是 Spring 框架?Spring 框架有哪些主要模块? Spring框架简介 Spring框架各模块功能介绍
- 使用 Spring 框架能带来哪些好处? 使用Spring框架能带来那些好处
- 什么是控制反转(IOC)?什么是依赖注入? 控制反转(IOC)和依赖注入(DI)的区别
- 请解释下 Spring 框架中的 IoC? 谈谈对Spring IOC的理解
- BeanFactory 和 ApplicationContext 有什么区别? 创建ApplicationContext与BeanFactory时的区别-Spring源码学习之容器的基本实现
- Spring 有几种配置方式? Spring -- 三种配置方式
- 如何用基于 XML 配置的方式配置 Spring?
- 如何用基于 Java 配置的方式配置 Spring?
- 怎样用注解的方式配置 Spring?
- 请解释 Spring Bean 的生命周期?Spring Bean的生命周期(非常详细) Spring的Bean生命周期理解 Spring的几种注入bean的方式
- Spring Bean 的作用域之间有什么区别? spring bean 的作用域之间有什么区别
- 什么是 Spring inner beans?
- Spring 框架中的单例 Beans 是线程安全的么? 【Spring】8、Spring框架中的单例Beans是线程安全的么
- 请举例说明如何在 Spring 中注入一个 Java Collection?
- 如何向 Spring Bean 中注入一个 Java.util.Properties?
- 请解释 Spring Bean 的自动装配? Spring 自动装配及其注解
- 请解释自动装配模式的区别?
- 如何开启基于注解的自动装配? Spring 自动装配及其注解
- 请举例解释@Required 注解?
- 请举例解释@Autowired 注解?
- 请举例说明@Qualifier 注解?
- 构造方法注入和设值注入有什么区别? 依赖注入的实现方式:设值注入和构造方法注入
- Spring 框架中有哪些不同类型的事件? Spring框架中不同类型的事件
- FileSystemResource 和 ClassPathResource 有何区别? FileSystemResource 和 ClassPathResource 有何区别
- Spring 框架中都用到了哪些设计模式? spring中用到了哪些设计模式
- 为什么要使用 spring?
- 解释一下什么是 aop? 面试题思考:解释一下什么叫AOP(面向切面编程)
- 解释一下什么是 ioc? Spring的IOC原理[通俗解释一下]
- spring 支持几种 bean 的作用域? Spring中Bean的五个作用域
- spring 事务实现方式有哪些? 【Spring】事务的实现方式
- 说一下 spring 的事务隔离?
- 说一下 spring mvc 运行流程?
- spring mvc 有哪些组件 Spring MVC 三大组件 SpringMvc三大组件详解
- @RequestMapping 的作用是什么? SpringMVC中@Controller和@RequestMapping用法和其他常用注解
- @Autowired 的作用是什么
- Spring MVC源码(二) ----- DispatcherServlet 请求处理流程 面试必问
设计模式
- 请列举出在 JDK 中几个常用的设计模式?
- 什么是设计模式?你是否在你的代码里面使用过任何设计模式?
- Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式
- 在 Java 中,什么叫观察者设计模式(observer design pattern)?
- 使用工厂模式最主要的好处是什么?在哪里使用?
- 举一个用 Java 实现的装饰模式(decorator design pattern)?它是作用于对象层次还是类层次?
- 在 Java 中,为什么不允许从静态方法中访问非静态变量?
- 设计一个 ATM 机,请说出你的设计思路?
- 在 Java 中,什么时候用重载,什么时候用重写?
- 举例说明什么情况下会更倾向于使用抽象类而不是接口
- 设计模式(装饰器设计模式、代理模式、单例模式、工厂模式)
- 说一下你熟悉的设计模式?
- 简单工厂和抽象工厂有什么区别?
- GOF23种设计模式总览
springboot 22题
- 什么是 Spring Boot?
- Spring Boot 有哪些优点?
- 什么是 JavaConfig?
- 如何重新加载 Spring Boot 上的更改,而无需重新启动服务器?
- Spring Boot 中的监视器是什么?
- 如何在 Spring Boot 中禁用 Actuator 端点安全性?
- 如何在自定义端口上运行 Spring Boot 应用程序?
- 什么是 YAML?
- 如何实现 Spring Boot 应用程序的安全性?
- 如何集成 Spring Boot 和 ActiveMQ?
- 如何使用 Spring Boot 实现分页和排序?
- 什么是 Swagger?你用 Spring Boot 实现了它吗?
- 什么是 Spring Profiles?
- 什么是 Spring Batch?
- 什么是 FreeMarker 模板?
- 如何使用 Spring Boot 实现异常处理?
- 您使用了哪些 starter maven 依赖项?
- 什么是 CSRF 攻击?
- 什么是 WebSockets?
- 什么是 AOP?
- 什么是 Apache Kafka?
- 我们如何监视所有 Spring Boot 微服务?
- SpringBoot的源码呢?知道starter是怎么实现的吗? (spring boot 相关文章 https://www.cnblogs.com/shamo89/tag/springboot/)
- 如何重新加载Spring Boot上的更改,而无需重新启动服务器?
- Spring Boot中的监视器是什么? SpringBoot面试题 转(已迁移到java相关知识点)
- 如何集成Spring Boot和ActiveMQ? SpringBoot面试题 转(已迁移到java相关知识点)
- 常见的starter会包几个方面的内容。分别是什么 SpringBoot面试题 转(已迁移到java相关知识点)
- Spring Boot Starter的工作原理 SpringBoot面试题 转(已迁移到java相关知识点)
- 谈谈你对Spring Boot的认识 SpringBoot面试题 转(已迁移到java相关知识点)
- 自定义springboot-starter注意事项 SpringBoot面试题 转(已迁移到java相关知识点)
- Spring Boot、Spring MVC 和 Spring 有什么区别? SpringBoot面试题 转(已迁移到java相关知识点)
- 什么是 Spring Boot Stater ? SpringBoot面试题 转(已迁移到java相关知识点)
- Spring Boot 还提供了其它的哪些 Starter Project Options? SpringBoot面试题 转(已迁移到java相关知识点)
- Spring 是如何快速创建产品就绪应用程序的? SpringBoot面试题 转(已迁移到java相关知识点)
- springboot与spring的区别 SpringBoot面试题 转(已迁移到java相关知识点)
- springboot的核心功能与使用优点. SpringBoot面试题 转(已迁移到java相关知识点)
- springboot中的application.properties配置文件是什么,有哪些配置. SpringBoot面试题 转(已迁移到java相关知识点)
- springboot中的核心启动主函数(main函数)的作用.用到哪些注解.注解的作用. SpringBoot面试题 转(已迁移到java相关知识点)
- 可以配置 application.propertierde 的完整的属性列表在哪里可以找到 SpringBoot面试题 转(已迁移到java相关知识点)
spring cloud
- 基于Spring Boot+Cloud构建微云架构
- 什么是 spring boot?
- 为什么要用 spring boot?
- spring boot 核心配置文件是什么?
- spring boot 配置文件有哪几种类型?它们有什么区别?
- spring boot 有哪些方式可以实现热部署?
- jpa 和 hibernate 有什么区别?
- 什么是 spring cloud?
- spring cloud 断路器的作用是什么
- spring cloud 的核心组件有哪些?
dubbo
- Dubbo设计思路
- Dubbo的底层实现原理和机制?
- Dubbo学习(一) Dubbo原理浅析
- 个人学习分布式专题(二)分布式服务治理之Dubbo框架
- Dubbo学习(二) Dubbo 集群容错模式-负载均衡模式
- 分布式架构核心RPC原理
- Dubbo学习(四) dubbo的特点,8种通信协议之对比
- Dubbo学习(九) Dubbo面试问题
- Dubbo学习(六) dubbo 架构图 以及调用过程
- 主流的RPC框架有哪些
k8s
Netty10题
- BIO、NIO和AIO的区别?
- NIO的组成?
- Netty的特点?
- Netty的线程模型?
- TCP 粘包/拆包的原因及解决方法?
- 了解哪几种序列化协议?
- 如何选择序列化协议?
- Netty的零拷贝实现?
- Netty的高性能表现在哪些方面?
- NIOEventLoopGroup源码?
- netty原理是什么?
- BIO, NIO, AIO各自的特点
- 什么同步阻塞,同步非阻塞,异步非阻塞
- 为什么NIO能够应对支持海量的请求
- NIO相关组件的原理
- NIO通讯的简单案例
- 漫谈Java IO之 Netty与NIO服务器
- select、poll、epoll之间的区别总结[整理]
- 用户空间与内核空间,进程上下文与中断上下文[总结]
- IO多路复用之epoll总结
Hibernate
- 为什么要使用 hibernate?
- 什么是 ORM 框架?
- hibernate 中如何在控制台查看打印的 sql 语句?
- hibernate 有几种查询方式?
- hibernate 实体类可以被定义为 final 吗?
- 在 hibernate 中使用 Integer 和 int 做映射有什么区别?
- hibernate 是如何工作的?
- get()和 load()的区别?
- 说一下 hibernate 的缓存机制?
- hibernate 对象有哪些状态?
- 在 hibernate 中 getCurrentSession 和 openSession 的区别是什么?
- hibernate 实体类必须要有无参构造函数吗?为什么?
其他:
- 说下一次RPC请求的过程
- 分布式系统怎么做服务治理? 个人学习分布式专题(二)分布式服务治理之分布式协调技术Zookeeper
- 接口的幂等性的概念介绍下
java 面试题目(java高级架构)的更多相关文章
- (转)喜马拉雅2018 Java面试题目
背景:将网上的题目整理下. java基础 1:hashTable hashMap ConcurrentHashMap 的区别.数据结构.线程安全 2:equals和==区别, 重写equals一定要重 ...
- 2020阿里Java面试题目大汇总,看看你离阿里还有多远,附答案!
前言 首先说一下情况,我大概我是从去年12月份开始看书学习,到今年的6月份,一直学到看大家的面经基本上百分之90以上都会,我就在5月份开始投简历,边面试边补充基础知识等.也是有些辛苦.终于是在前不久拿 ...
- java面试题目偏基础
一.JAVA基础篇-概念1.简述你所知道的Linux:Linux起源于1991年,1995年流行起来的免费操作系统,目前, Linux是主流的服务器操作系统, 广泛应用于互联网.云计算.智能手机(An ...
- [Java面试二]Java基础知识精华部分.
一:java概述(快速浏览): 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名 ...
- Java面试大纲-java面试该做哪些准备,java开发达到这样的水平可以涨工资
Java培训结束,面临的就是毕业找工作.在找工作时,就要针对性地做充分的面试准备.准备不充分的面试,完全是浪费时间,更是对自己的不负责. 上海尚学堂Java培训整理出Java面试大纲,其中大部分都是面 ...
- Java面试之Java基础问题答案口述整理
Java面试之基础问题答案口述整理 面向对象的理解 面向对象思想就是在计算机程序设计过程中,把具体事物的属性特性和行为特征抽象出来,描述成计算机事件的设计思想.它区别于面向过程的思想,强调的是通过调用 ...
- java面试2(java技术栈和Hollis面试内容分享)
1.什么是java虚拟机? java虚拟机(JVM)是一个可执行java字节码的虚拟机进程,java源文件被编译成能被java虚拟机可执行的字节码文件. 2.什么是平台无关性,java是如何做到平台无 ...
- Java面试系列--java基础
Java基础总结 JAVA中的几种基本数据类型是什么,各自占用多少字节. 八大基本数据类型,byte:8位,short:16位,int:32位,long:64位,float:32位,double:64 ...
- java面试:java基础、Io、容器
1.java基础 1.JDK 和JRE有什么区别 JDK:java开发工具包,java开发运行环境.包含了JRE. JRE:java运行环境,包含java虚拟机,java基础类库. 2.jav ...
随机推荐
- css列表滑动防止被底部遮住和适配屏幕长一点的机型处理
1.移动端处理列表滑动的时候,微信底下有自带的返回页面按钮,经常会被遮住,遇到屏幕长一点的,下面会短一大截,以下用此方法可以解决..container{ position:relative; back ...
- 用Visual Studio 2015 编写 MASM 汇编程序(二)从头开发一个Win32汇编程序
一,建立一个VC的控制台类型的空工程: 1,从VS菜单中选择“文件”->“新建”->“项目”. 2,在新建项目中选择:“Visual c++”->"Win32"- ...
- Js网站开发学习第一天
1.登录时,记住密码单选框,鼠标移上去显示div里的内容,移开则消失: <head> <meta http-equiv="Content-Type" conten ...
- 一:MySQL系列之基本介绍(一)
本篇主要介绍关于MySQL数据的基本知识,包括数据存储的变化,什么是MySQL以及其有什么优点.以及什么是RDBMS概念性知识等,以及关于MySQL语句的SOL的基本用法: 一.数据库 数据库,顾名思 ...
- 【HCIA Gauss】学习汇总-数据库管理(数据库基本概念)-3
数据库:操作系统文件或磁盘数据块的集合数据库实例: 指操作系统中一系列进程以及为这些进程分配的内存块 通常来说一个数据库实例对应着一个数据库[数据库实例是访问数据的通道] 多实例:利用多实例 可以充分 ...
- 191010 python3分数划分ABC等级
# 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,# 60-89分之间的用B表示,60分以下的用C表示. while True: score = input(" ...
- Locust 教程
写在 Locust 教程开始的前面 本文参考了: Locust 教程 : https://www.axihe.com/tools/locust/home.html : locust 的官方 Githu ...
- 30.第一个Linq 数据库查询
使用Linq to Entity查询数据库 首先在项目中添加ADO.NET实体数据模型,如下 新建连接 勾选生成的表 点击完成即可看到两个建立的实体数据对象模型 模型生成好之后就可以直接使用了 Cus ...
- 《BUG创造队》作业9:【Beta】冲刺 Scrum meeting 1
项目 内容 这个作业属于哪个课程 2016级软件工程 这个作业的要求在哪里 实验十三 团队作业9:Beta冲刺与团队项目验收 团队名称 BUG创造队 作业学习目标 (1)掌握软件黑盒测试技术:(2)学 ...
- 微信小程序WEB工具安装
1.下载工具链接:http://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=201715 2.安装完成后图片样式如图: 3.新 ...