目录介绍
- 01.Java基础[30篇]
- 02.面向对象[15篇]
- 03.数据结构[27篇]
- 04.IO流知识[11篇]
- 05.线程进程[9篇]
- 06.虚拟机[5篇]
- 07.类的加载[7篇]
- 08.反射原理[12篇]
- 09.Java并发[27篇]
- 10.Java异常[11篇]
- 11.枚举与注解[1篇]
- 12.设计模式[8篇]
- 13.Java深入[2篇]
好消息
- 博客笔记大汇总【16年3月到至今】,包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并且修正,持续完善……开源的文件是markdown格式的!同时也开源了生活博客,从12年起,积累共计N篇[近100万字,陆续搬到网上],转载请注明出处,谢谢!
- 链接地址:https://github.com/yangchong211/YCBlogs
- 如果觉得好,可以star一下,谢谢!当然也欢迎提出建议,万事起于忽微,量变引起质变!
01.Java基础
02.面向对象
03.数据结构
- 01.常见数据结构
- 常见的数据类型,数组,集合,栈,堆,链表,图,队列,树。主要是罗列开发中比较常见的数据类型……
- 02.集合基础介绍
- 集合概括与总结,集合的遍历,迭代器的原理,List集合如何选择合适的
- 03.List集合
- ArrayList,Vector,LinkedList等集合的特点与区别。ArrayList的扩容消耗,List怎么实现排序?System.arraycopy()和Arrays.copyOf()方法区别与联系,list集合读写机制和读写效率,ArrayList核心源代码分析等等
- 04.Set集合
- HashSet,LinkedHashSet,TreeSet等集合特点和区别
- 05.Map集合
- HashMap,LinkedHashMap,TreeMap等集合案例分享和基础内容介绍
- 06.ArrayList1
- ArrayList由来介绍,ArrayList的特点,ArrayList如何使用,ArrayList结构图,ArrayList类声明
- 07.ArrayList2
- ArrayList内部结构,构造方法,add(E e)方法,set和get函数,remove(Object o),ArrayList扩容消耗
- 08.ArrayList3
- ArrayList的序列化,ArrayList的clone,System.arraycopy()和Arrays.copyOf(),ArrayList的Fail-Fast,List怎么实现排序
- 09.LinkedList1
- LinkedList简介,内部结构分析,LinkedList类声明,几个常用的方法,list效率比较
- 10.LinkedList2
- 构造方法和成员变量,add方法,get方法,indexOf方法,remove()方法
- 11.HashMap1
- HashMap简单使用 ,查找数据,遍历数据,HashMap特点,HashMap底层实现
- 12.HashMap2
- HashMap内部结构,构造函数,put(K key, V value),get(Object key),resize()扩容,Hash函数实现
- 13.HashMap3
- 容量和装载因子,HashTable和HashMap,hashCode和equal,Key为何需要不可变,HashMap为啥要扩容,HashMap的table下标
- 14.HashMap4
- HashMap线程问题,测试HashMap效率,HashMap性能分析
- 15.TreeMap1
- TreeMap特点,何时用TreeMap,TreeMap简单使用,案例训练
- 16.TreeMap2
- 构造函数和成员变量,put插入函数源码,get获取函数源码,如何保证有序性
- 17.ConcurrentHashMap1
- HashMap使用的弊端,ConcurrentHashMap底层知识点
- 18.ConcurrentHashMap2
- ConcurrentHashMap内部结构,table初始化initTable(),put插入数据操作
- 20.LinkedHashMap1
- LinkedHashMap使用,LinkedHashMap特点,为何有LinkedHashMap,节点类说明介绍
- 21.LinkedHashMap2
- 成员变量分析,构造函数分析,put插入元素分析,get访问元素,移除元素源码分析
- 22.HashSet
- HashSet特点,HashSet如何去重,HashSet源码分析
- 23.LinkedHashSet
- LinkedHashSet的特点,LinkedHashSet源码分析
- 24.TreeSet
- TreeSet特点说明,TreeSet的案例,TreeSet原理,TreeSet源码分析
- 27.CopyOnWriteArrayList
- 什么是CopyOnWriteArrayList,它与ArrayList有何不同?CopyOnWriteArrayList读写分离
04.IO流知识
- 01.IO流基础介绍
- IO流概述及其前奏,IO流整体学习知识体系有哪些东西,IO流的概念,输入流和输出流
- 02.IO流字符与字节
- 什么是字节,什么是字符,unicode编码,如何获取字节,字节和字符区别,String中编解码问题
- 03.IO流之File类
- File类介绍,File类构造函数,创建与删除方法,File判断方法,File获取方法
- 05.IO流体系图
- IO流体系图,按照流向进行划分图,按操作方式分类结构图,InputStream字节输入流,OutputStream字节输出流,Reader字符输入流,Writer字符输出流
- 06.IO字节流案例
- 什么是字节流,字节流复制文本文件,字节流复制MP3,字节流四种方式复制MP3效率比较
- 07.IO字符流案例
- 字符流OutputStreamWriter,字符流InputStreamReader,字符流读写方式,字符流复制文本文件,复制单级文件夹,复制指定目录下指定后缀名的文件并修改名称
- 08.Buffer高效字节流
- 什么是Buffer缓冲流,字节缓冲流BufferedOutputStream,字节缓冲流BufferedInputStream
- 09.Buffer高效字符流
- 什么是高效字符流,字符缓冲流的特殊功能,高效字符流复制文本文件,集合数据存储到文本文件,文本数据存储到集合中,随机获取文本中姓名
- 10.Java深拷贝和浅拷贝
- 如何实现对象克隆?克隆有哪些方式?深克隆和浅克隆有何区别?深克隆和浅克隆分别说的是什么意思?浅拷贝会创建新的对象吗?对于基本类型拷贝的是什么?怎么样实现浅拷贝,浅拷贝前后对象地址值会一样吗?
- 11.RandomAccessFile
- RandomAccessFile简介,RandomAccessFile构造函数,RandomAccessFile使用
05.线程进程
- 01.线程基础知识
- 什么是线程,多线程意义,并行和并发,JVM启动线程
- 02.进程基础知识
- 什么是进程,多进程的意义,进程状态有哪些,进程状态转换,进程通信,进程死锁,进程调度算法
- 03.线程和进程
- 进程与线程概念区别,进程与线程调度区别,进程与线程并发行区别,进程与线程拥有资源对比,进程与线程系统开销对比
- 04.Thread创建
- 创建线程的方式,继承Thread类创建线程类,通过Runnable接口创建线程类,通过Callable和Future创建线程,三种创建线程区别
- 05.Thread控制
- 线程执行流程,线程调度,sleep休眠线程,join加入线程,yield礼让线程, setDaemon守护线程,stop中断线程,start开启线程
- 05.Thread问题
- start和run区别,为何不能重复start,wait和sleep方法,run方法的作用,Runnable和Callable
- 06.Thread关闭
- 结束Thread线程的几种方法,使用退出标志终止线程,使用interrupt()方法终止线程,使用stop方法终止线程
- 07.线程通信方式
- 线程间通信的两种方式 ,wait()/notify(),notify()方法使用注意事项,Condition实现等待/通知
- 08.生产者消费者
- 生产者消费者模型发生场景,一生产与一消费案例,多生产与多消费案例,会遇到哪些关键问题,如何解决关键问题
06.虚拟机
07.类的加载
- 01.Java类加载器
- 02.类的加载机制
- Java对象的创建过程 ,Java内存区域 ,Java对象的访问定位方式 ,Java对象销毁分析 ,类的加载过程。类信息,常量,变量,方法分别放到内存中哪里?本地方法栈和Java虚拟机栈有什么区别?本地方法栈在什么情况下会造成OOM?Java对象访问定位方式有哪些?主要有什么区别?为什么说使用指针效率更高?
- 04.类的生命周期
- 什么是类的生命周期?类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。都做了些什么?
- 05.双亲委派机制
- 详细介绍一下什么是双亲委派机制?它的工作流程是什么?为何说具有不同优先级?代码实现双亲委派模型?
- 06.Java对象的创建
- 07.类执行测试
08.反射原理
09.Java并发
- 02.多线程并发案例
- 继承Thread类的方式卖电影票案例,实现Runnable接口的方式卖电影票,买电影票出现了同票和负数票的原因分析,线程安全问题的产生原因分析,同步代码块的方式解决线程安全问题
- 03.多线程三要素
- 什么是线程安全,线程安全级别,多线程三要素,如何理解原子性,如何理解可见性,如何理解有序性
- 04.处理多线程并发
- 有哪些方式处理多线程并发,如何保证原子性,如何保证可见性,如何保证有序性,平时项目中使用锁和synchronized比较多,而很少使用volatile,难道就没有保证可见性?
- 06.Synchronize1
- Synchronize用法,同步代码块synchronized (this),同步方法synchronized void test,Synchronize作用于方法和静态方法区别,sychonized method 和 synchonized代码块的效率问题
- 07.Synchronize2
- 简单理解Synchronize锁机制,同步方法和代码块实现原理
- 08.ReentrantLock
- ReentrantLock是什么,ReentrantLock使用方法,ReentrantLock锁机制测试,何时用ReentrantLock,
- 09.Synchronize和ReentrantLock区别
- Synchronize和ReentrantLock区别,Synchronize在编译时如何实现锁机制,ReentrantLock锁机制测试案例分析,公平锁和非公平锁有何区别等等
- 14.deadLock3种类型
- 死锁产生的条件,静态的锁顺序死锁,动态的锁顺序死锁,协作对象之间发生的死锁
- 15.deadLock详谈
- Java中导致死锁的原因 ,出现死锁需要满足条件 ,死锁诊断步骤
- 16.volatile介绍
- volatile轻量级锁,volatile测试案例,volatile实现原理 ,volatile的happens-before关系 ,volatile的内存语义 ,volatile的应用场景
- 19.CAS深度解析
- CAS简单介绍,CAS操作案例分析,CAS存在的问题
- 20.线程池基础介绍
- 线程池的优势,ThreadPoolExecutor参数,线程池执行流程,线程池的使用技巧
10.Java异常
11.枚举与注解
12.设计模式
13.Java深入
- 01.四种引用比较与源码分析
- 强引用,软引用,弱引用,虚引用的使用场景与区别,软引用SoftReference源码,弱引用WeakReference源码,虚引用PhantomReference源码分析
- 02.Java内存分配机制及内存泄漏
- Java采用GC进行内存管理思维导图,JVM内存分配的几种策略,GC简单介绍,内存泄漏带来的影响,GC回收机制,垃圾回收思路及方法
- 03.Hash和HashCode深入理解
- Hash的定义,Hash的使用场景,HashCode是什么,为什么要重写HashCode,可直接用hashcode判断两个对象是否相等吗,Hash表是什么 ,Hash中的算法应用 ,Hash在Java中的应用场景
其他介绍
01.关于博客汇总链接
02.关于我的博客
Java博客大汇总
原文:https://www.cnblogs.com/yc211/p/10969007.html