以点破面--面试中学习
从网上收集的面试中去逐个学习深入各个知识点,形成完整的知识拼图,总结提高
这个世界纷扰
加油
展开
-
以点破面——JAVA集合
集合类存放于Java.util 包中,主要有3 种:set(集)、list(列表包含Queue)和map(映射)。1. Collection:Collection 是集合List、Set、Queue 的最基本的接口。2. Iterator:迭代器,可以通过迭代器遍历集合中的数据3. Map:是映射表的基础接口ArrayList:1、排列有序,可重复2、底层使用数组3、查询快...原创 2019-07-08 23:41:20 · 227 阅读 · 0 评论 -
以点破面——JVM类加载机制
JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化加载加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class 对象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class 文件获取,这里既可以从ZIP 包中读取(比如从jar 包和war 包中读取),也可以在运行时计算生成(动态代理),也可以由其它文件生成(比如将J...原创 2019-07-05 23:05:42 · 213 阅读 · 0 评论 -
以点破面——JAVA IO/NIO
JAVAIO阻塞IO模型最传统的一种 IO 模型,即在读写数据过程中会发生阻塞现象。当用户线程发出 IO 请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出 CPU。当数据就绪之后,内核会将数据拷贝到用户线程,并返回结果给用户线程,用户线程才解除 block 状态。非阻塞IO模型当用户线程发起一个 read 操作后,并...原创 2019-07-05 11:17:14 · 337 阅读 · 0 评论 -
以点破面——GC垃圾收集器
CMS 收集器Concurrent mark sweep(CMS)收集器是一种年老代垃圾收集器,其最主要目标是获取最短垃圾回收停顿时间,和其他年老代使用标记-整理算法不同,它使用多线程的标记-清除算法。最短的垃圾收集停顿时间可以为交互比较高的程序提高用户体验。CMS 工作机制相比其他的垃圾收集器来说更复杂,整个过程分为以下4 个阶段:1、初始标记只是标记一下GC Roots 能直接关联...原创 2019-07-05 00:26:21 · 175 阅读 · 0 评论 -
以点破面——垃圾回收与算法
如何确定垃圾1、引用计数法在Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,即一个对象如果没有任何与之关联的引用,即他们的引用计数都不为0,则说明对象不太可能再被用到,那么这个对象就是可回收对象。当两个对象相互引用,同时失效,则无法进行回收。2、可达性分析为了解决引用计数法的循环引用问题...原创 2019-07-05 00:09:53 · 155 阅读 · 0 评论 -
以点破面——JVM运行时内存
Java 堆从GC 的角度还可以细分为: 新生代(Eden 区、From Survivor 区和To Survivor 区)和老年代。新生代是用来存放新生的对象。一般占据堆的1/3 空间。由于频繁创建对象,所以新生代会频繁触发MinorGC 进行垃圾回收。新生代又分为 Eden 区、ServivorFrom、ServivorTo 三个区。1、Eden区Java 新对象的出生地(...原创 2019-07-04 23:55:32 · 163 阅读 · 0 评论 -
以点破面——JVM内存区域
线程私有:1、程序计数器:是当前线程所执行的字节码的行号指示器;这个内存区域是唯一一个在虚拟机中没有规定任何OutOfMemoryError 情况的区域2、虚拟机栈是描述java 方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。栈帧随着方法调用而创建,随着方法结束而销毁。3、本地...原创 2019-07-04 23:40:25 · 135 阅读 · 0 评论