当前位置:网站首页 > Java基础 > 正文

java 程序基础试题



目 录
JVM 与性能优化知识点...................................................................................................................22
一 、JVM 内 存区 域划 分 ...........................................................................................................22
1. 程序计数器(线程私有)............................................................................................22
2.Java 栈(线程私有)....................................................................................................23
3. 本地方法栈(线程私有)............................................................................................24
4. 堆(线程共享)............................................................................................................25
1
Java 架构进阶核心知识点笔记(笔记+面试专题java 程序基础试题+导图学习方向)V1.0
版
5. 方法区(线程共享)....................................................................................................25
6. 直接内存(线程共享)................................................................................................26
二 、JVM 执 行子 系统 ...............................................................................................................29
1.Class 类文件结构...........................................................................................................29
1.1 Java 跨平台的基础.............................................................................................30
1.2 Class 类的本质....................................................................................................30
2. 字节码指令....................................................................................................................32
2.1 加载和存储指令.................................................................................................32
2.2 运算或算术指令.................................................................................................32
2.3 类型转换指令.....................................................................................................32
2.4 创建类实例的指令............................................................................................ 33
2.5 创建数组的指令.................................................................................................33
2.6 访问字段指令.....................................................................................................33
2.7 数组存取相关指令............................................................................................ 33
2.8 检查类实例类型的指令.................................................................................... 33
2.9 操作数栈管理指令............................................................................................ 33
2.10 控制转移指令...................................................................................................33
2.11 方法调用指令...................................................................................................34
2.12 方法返回指令...................................................................................................34
2.13 异常处理指令...................................................................................................34
2.14 同步指令...........................................................................................................34
3. 类加载机制....................................................................................................................34
4. 类加载器........................................................................................................................36
4.1 系统的类加载器.................................................................................................36
4.2 双亲委派模型.....................................................................................................37
5.Tomcat 类加载机制...................................................................................................... 37
6. 方法调用详解................................................................................................................38
6.1 解析.....................................................................................................................38
6.2 静态分派.............................................................................................................38
6.3 动态分派.............................................................................................................39
6.4 基于栈的字节码解释执行引擎........................................................................ 40
三 .垃 圾回 收器 和内 存分 配策 略 ..............................................................................................41
1.Java 中是值传递还是引用传递?................................................................................41
2. 引用类型........................................................................................................................41
3. 基本垃圾回收算法........................................................................................................41
3.1 按照基本回收策略分........................................................................................ 42
3.2 按分区对待的方式分........................................................................................ 43
3.3 按系统线程分.....................................................................................................43
4. 分代处理垃圾................................................................................................................44
5.JAVA 中垃圾回收 GC 的类型........................................................................................ 45
四 、 编 写高 效 优 雅 Java 程 序 ..................................................................................................45
2
1. 面向对象........................................................................................................................45
1.1 构造器参数太多怎么办?................................................................................ 45
1.2 不需要实例化的类应该构造器私有................................................................ 46
1.3 不要创建不必要的对象.................................................................................... 46
1.4 避免使用终结方法............................................................................................ 47
1.5 使类和成员的可访问性最小化........................................................................ 47
1.6 使可变性最小化.................................................................................................47
1.7 复合优先于继承.................................................................................................47
1.8 接口优于抽象类.................................................................................................47
2. 方法................................................................................................................................ 47
2.1 可变参数要谨慎使用........................................................................................ 48
2.2 返回零长度的数组或集合,不要返回 null..................................................... 48
2.3 优先使用标准的异常........................................................................................ 48
3. 通用程序设计................................................................................................................48
五 、性 能 优 化 ...........................................................................................................................49
1. 常用的性能评价/测试指标.......................................................................................... 49
1.1 响应时间............................................................................................................49
1.2 并发数.................................................................................................................49
1.3 吞吐量.................................................................................................................49
1.4 关系.....................................................................................................................50
2. 常用的性能优化手段....................................................................................................50
2.1 避免过早优化.....................................................................................................50
2.2 进行系统性能测试............................................................................................ 50
2.3 寻找系统瓶颈,分而治之,逐步优化............................................................ 50
2.4 前端优化常用手段............................................................................................ 51
2.4.1 浏览器/App............................................................................................. 51
2.4.2 CDN 加速................................................................................................. 51
2.4.3 反向代理缓存......................................................................................... 51
2.4.4 WEB 组件分离.........................................................................................51
3 应用服务性能优化........................................................................................................51
3.1 缓存.....................................................................................................................51
3.1.1 缓存的基本原理和本质......................................................................... 52
3.1.2 合理使用缓冲的准则............................................................................. 52
3.1.3 分布式缓存与一致性哈希..................................................................... 52
3.2 异步.....................................................................................................................53
3.2.1 同步和异步,阻塞和非阻塞................................................................. 53
3.2.2 常见异步的手段..................................................................................... 53
3.3 集群.....................................................................................................................53
3.4 应用相关.............................................................................................................54
3.4.1 代码级别..................................................................................................54
3.4.2 并发编程..................................................................................................54
3.4.3 资源的复用............................................................................................. 55
3
3.4.4 JVM...........................................................................................................55
3.4.5 GC 调优.................................................................................................... 56
3.4.6 调优实战..................................................................................................59
3.4.7 存储性能优化......................................................................................... 59
六 、 JVM 与 性能 优化 学 习 笔 记.Xmind................................................................................. 60
JVM 常问高频题解析.......................................................................................................................61
1.Java 类加载过程?............................................................................................................... 62
2. 描述一下 JVM 加 载 Class 文件的原理机制?.................................................................. 64
3. Java 内存分配。.................................................................................................................. 65
4.GC 是什么 ? 为什么要有 GC ?.......................................................................................... 67
5. 简 述 Java 垃圾回收机制。...............................................................................................67
6. 如何判断一个对象是否存活?(或者 GC 对象的判定方法).................................... 67
7. 垃圾回收的优点和原理。并考 虑 2 种回收机制。....................................................... 69
8. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主 动
通 知虚 拟机 进行 垃圾 回收? ...................................................................................................70
9. Java 中会存在内存泄漏吗,请简单描述。......................................................................70
11. 深拷贝和浅拷贝。............................................................................................................76
12. System.gc() 和 Runtime.gc() 会做什么事情?............................................................... 77
13. finalize() 方法什么时候被调用?析构函数 (finalization) 的目的是什么?................77
14. 如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?.......78
15. 什么是分布式垃圾回收(DGC)?它是如何工作的?................................................ 78
16. 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?....................78
17. 在 Java 中,对象什么时候可以被垃圾回收?............................................................ 78
18. 简述 Java 内存分配与回收策率以及 Minor GC 和 Major GC。............................... 79
19. JVM 的永久代中会发生垃圾回收么?........................................................................... 79
20. Java 中垃圾收集的方法有哪些?....................................................................................80
21. 什么是类加载器,类加载器有哪些?........................................................................... 81
22. 类加载器双亲委派模型机制?....................................................................................... 82
Java 基础知识点汇总....................................................................................................................... 83
Object ....................................................................................................................................... 83
equals 方法..................................................................................................................... 83
hashCode 方法............................................................................................................... 83
static ..........................................................................................................................................84
final ............................................................................................................................................85
String 、StringBuffer 、StringBuilder .....................................................................................85
异 常 处 理 ................................................................................................................................... 86
内 部 类....................................................................................................................................... 87
匿 名内 部 类.......................................................................................................................87
多 态 ........................................................................................................................................... 87
抽 象和 接口 ............................................................................................................................... 88
集 合框 架 ................................................................................................................................... 88
HashMap .......................................................................................................................... 89
4
结 构图 .......................................................................................................................89
HashMap 的工作原理............................................................................................91
HashMap 与 HashTable 对比..............................................................................92
ConcurrentHashMap ...................................................................................................... 94
Base 1.7.................................................................................................................... 94
Base 1.8.................................................................................................................... 96
ArrayList ............................................................................................................................99
LinkedList ....................................................................................................................... 101
CopyOnWriteArrayList ................................................................................................. 104
反 射 ......................................................................................................................................... 106
单 例 ......................................................................................................................................... 108
饿 汉 式............................................................................................................................. 108
双 重 检查模 式 .................................................................................................................108
静 态内 部 类 模式 .............................................................................................................109
线 程 ......................................................................................................................................... 110
状 态 ................................................................................................................................. 110
状 态控 制 .........................................................................................................................112
volatile .................................................................................................................................... 113
synchronized ..........................................................................................................................115
根 据 获 取的 锁分 类 .........................................................................................................115
原 理 ................................................................................................................................. 116
Lock ......................................................................................................................................... 116
锁 的分类 .........................................................................................................................117
悲 观锁、乐观锁.....................................................................................................118
自 旋 锁 、适 应性 自旋 锁 ........................................................................................ 119
死 锁 .........................................................................................................................119
引 用 类 型 ................................................................................................................................. 120
动 态 代理................................................................................................................................. 120
元 注解 ..................................................................................................................................... 127
Java 集合面试题解析..................................................................................................................... 128
1. ArrayList 和 Vector 的区别。.................................................................................. 128
2. 说说 ArrayList,Vector, LinkedList 的存储性能和特性。.................................. 129
3. 快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么?......................129
4. hashmap 的数据结构。...................................................................................................130
5. HashMap 的工作原理是什么?........................................................................................ 130
6. Hashmap 什么时候进行扩容呢?.................................................................................. 130
7. List、Map、Set 三个接口,存取元素时,各有什么特点?.................................... 131
8. Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用 == 还是
equals()? 它们有何区别?...................................................................................................132
9. 两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对
不 对 ?....................................................................................................................................... 132
10. heap 和 stack 有什么区别。.................................................................................... 132
5

  • 上一篇: java基础体系分析
  • 下一篇: java 基础数据
  • 版权声明:


    相关文章:

  • java基础体系分析2025-05-03 10:34:01
  • 算法基础java2025-05-03 10:34:01
  • java 基础思想2025-05-03 10:34:01
  • java web基础篇2025-05-03 10:34:01
  • java入门编程基础2025-05-03 10:34:01
  • java 基础数据2025-05-03 10:34:01
  • java基础登录注册2025-05-03 10:34:01
  • 零基础学java web开发2025-05-03 10:34:01
  • java基础培训内容2025-05-03 10:34:01
  • 打好java基础2025-05-03 10:34:01