Java架构系列问题合集-目录
接下来会做一个系列, 分类说明关于Java项目研发和架构工作需要了解的问题
Java语法
Java语法专题1: 类初始化的构造顺序
https://www.cnblogs.com/milton/p/15804995.html
- 描述一下多级继承中类的构造顺序
- 给定两段代码, 分别是父类和子类, 写出(或选择)正确的输出
Java语法专题2: 类变量的初始化顺序
https://www.cnblogs.com/milton/p/15805741.html
- 描述一下多级继承中字段初始化顺序
- 描述一下多级继承中类变量初始化顺序
- 写出运行以下代码时的控制台输出
Java多线程
Java多线程专题1: 并发, 并行, 原子操作
https://www.cnblogs.com/milton/p/15805970.html
- 什么是多线程并发和并行?
- 什么是线程安全问题?
- 什么是共享变量的内存可见性问题?
- 什么是Java中的原子性操作?
- 为什么long型赋值不是原子操作
- 什么是Java中的CAS(Compare And Swap)操作, AtomicLong实现原理
- CAS底层是怎么实现的?
- 什么是Java指令重排序?
Java多线程专题2: JMM(Java内存模型)
https://www.cnblogs.com/milton/p/15805976.html
- Java中Synchronized关键字的内存语义是什么?
- Java中Volatile关键字的内存语义是什么?
- JDK各版本对volatile的处理有什么不同
- double-checked locking 问题
- 什么是伪共享(False Sharing),为何会出现, 以及如何避免?
Java多线程专题3: Thread和ThreadLocal
https://www.cnblogs.com/milton/p/15805979.html
- 进程, 线程, 协程的区别
- 讲讲ThreadLocal 是什么
- ThreadLocal 使用场景
- ThreadLocal 作为变量的线程隔离是如何实现的?
- ThreadLocal 实现原理是什么?
- 说说 InheritableThreadLocal 的实现原理?
- InheritableThreadLocal 如何弥补 ThreadLocal 不支持继承的特性?
- ThreadLocalRandom 如何利用 ThreadLocal 的原理来解决 Random 的局限性?
- Spring 框架中如何使用 ThreadLocal 实现 request scope 作用域 Bean?
Java多线程专题4: 锁的基础实现 AQS
https://www.cnblogs.com/milton/p/15807753.html
- 谈谈对AQS(AbstractQueuedSynchronizer)的理解
Java多线程专题5: JUC, 锁
https://www.cnblogs.com/milton/p/15807796.html
- 什么是可重入锁、公平锁、非公平锁、独占锁、共享锁
- 什么是乐观锁、悲观锁
- 讲讲 ReentrantLock 原理?
- Semaphore 的内部实现是怎样的?
- 谈谈读写锁 ReentrantReadWriteLock 原理?
- StampedLock 锁原理的理解?
- 分析下JUC 中倒数计数器 CountDownLatch 的使用与原理?
- CountDownLatch 与线程的 Join 方法区别是什么?
- 讲讲对JUC 中回环屏障 CyclicBarrier 的使用?
- CyclicBarrier内部的实现与 CountDownLatch 有何不同?
- 常见异步的手段有哪些?
Java多线程专题6: Queue和List
https://www.cnblogs.com/milton/p/15807851.html
- CopyOnWriteArrayList 如何通过写时拷贝实现并发安全的 List?
- 随机数生成器 Random 类如何使用 CAS 算法保证多线程下新种子的唯一性?
- 谈下对基于链表的非阻塞无界队列 ConcurrentLinkedQueue 原理的理解?
- ConcurrentLinkedQueue 内部是如何使用 CAS 非阻塞算法来保证多线程下入队出队操作的线程安全?
- 基于链表的阻塞队列 LinkedBlockingQueue 原理
- 阻塞队列LinkedBlockingQueue 内部是如何使用两个独占锁 ReentrantLock 以及对应的条件变量保证多线程先入队出队操作的线程安全?
- ArrayBlockingQueue
- ArrayBlockingQueue和LinkedBlockingQueue的区别
JVM
JVM专题1: 类和类加载机制
https://www.cnblogs.com/milton/p/15807907.html
- Java对象的结构
- Java 类加载过程?
- 描述一下 JVM 加载 Class 文件的原理机制?
- 什么是类加载器?
- 类加载器有哪些?
- 什么是类加载器双亲委派模型?
- 什么是tomcat类加载机制?
JVM专题2: JVM内存结构
https://www.cnblogs.com/milton/p/15807975.html
- Java 内存分配
- JVM 内存结构
- JVM 内存划分
- 一个堆大小为2G的JVM可能占用的内存
- Java 8 中的常量池、字符串池、包装类对象池
- Java 堆的结构是什么样子的?
- 说说各个区域的作用?
- 什么是堆中的永久代(Perm Gen space)?
- Java 中会存在内存泄漏吗, 简述一下?
- Java Stack 栈结构
- 深拷贝和浅拷贝
JVM专题3: GC 垃圾回收
https://www.cnblogs.com/milton/p/15808085.html
- 什么是GC? 为什么要有 GC?
- 简述一下 Java 垃圾回收机制?
- 如何判断一个对象是否存活?
- 垃圾回收的优点和原理, 并考虑 2 种回收机制?
- 垃圾回收器的基本原理是什么?
- 垃圾回收器可以马上回收内存吗? 有什么办法主动通知虚拟机进行垃圾回收?
- 在 Java 中, 对象什么时候可以被垃圾回收?
- 简述Minor GC 和 Major GC?
- Java 中垃圾收集的方法有哪些?
- System.gc() 和 Runtime.gc() 会做些什么?
- 什么是分布式垃圾回收DGC, 它是如何工作的?
- 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
- 讲讲你理解的性能评价及测试指标?
- jstack如何使用
- 常用的性能优化方式有哪些?
- 什么是GC调优?
Spring
Spring专题1: 静态代理和动态代理
https://www.cnblogs.com/milton/p/15808130.html
- 为什么需要代理模式?
- 讲讲静态代理模式的优点及其瓶颈?
- 对Java 接口代理模式的实现原理的理解?
- 如何使用 Java 反射实现动态代理?
- Java 接口代理模式的指定增强?
- 谈谈对Cglib 类增强动态代理的实现?
- 讲解JDK 动态代理和 CGLIB 代理原理以及区别?
Spring专题2: DI,IOC 控制反转和依赖注入
https://www.cnblogs.com/milton/p/15808166.html
- Bean的作用域
- 怎么理解面向切面编程的切面?
- 讲解OOP与AOP的简单对比?
- 讲解Spring 框架中如何基于 AOP 实现的事务管理?
- 谈谈对控制反转的设计思想的理解?
- 怎么理解 Spring IOC 容器?
- Spring IOC 怎么管理 Bean 之间的依赖关系, 怎么避免循环依赖?
- 对Spring IOC 容器的依赖注入的理解?
- 说说对Spring IOC 的单例模式和高级特性?
- BeanFactory 和 FactoryBean 有什么区别?
- BeanFactory 和 ApplicationContext 又有什么不同?
- Spring 在 Bean 创建过程中是如何解决循环依赖的?
- 谈谈Spring Bean 创建过程中的设计模式?
数据库和存储
MySQL专题1: 字段和索引
https://www.cnblogs.com/milton/p/15856842.html
- Float、Decimal 存储金额的区别?
- Datetime、Timestamp 存储时间的区别?
- CHAR, VARCHAR, BINARY, VARBINARY 存储字符的区别?
- MySQL 有哪些存储引擎? 都有什么区别?
- MySQL 几种存储引擎的应用场景?
- MySQL索引类型有?
- 对比一下B+树索引和 Hash索引
- 聚簇索引和非聚簇索引的区别?
- 非聚集索引中的聚集索引键
- B+tree 如何进行优化? 索引遵循哪些原则?
- 还有什么其他的索引类型, 各自索引有哪些优缺点?
- 如何管理 MySQL索引?
- 对Explain 结果中参数的理解?
- 索引与锁有什么关系?
Java架构系列问题合集-目录的更多相关文章
- Java面试题资料合集
Java面试题资料合集 2021年最新版--Java+最常见的+200++面试题汇总+答案总结汇总.pdf BIO,NIO,AIO,Netty面试题 35道.pdf Dubbo面试题 47道.pdf ...
- 秋招如何抱佛脚?2022最新大厂Java面试真题合集(附答案
2022秋招眼看着就要来了,但是离谱的是,很多同学最近才想起来还有秋招这回事,所以纷纷临时抱佛脚,问我有没有什么快速磨枪的方法, 我的回答是:有! 说起来,临阵磨枪没有比背八股文更靠谱的了,很多人对这 ...
- 【数据结构与算法】多种语言(VB、C、C#、JavaScript)系列数据结构算法经典案例教程合集目录
目录 1. 专栏简介 2. 专栏地址 3. 专栏目录 1. 专栏简介 2. 专栏地址 「 刘一哥与GIS的故事 」之<数据结构与算法> 3. 专栏目录 [经典回放]多种语言系列数据结构算法 ...
- MyBatis 源码分析系列文章合集
1.简介 我从七月份开始阅读MyBatis源码,并在随后的40天内陆续更新了7篇文章.起初,我只是打算通过博客的形式进行分享.但在写作的过程中,发现要分析的代码太多,以至于文章篇幅特别大.在这7篇文章 ...
- JVM系列文章合集
博客作者:纯洁的微笑 JVM系列(①):java类的加载机制 JVM系列(②):JVM内存结构 JVM系列(③):GC算法 垃圾收集器 JVM系列(④):jvm调优-命令大全(jps jstat jm ...
- Java常用工具+类库合集
1 常用工具 JVisual vm:可以直接通过软件包下载,支持本地以及远程JVM监控 JMH:Java Microbenchmark Harness,测试基准组件,精度可达纳秒级 JITWatch: ...
- Java面试经典题目合集
32 1.”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? “static”关键字表明一个成员变量或者是成员方法与类相关,可以在 ...
- Java面试基础部分合集
写在前面:这篇文章对于在Java方面已经很牛逼的大手,就没必要看了,因为对于你们来说,这tm简直太简单了.... 面试我们都经历过,你真的懂面试吗?针对面试我只想说一点,面试的目的不是让考官知道你怎么 ...
- [Android] 图像各种处理系列文章合集
这是我近期在做Android随手拍一个项目的各种网上关于图片处理的资料,曾经学过数字图像处理都是用C++写的,以下的资料个人觉得是很优秀的各种集合,还有一方面它是在线笔记,希望对大家有所帮助吧 ...
随机推荐
- 【LeetCode】826. Most Profit Assigning Work 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/most-pro ...
- 【剑指Offer】二叉树的镜像 解题报告(Python)
[剑指Offer]二叉树的镜像 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题 ...
- 求最大公因数和最小公倍数(C++实现)
求两个正整数之最大公因子的算法(辗转相除法) 最大公约数是指能同时整除它们的最大正整数 基本原理:两个数的最大公约数等于它们中较小的数和两数之差的最大公约数. 就如有 a = 122, b = 54 ...
- haproxy-详解
负载均衡类型: 四层: LVS (Linux Virtual Server)HAProxy (High Availability Proxy)Nginx (1.9以上) 七层: HAProxyNgin ...
- [Error]ValueError: Object arrays cannot be loaded when allow_pickle=False
问题描述使用numpy的函数 numpy.load() 加载数据时报错: ValueError: Object arrays cannot be loaded when allow_pickle=Fa ...
- 应用TYPE-C外围电源管理IC IM2605
应用于TYPE-C外围集成同步4开关Buck-Boost变换器的电源管理IC IM2605 IM2605描述 IM2605集成了一个同步4开关Buck-Boost变换器,在输入电压小于或大于输出电 ...
- 【微信小程序云开发】1分钟学会实现上传、下载、预览、删除图片,并且以九宫格展示图片
大家好,我叫小秃僧 这篇文章是讲解云开发如何上传.下载.预览.删除图片,并且以九宫格展示图片的功能 @ 目录 1. 实现效果 2.JavaScript代码 3.wxml代码 4.wxss代码 1. 实 ...
- 造轮子-strace(一)
见字如面,我是东北码农. 本文是造轮子-strace的第一篇,我们先介绍strace的功能.使用.下一篇我们来用代码实现一下strace的功能,造个轮子.今天我们先观察.使用轮子. 1.什么是stra ...
- Mysql 设计超市经营管理系统,包括员工库存表(stock) 和 仓库表(warehouse)
互联网技术学院周测机试题(三) 一.需求分析 为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定开发一套商品管理系统,用于日常的管理.本系统分为商品管理.员工管理.店铺管理,库存管理等功能 ...
- PHP json_encode() 序列化对象、数组、空对象、空数组
$result = [ "object" => ["a" => 1], "array" => [1,2,3,4,5], & ...