在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Java语言基础 → Java面经

Java面经

Java语言基础

下载此实例
  • 开发语言:Java
  • 实例大小:19.52M
  • 下载次数:13
  • 浏览次数:25
  • 发布时间:2022-09-19
  • 实例类别:Java语言基础
  • 发 布 人:鱼晓暮
  • 文件格式:.pdf
  • 所需积分:2
 相关标签: java

实例介绍

【实例简介】Java面经

【实例截图】

【核心代码】

目录
一 java 基础........................................................................................................................................ 9
1.1java 的 8 种基本数据类型 装箱 拆箱............................................................................... 9
1.1.1.8 种基本数据类型................................................................................................. 9
1.1.2.装箱和拆箱.......................................................................................................... 10
1.1.3.String 转出 int 型,判断能不能转?如何转?
.............................................. 10
1.1.4 short s1 = 1; s1 = s1 1;有什么错? short s1 = 1; s1 =1;有什么错?..............11
1.1.5.
Int 与 Integer 区别...............................................................................................11
1.1.6.字节字符区别...................................................................................................... 12
1.1.7 java 基本类型与引用类型的区别......................................................................... 12
1.2 重写重载封装继承多态.................................................................................................... 12
1.3 Stack Queue.......................................................................................................................13
1.3.1 PriorityQueue..........................................................................................................13
1.7 Concurrent 包.................................................................................................................... 18
1.8 面向对象.............................................................................................................................19
1.9 String StringBuffer StringBuilder hashcode equal......................................................... 19
String 中的 hashcode 以及 toString.............................................................................20
1.10 java 文件读取..................................................................................................................21
1.11 Java 反射.......................................................................................................................... 22
1.12 JDK NDK JRE JNI..............................................................................................................23
1.13 static 和 final 的区别...................................................................................................... 23
1.14 map,list,set 区别........................................................................................................25
1.16 Session 和 COOKIE..........................................................................................................25
1.19 IO NIO BIO AIO select epoll........................................................................................26
1.19.1 NIO 的原理........................................................................................................... 28
1.20 ThreadLocal......................................................................................................................30
1.22 finalize finalization finally............................................................................................... 30
1.23 public private default protected....................................................................................31
1.25 Object............................................................................................................................... 31
1.26 equls 和 == 的区别......................................................................................................31
1.27 异常..................................................................................................................................32
1.28 序列化..............................................................................................................................34
1.30 comparable 接口和 comparator 接口...........................................................................35
1.33 接口和抽象类................................................................................................................. 36
1.34 Socket............................................................................................................................... 38
1.35 Runtime 类......................................................................................................................38
1.36 值传递与引用传递......................................................................................................... 38
1.37 泛型 ?与 T 的区别....................................................................................................... 38
1.38 枚举类型字节码层面理解 Enum.................................................................................39
1.39 java 注解类型............................................................................................................40
1.40 字节流 字符流............................................................................................................... 41
1.41 静态内部类 匿名类....................................................................................................... 43
1.41.2 匿名类................................................................................................................ 44
二.集合类 Set................................................................................................................................ 472.1 HashMap............................................................................................................................ 47
(1) hashMap 的原理....................................................................................................... 47
3) get.........................................................................................................................48
4)HashMap 的 put 方法源码.................................................................................. 48
5)HashMap 问题 jdk1.8 优化................................................................................ 49
7.Hashmap 中的 key 可以为任意对象或数据类型吗?
...........................................50
2.2 CurrentHashMap............................................................................................................... 51
0. JDK1.7 ConCurrentHashMap 原理.........................................................................51
1. JDK1.7 Get....................................................................................................................52
2. JDK1.7 PUT................................................................................................................54
3. JDK1.7 Remove............................................................................................................56
4.JDK1.7 & JDK1.8 size()..................................................................................................57
5.JDK 1.8........................................................................................................................... 57
6.JDK1.8 put................................................................................................................... 58
7. JDK1.8 get 方法........................................................................................................... 60
8. rehash 过程.................................................................................................................. 60
2.3 . Hashtable......................................................................................................................... 60
0.参数............................................................................................................................... 60
1.put..................................................................................................................................61
2.get..................................................................................................................................61
3.Remove........................................................................................................................ 62
4.扩容................................................................................................................................62
2.4 hashtable 和 hashmap 的区别.........................................................................................63
2.5 HashMap 和 ConCurrentHashMap 区别..................................................................... 63
2.6 ConcurrentHashMap 和 HashTable 区别........................................................................63
2.7 linkedHashMap...............................................................................................................64
2.8 Linkedhashmap 与 hashmap 的区别............................................................................. 64
2.9 HashSet...............................................................................................................................64
2.10 hashmap 与 hashset 区别.............................................................................................. 65
2.11 Collections.sort 内部原理..............................................................................................66
2.12 hash 算法......................................................................................................................... 67
2.13 迭代器 Iterator Enumeration........................................................................................68
2.14 LIST ArrayList,LinkedList 和 Vector 的区别和实现原理.........................................68
2.15 快速失败(fail-fast)和安全失败(fail-safe).................................................................... 70
三 锁 volatile synchronized Lock ReentrantLock AQS CAS.......................................................71
3.1 .volatile 和 synchronized.................................................................................................71
3.1.1 Volatile 与 synchronized 区别............................................................................73
3.1.2 Volatile.....................................................................................................................73
3.1.3 Synchronized 原理................................................................................................. 73
3.2 CAS...................................................................................................................................76
3.3 可重入锁 ReentrantLock................................................................................................ 76
1.5.3 乐观锁和悲观锁 阻塞锁,自旋锁,偏向锁,轻量锁,重量锁。公平锁 非公
平锁...................................................................................................................................763.3 ReentrantLock 和 synchronized 区别...........................................................................77
1.5.3 重入锁、对象锁、类锁的关系............................................................................ 78
四 java 多线程;
.............................................................................................................................78
4.1 .如何创建线程?哪种好?
........................................................................................... 78
4.2.线程状态..........................................................................................................................79
4.3.一般线程和守护线程的区别......................................................................................... 79
4.4.sleep wait yield notify notifyAll join........................................................................80
4.5 中断线程.............................................................................................................................81
4.6 多线程如何避免死锁....................................................................................................... 81
4,7 多线程的好处以及问题................................................................................................... 82
4.8 多线程共用一个数据变量注意什么?
........................................................................... 82
4.9 线程通信方式....................................................................................................................83
4.10 线程池...........................................................................................................................83
4.11.线程中抛出异常怎么办.................................................................................................. 84
五.
Java 进阶 ssh/ssm 框架...........................................................................................................85
2.1Spring...................................................................................................................................85
2.1.0 什么是 Spring 以及优点.....................................................................................85
2.1.1 ApplicationContext 和 beanfactory 的区别.....................................................85
2.1.2 Spring Bean 生命周期......................................................................................... 86
2.1.3 spring 中 bean 的作用域................................................................................. 87
2.1.4 Spring IOC........................................................................................................ 87
2.1.5 Spring AOP............................................................................................................87
2.1.6 事务.........................................................................................................................89
2.1.7 Spring MVC....................................................................................................... 91
2.1.8 Spring 中设计模式............................................................................................ 92
2.2 Servlet.................................................................................................................................94
2.2.1 Servlet 生命周期..................................................................................................94
2.2 Struts..................................................................................................................................94
2.2.1 Struts 工作流程..................................................................................................... 94
2.2.2 Struts 工作原理......................................................................................................94
2.2.3 do Fliter................................................................................................................... 95
2.2.4 拦截器与过滤器的区别........................................................................................ 96
2.2.5 Struts 中为什么不用考虑线程安全...................................................................... 97
2.2.6 Struts2 和 Struts1 区别....................................................................................... 97
2.3 Hibernate............................................................................................................................98
2.4 Redis................................................................................................................................... 98
2.5 Tomcat................................................................................................................................98
2.6 netty....................................................................................................................................98
2.7 Hadoop...............................................................................................................................98
2.8 Volley.................................................................................................................................. 98
六.
Java 内存模型 和 垃圾回收................................................................................................. 99
3.0 什么是 JMM 内存模型?(
JMM 和内存区域划分不是一回事)................................ 99
3.0.1 JMM 中的 happens-before 原则...................................................................... 100
3.1 内存分区......................................................................................................................... 1013.2 GC 算法(
YGC and FGC).............................................................................................104
3.2.1 YGC........................................................................................................................105
3.2.2 FGC...................................................................................................................... 105
3.3 垃圾收集器 CMS........................................................................................................... 105
3.4 java 类加载机制 双亲委派............................................................................................ 106
3.4.1 java 类加载的过程..............................................................................................106
3.4.2 双亲委派机制..................................................................................................... 108
3.4.3 破坏双亲委派模型.............................................................................................. 109
3.5 内存泄露......................................................................................................................... 110
3.6 .内存泄露的案例分析 jvm 调优....................................................................................110
3.6.1 jvm 调优目的........................................................................................................ 110
3.6.2 案例分析.............................................................................................................. 110
3.7 jstat jmap jps jinfo jconsole............................................................................................113
3.7.1 jstat........................................................................................................................ 113
3.7.2 jmap.......................................................................................................................114
3.7 JVM 参数设置.................................................................................................................114
3.8 内存分配与回收策略..................................................................................................... 116
3.9 面试问题......................................................................................................................... 116
3.9.1 一般 Java 堆是如何实现的?
..............................................................................116
3.9.2 对象在内存中的初始化过程.............................................................................. 117
3.9.3 对象的强、软、弱和虚引用............................................................................. 117
3.9.4 如何减少 GC 的次数........................................................................................117
3.9.5 新生代 老年代 永久代..................................................................................118
七. juc 包.....................................................................................................................................120
7.0 juc 概况............................................................................................................................120
7.1 Tools................................................................................................................................. 120
7.1.1 CountDownLatch..................................................................................................120
7.1.2 CyclicBarrier........................................................................................................120
7.1.3 Semaphore..........................................................................................................121
7.1.4 Exchanger........................................................................................................... 121
7.2 List Set.............................................................................................................................121
7.3 Map..............................................................................................................................121
7.4 Queue.........................................................................................................................121
7.4.1 ArrayBlockingQueue..........................................................................................121
7.4.2 LinkedBlockingQueue.......................................................................................122
7.4.3 LinkedBlockingQueue 和 ArrayBlockingQueue 迥异................................. 122
7.5 线程池............................................................................................................................. 123
1.线程池工作原理......................................................................................................... 123
2.线程池分类................................................................................................................. 123
3.线程池底层实现类 ThreadPoolExecutor 类.......................................................... 124
4.线程池状态................................................................................................................. 124
四.设计模式....................................................................................................................................125
4.0 什么是设计模式............................................................................................................. 125
4.1.常见的设计模式及其 JDK 中案例:
..............................................................................1254.1.1 适配器模式.......................................................................................................... 125
4.1.2 迭代器模式.......................................................................................................... 125
4.1.3 代理模式........................................................................................................... 125
4.1.4 观察者模式....................................................................................................... 126
4.1.5 装饰器模式....................................................................................................... 127
4.1.6 工厂模式........................................................................................................... 128
4.1.7 建造者模式....................................................................................................... 128
4.1.8 命令模式........................................................................................................... 129
4.1.9 责任链模式.......................................................................................................... 129
4.1.10 享元模式......................................................................................................... 129
4.1.11 中介者模式..................................................................................................... 130
4.1.12 备忘录模式..................................................................................................... 130
4.1.13 组合模式......................................................................................................... 130
4.1.14 模板方法模式................................................................................................. 130
4.1.15 单例模式................................................................................................................. 131
1.非线程安全懒汉模式................................................................................................131
2、 线程安全懒汉模式................................................................................................ 131
3.饿汉模式.................................................................................................................... 131
4. 静态类内部加载.......................................................................................................132
5.双重锁校验模式......................................................................................................... 132
7. 懒汉模式与饿汉模式区别.......................................................................................133
8. 双重校验锁方法与线程安全的懒汉模式区别.......................................................133
4.2 设计模式六大原则........................................................................................................133
4.3 java 动态代理..............................................................................................................134
算法.................................................................................................................................................138
海量数据.........................................................................................................................................142
七.数据结构与算法.....................................................................................................................143
7.1 排序.................................................................................................................................. 143
7.1.1 直接插入排序...................................................................................................... 143
7.1.2 希尔排序.............................................................................................................. 145
7.1.3 冒泡排序.............................................................................................................. 145
7.1.4 快速排序.............................................................................................................. 145
7.1.5 直接选择排序...................................................................................................... 148
7.1.6 堆排序.................................................................................................................. 149
7.1.7 归并排序.............................................................................................................. 150
7.1.8 基数排序.............................................................................................................. 153
7.2 树......................................................................................................................................153
7.2.1 二分查找树........................................................................................................... 153
八.数据库........................................................................................................................................155
8.1 索引 B 树 B 树............................................................................................................... 155
8.1.1 索引特点优缺点适用场合.................................................................................. 155
8.1.2 Mysql 索引原理 B 树:
......................................................................................156
8.1.3 索引分类.............................................................................................................. 159
8.2 innoDB 与 MyISAM 引擎区别........................................................................................ 1628.3 事务隔离级别(恶果:脏读 幻读 不可重复读).....................................................164
8.4 数据库特性 ACID...........................................................................................................165
8.5 sql......................................................................................................................................165
8.5.1.Sql 优化.............................................................................................................. 165
8.6 5 种连接 left join、right join、inner join,full join cross join................................. 168
8.7 数据库范式..................................................................................................................... 171
8.8 数据库连接池................................................................................................................. 171
8.8.1 数据库连接池原理............................................................................................. 171
8.8.2 数据库连接池的示例代码................................................................................. 172
8.9 DDL DML DCL..................................................................................................................173
8.10 explain........................................................................................................................... 173
8.11 分库分表....................................................................................................................... 175
8.12 数据库锁....................................................................................................................... 178
8.12.1 封锁.................................................................................................................... 178
8.12.2 封锁协议(解决脏读不可重复读)................................................................179
8.12.3 死锁活锁............................................................................................................ 180
8.12.3 解决死锁的方法................................................................................................ 181
8.12.4 两段锁协议........................................................................................................ 183
8.12.5 GAP 锁(解决幻读).........................................................................................183
8.12.6 next-key 锁........................................................................................................184
8.13 其它问题....................................................................................................................... 184
8.13.1 limit20000 如何优化......................................................................................... 185
8.13.2 数据库的隔离级别 隔离级别如何实现..........................................................185
8.13.3 char varchar text 区别.................................................................................... 185
8.13.4 drop delete truncate 区别............................................................................... 186
8.13.5 事务................................................................................................................... 186
8.13.6 超键、候选键、主键、外键 视图.................................................................186
8.13.7 存储过程与触发器........................................................................................... 186
九.网络............................................................................................................................................189
9.1.HTTP..................................................................................................................................189
9.1.1 http 请求报文 & http 响应报文.........................................................................189
9.1.2 http 报文头部请求头和响应头...........................................................................189
9.1.3 http 请求方法...................................................................................................... 190
9.1.4 http 请求过程....................................................................................................... 190
9.1.4 Get 和 Post 区别................................................................................................191
9.1.5 http 状态码........................................................................................................... 192
9.1.6 http 长连接 短连接 HTTP 协议是无状态........................................................ 194
9.1.7 http1.1 与 http1.0 的区别..................................................................................195
9.1.8 http2.0 与 http1.0 的区别................................................................................195
9.1.9 转发与重定向的区别........................................................................................195
9.2.TCP UDP........................................................................................................................... 196
9.2.0 TCP 头部................................................................................................................196
9.2.1 TCP 与 UDP 区别..................................................................................................1989.2.2 TCP 三次握手....................................................................................................... 200
9.2.3 TCP 四次挥手....................................................................................................... 201
9.2.4 tcp 粘包问题 nagle 算法.................................................................................... 202
9.2.5 tcp 如何保证可靠性传输....................................................................................203
9.2.6 TCP 流量控制 拥塞控制..................................................................................... 204
9.2.7 滑动窗口机制...................................................................................................... 206
9.2.8 TCP 状态转移...................................................................................................... 208
9.2.9 TIME_WAIT 和 CLOSE_WAIT............................................................................. 210
9.7.计算机网络分层模型...................................................................................................... 212
9.7.1 osi 七层..................................................................................................................212
9.7.2 APR........................................................................................................................ 213
9.7.3 ICMP 协议............................................................................................................ 213
9.7.4 DNCP 协议.......................................................................................................... 214
9.7.5 RARP 协议.......................................................................................................... 214
9.7.6 路由选择协议 OSPF RIP..................................................................................214
9.7.7 SNMP...................................................................................................................215
9.7.8 SMTP................................................................................................................... 215
9.9 IP....................................................................................................................................... 216
1.IP 报文......................................................................................................................... 216
2. IP 地址类别................................................................................................................ 216
3. 特殊的地址............................................................................................................... 216
4. 私有地址....................................................................................................................217
9.10 网络攻击....................................................................................................................... 217
1.SYN Flood 攻击...........................................................................................................217
2. DDOS 攻击............................................................................................................... 217
3.DNS 欺骗....................................................................................................................217
4. 重放攻击................................................................................................................... 217
5.SQL 注入.................................................................................................................... 217
9.11 DNS 浏览器中输入 URL 到页面加载的发生了什么.................................................218
CDN................................................................................................................................ 219
9.12 https ssl.......................................................................................................................... 220
9.12.1 什么是 https.......................................................................................................220
9.12.2 https 与 http 区别..............................................................................................220
9.12.3 https 的通信过程.............................................................................................. 221
9.12.4 SSL 工作原理...................................................................................................... 222
十 操作系统...................................................................................................................................224
10.1 进程线程........................................................................................................................ 224
10.1.1.进程线程区别.................................................................................................. 224
10.1.2 进程通信方式.................................................................................................... 225
10.1.3 僵尸进程............................................................................................................ 225
10.1.4 进程同步 PV 信号量......................................................................................225
10.2 死锁............................................................................................................................... 227
10.2.1 死锁避免-银行家算法...................................................................................... 227
10.2.2 死锁避免-安全序列.......................................................................................... 22810.3 同步 异步 阻塞 非阻塞............................................................................................. 228
10.4 操作系统 CPU 调度算法..............................................................................................229
10.5 内存管理方式(页存储 段存储 段页存储).......................................................... 230
10.6 页面置换算法.............................................................................................................. 232
10.6.1 概念................................................................................................................... 232
10.6.2 OPT 最优页面置换算法...............................................................................232
10.6.3 先进先出置换算法(FIFO)..........................................................................232
10.6.4 最近最久未使用(LRU)算法.......................................................................232
10.7 IO 种类 IO 的原理.......................................................................................................233
1. IO 种类.......................................................................................................................234
2.设备 I/0 输入输出控制方式..................................................................................... 234
10.8 进程打开同一个文件 那么这两个进程得到的文件描述符(
fd)相同................ 235
10.9 select epoll...............................................................................................................235
10.10 物理地址 虚拟地址 逻辑地址................................................................................ 237
十一 Linux 命令.............................................................................................................................239
10.1 Vim..................................................................................................................................239
10.2 linux 如何查看端口被哪个进程占用?
...................................................................240
10.3 查看进程打开了哪些文件......................................................................................... 241
10.4 top.................................................................................................................................. 241
10.5 查看 cpu 核的个数主频..............................................................................................241
10.6 Linux 如何创建守护进程.............................................................................................241
10.7 Linux 管道机制原理.................................................................................................... 242
10.8 查看进程下的线程.......................................................................................................242
10.9 linux 锁.......................................................................................................................... 242
10.10 查看行数指令(比如第 100 行到第 150 行 top IP)..........................................243
10.11 linux 进程调度............................................................................................................. 244
10.14 系统调用与库函数的区别.........................................................................................245
10.15 free................................................................................................................................246
10.16 cache 和 buffer 的区别:...................................................................................... 246
10.13 其它的小问题............................................................................................................. 247
十一. 安全加密...........................................................................................................................248
11.1 数字签名........................................................................................................................ 248
11.2 数字证书....................................................................................................................... 249
11.3 公私钥........................................................................................................................... 249
11.4 非对称加密 RSA.......................................................................................................249
11.5 对称密钥 DES.............................................................................................................250
11.6 DH 加密算法................................................................................................................. 250
11.7 SHA MD5...................................................................................................................... 250
十二. 代码...................................................................................................................................251
12.1 读写文件(BufferedReader)........................................................................................251
12.2 反射.............................................................................................................................252
12.3 LRU............................................................................................................................. 255十三. 面经...................................................................................................................................257
十四. 项目...................................................................................................................................259
14.1. jieba 分词原理.............................................................................................................. 259
Python.............................................................................................................................................260
Git....................................................................................................................................................260
计算机磁盘.....................................................................................................................................260
Socket............................................................................................................................................. 261
其它.................................................................................................................................................261

标签: java

实例下载地址

Java面经

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警