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