![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
LaMole_Ryouji
这个作者很懒,什么都没留下…
展开
-
JVM内存模型 & 垃圾回收机制,面试必会
原创 2021-06-19 23:27:24 · 164 阅读 · 0 评论 -
JAVA集合
文章目录TreeSet vs HashSet vs LinkedHashSet迭代器模式ArrayListFast FailCopyOnWriteArrayList掩码计算方法(mask)LinkedHashMap 实现LRUTreeSet vs HashSet vs LinkedHashSetTreeSet红黑树,指定排序字段,查找效率O(logN)HashSet 查找效率O(1)LinkedHashSet内部使用双向链表维护插入顺序迭代器模式hash的迭代器实现ArrayList扩容1原创 2020-08-07 08:36:15 · 153 阅读 · 0 评论 -
Java多线程面试常见问题
线程状态来源于https://www.uml-diagrams.org/java-thread-uml-state-machine-diagram-example.html原创 2020-07-25 17:40:02 · 211 阅读 · 0 评论 -
JVM运行时数据区
文章目录程序计数器JVM栈本地方法栈堆方法区对象创建过程对象头锁优化锁膨胀区别于JAVA线程模型5大区域程序计数器、jvm栈,本地方法栈,堆,方法区前三个线程私有,后两个线程共享程序计数器执行的是本地方法的话,值为null,没有规定OOMJVM栈里面存储着栈帧,一个方法的执行过程就是一个栈帧的入栈和出栈有OOM 和StackOverFlow栈帧包括局部变量表变量槽为最小单位(4字节)long和double占2个槽可以存放八种基本类型+reference+returnAd原创 2020-07-25 17:38:39 · 155 阅读 · 0 评论 -
JVM 垃圾回收算法 & 垃圾回收器
文章目录分代收集理论GC种类垃圾回收算法标记-清除标记-整理标记-复制什么样的对象直接进入老年代CMS回收流程初始标记并发标记并发清除经典垃圾收集器Serial(New Old)ParNew(New)Parallel Scavenge(New)Parallel Old(是Parallel Scavenge的老年代收集器)CMSG1G1 vs CMS分代收集理论弱分代假说:绝大多数对象都是朝生夕死强分代假说:熬过越多次垃圾回收的对象越难以消亡跨代引用假说:跨代引用相对于同代引用是极少数根据1、2原创 2020-07-25 17:35:56 · 160 阅读 · 0 评论 -
JVM类加载器相关
类加载阶段加载连接(验证、准备、解析)初始化使用卸载解析和初始化的相对顺序不确定,为了支持动态绑定,解析可能在初始化之后加载启动(Bootstrap)类加载器启动类加载器是用本地代码实现的类加载器(特殊的机器指令),它负责将JAVA_HOME/lib下面的核心类库或-Xbootclasspath选项指定的jar包等虚拟机识别的类库加载到内存中。由于启动类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用(unsafe类用这个判断是否由启动类加载器加载)。具体可由启动原创 2020-07-25 17:33:24 · 89 阅读 · 0 评论