【无标题】java核心资料
1. 目录
- JVM 内存区域 21
- 程序计数器(线程私有) 22
- 虚拟机栈(线程私有) 22
- 本地方法区(线程私有) 23
- 堆(Heap-线程共享)-运行时数据区 23
- 方法区/永久代(线程共享) 23
- JVM 运行时内存 24
- 新生代 24
- Eden 区 24
- ServivorFrom 24
- ServivorTo 24
- MinorGC 的过程(复制->清空->互换) 24
- 新生代 24
1:eden、servicorFrom 复制到 ServicorTo,年龄+1.................................................................................................................................................................. 25
2:清空 eden、servicorFrom.................................................................................................................................................................. 25
3:ServicorTo 和 ServicorFrom 互换................................................................................. 25
- 老年代 25
- 永久代 25
- JAVA8 与元数据 25
- 垃圾回收与算法 26
- 如何确定垃圾 26
- 引用计数法 26
- 可达性分析 26
- 标记清除算法(Mark-Sweep) 27
- 复制算法(copying) 27
- 标记整理算法(Mark-Compact) 28
- 分代收集算法 29
- 新生代与复制算法 29
- 老年代与标记复制算法 29
- 如何确定垃圾 26
- JAVA 四中引用类型 30
- 强引用 30
- 软引用 30
- 弱引用 30
- 虚引用 30
- GC 分代收集算法 VS 分区收集算法 30
- 分代收集算法 30
- 在新生代-复制算法 30
- 在老年代-标记整理算法 30
- 分区收集算法 31
- 分代收集算法 30
- GC 垃圾收集器 31
- Serial 垃圾收集器(单线程、复制算法) 31
- ParNew 垃圾收集器(Serial+多线程) 31
- Parallel Scavenge 收集器(多线程复制算法、高效) 32
- Serial Old 收集器(单线程标记整理算法) 32
- Parallel Old 收集器(多线程标记整理算法) 33
- CMS 收集器(多线程标记清除算法) 33
- 初始标记 33
- 并发标记 34
- 重新标记 34
- 并发清除 34
- G1 收集器 34
- JAVA IO/NIO 34
- 阻塞 IO 模型 34
- 非阻塞 IO 模型 35
- 多路复用 IO 模型 35
- 信号驱动 IO 模型 36
- 异步 IO 模型 36
- JAVA IO 包 36
- JAVA NIO 37
- NIO 的缓冲区 38
- NIO 的非阻塞 38
- Channel 40
- Buffer 40
- Selector 40
- JVM 类加载机制 41
2.9.1.1. 加载................................................................................... 41
2.9.1.2. 验证................................................................................... 41
2.9.1.3. 准备................................................................................... 41
2.9.1.4. 解析................................................................................... 41
- 符号引用 42
- 直接引用 42
- 初始化 42
- 类构造器<client> 42
- 类加载器 42
- 启动类加载器(Bootstrap ClassLoader) 43
- 扩展类加载器(Extension ClassLoader) 43
- 应用程序类加载器(Application ClassLoader): 43
- 双亲委派 43
- OSGI(动态模型系统) 44
- 动态改变构造 44
- 模块化编程与热插拔 44
- JAVA 集合 45
- 接口继承关系和实现 45
- LIST 47
- ArrayList(数组) 47
- Vector(数组实现、线程同步) 47
- LinkList(链表) 47
- SET 48
- HashSet(Hash 表) 48
- TreeSet(二叉树) 49
- LinkHashSet(HashSet+LinkedHashMap) 49
- MAP 50
- HashMap(数组+链表+红黑树) 50
- JAVA7 实现 50
- JAVA8 实现 51
- ConcurrentHashMap 51
- Segment 段 51
- 线程安全(Segment 继承 ReentrantLock 加锁) 51
- HashMap(数组+链表+红黑树) 50
3.4.2.3. 并行度(默认 16)................................................................................... 52
3.4.2.4. Java8 实现 (引入了红黑树)................................................................................... 52
- HashTable(线程安全) 53
- TreeMap(可排序) 53
- LinkHashMap(记录插入顺序) 53
- JAVA 多线程并发 54
- JAVA 并发知识库 54
- JAVA 线程实现/创建方式 54
- 继承 Thread 类 54
- 实现 Runnable 接口。 54
- ExecutorService、Callable<Class>、Future 有返回值线程 55
- 基于线程池的方式 56
- 4 种线程池 56
- newCachedThreadPool 57
- newFixedThreadPool 57
- newScheduledThreadPool 58
- newSingleThreadExecutor 58
- 线程生命周期(状态) 58
- 新建状态(NEW) 58
- 就绪状态(RUNNABLE): 59
- 运行状态(RUNNING): 59
- 阻塞状态(BLOCKED): 59
等待阻塞(o.wait->等待对列):................................................................................. 59
同步阻塞(lock->锁池).................................................................................................................................................................. 59
其他阻塞(sleep/join).................................................................................................................................................................. 59
- 线程死亡(DEAD) 59
正常结束................................................................................. 59
异常结束................................................................................. 59
调用 stop.................................................................................................................................................................. 59
- 终止线程 4 种方式 60
- 正常运行结束 60
- 使用退出标志退出线程 60
- Interrupt 方法结束线程 60
- stop 方法终止线程(线程不安全) 61
- sleep 与 wait 区别 61
- start 与 run 区别 62
- JAVA 后台线程 62
- JAVA 锁 63
- 乐观锁 63
- 悲观锁 63
- 自旋锁 63
自旋锁的优缺点................................................................................. 63
自旋锁时间阈值(1.6 引入了适应性自旋锁)................................................................................. 63
自旋锁的开启................................................................................. 64
- Synchronized 同步锁 64
Synchronized 作用范围................................................................................. 64
Synchronized 核心组件................................................................................. 64
Synchronized 实现................................................................................. 64
- ReentrantLock 66
Lock 接口的主要方法................................................................................. 66
非公平锁................................................................................. 66
公平锁................................................................................. 67
ReentrantLock 与 synchronized.................................................................................................................................................................. 67
ReentrantLock 实现................................................................................. 67
Condition 类和 Object 类锁方法区别区别................................................................................. 68
tryLock 和 lock 和lockInterruptibly 的区别................................................................................. 68
- Semaphore 信号量 68
实现互斥锁(计数器为 1)................................................................................. 68
代码实现................................................................................. 68
Semaphore 与 ReentrantLock.................................................................................................................................................................. 69
【无标题】java核心资料相关推荐
- 由P8架构师整理,283页的Java核心资料pdf文档,学会后月薪4W
java思维导图 前言: 这份长达283页的pdf有阿里的大佬精心整理,干货满满.包含了2020年java有关的核心知识点,分享给大家 这份PDF面经知识点包括了五个大部分,26个知识点: Java部 ...
- 2020最新java学习资料,全套源码无加密网盘下载
点击上方蓝字关注我们! 前言--------2020最新java学习资料完整版,全套源码无加密网盘下载 最近小编整理了三套java的学习资料(视频+资料+源码),无加密: 1.2020java会员版 ...
- 【无标题】JAVA概述
JAVA 语言是一种无关于底层硬件.只需一次编写就可在各个环境运行的一种计算机高级语言和平台.JAVA 与生俱来就拥有联系各个网络平台的能力,是真正实现网络实践性的一种语言.从JAVA 的发展趋势来看 ...
- 最全最新的的Java核心知识点整理!!! 【推荐】
前言: 想要文档版的小伙伴们可以私信我领取哦,更加清晰 一目了然 ~ Java核心知识点! 博客整理出来的稍微有点乱~ 目录 目录 -1 JVM - 19 2.1. 线程 - 20 2.2. JVM ...
- 进大厂一条龙服务(Java核心面试知识点+一线大厂Java笔试面试题+月薪3万Java优秀简历模板),看这篇就够了
你有没有觉得Java_工程师竞争压力大.就业困难?不知道面试Java工程师应该准备些什么?.. 现在一切都解决了!你想要的干货知识和面试题统统在这,还有月薪3万Java优秀简历模板,快拿回去嚼烂吧! ...
- java获取当前日期的前一天日期,Java核心知识点
一.分布式架构学习路线图 据统计,人的阅读时间在20分钟以内是能够达到全身心投入的,顾文章单张篇幅以后会尽量缩短,但更新会尽量相应频繁一些. 二.计算机软件发展历史 首先我们了解下计算机软件的发展历史 ...
- 牛逼了!8000页Java 核心知识点+面试题整理,超全!
今年金九银十要来了,很多小伙伴都在准备跳槽.小编为大家汇总了份Java核心知识点面试题和答案,基本上涵盖了所有后端技术栈,相信可以帮助大家拿到自己心仪的offer. 截了几张图,大家可以仔细查看左边的 ...
- 31 道 Java 核心面试题,统统打包给你!
作者 | 沉默王二 来源 | 沉默王二 责编 | 王晓曼 二哥,你好,找工作找了仨月,还没有找到,很焦虑,我该怎么办呢?你那有没有 Java 方面的面试题可以分享一波啊? 以上是读者田田给我发的私信, ...
- Android 置Activity全屏和无标题
今天,实在没有什么好些写的内容,所以在网上找了很久,才决定写这个博客.比较简单,还是想保持写博客的习惯. 一.在代码里设置全屏. Activity设置全屏和无标题栏,要用到andorid.view.W ...
最新文章
- 使用MyBatis简化枚举类值的存储和读取
- 视频大变革:需要技术,也需要情怀
- JSP/ Servlet常见的中文乱码原因
- OpenCV-Python 中文教程(搬运)目录
- C语言课后习题(28)
- php的floorval函数,php 取整函数(floor,ceil,round,intval)_PHP教程
- 2019-02-25 SQL:cast(itemvalue as decimal(19,4))
- python深度学习库tensorflow——实现FC卷积神经网络识别mnist手写体
- 让你的模型acc更上一层楼:模型trick和数据方法总结
- 特稿:OceanBase 连破纪录的背后,是技术人的砥砺前行 | 凌云时刻
- 安装pgadmin3
- UE4入门实例31(Unreal制作炫酷高效黑洞粒子)
- 链表节点被删除时的资源释放
- flash for linux安装教程,Flash Player 9 FOR Linux 的安装
- shiro 自定义FormAuthenticationFilter,记住我
- fabric2.0 概念, peer、账本和排序服务
- 绿地签约十家酒店项目,轻资产输出步伐再提档
- Win10 WSL2 linux 子系统安装Docker
- os.listdir()详解
- 良心推荐:看完这20部BBC神级纪录片,英语水平提升几个Level!
热门文章
- 列举所有的“四叶玫瑰数”,并统计四叶玫瑰数的个数 四叶玫瑰数:是一个四位数,各个位的数字的四次方的和,为该数字本身
- 认真推荐几个高质量的原创公众号
- MySQL的数据库引擎介绍
- 前端实现“查看更多”效果
- 如何部署简单腾讯云服务器
- spring_boot 发布成war包 ,部署到外部的tomcat
- Err.number错误号和可捕获的 Microsoft access 数据库引擎和 DAO错误说明
- P1217 [USACO1.5]回文质数 Prime Palindromes(打表)
- Avoid mutating a prop directly since the value will be overwritten whenever
- 天勤python_天勤量化策略库:R-Breaker策略(难度:初级)