摘要: 树 二叉树 二叉搜索树 平衡二叉树 红黑树 \ java集合 https://www.cnblogs.com/LiaHon/p/11203229.html B-树、B+树 https://www.cnblogs.com/vianzhang/p/7922426.html 底层: https://www 阅读全文
posted @ 2020-09-10 18:14 窗含西岭 阅读(124) 评论(0) 推荐(0) 编辑
摘要: GC分类与性能指标 GC分类: 按照线程数分,可以分为串行垃圾回收器和并行垃圾回收器 串行回收指的是在同一时间段内只允许有一个CPU用于执行垃圾会回收操作,此时工作线程被暂停,直至垃圾收集工作结束。 * 在诸如单CPU处理器或者较小的应用内存等硬件平台不是特别优越的场合,串行回收器的性能表现可以超过 阅读全文
posted @ 2020-09-07 08:53 窗含西岭 阅读(249) 评论(0) 推荐(0) 编辑
摘要: System.gc()的理解 在默认情况下,通过System.gc()或者Runtime.getRuntime().gc()的调用,会显示的触发Full GC,同时对老年代和新生代进行回收,尝试释放被丢弃对象占用的内存。 然而System.gc()调用附带一个免责声明,无法保证对垃圾收集器的调用。即 阅读全文
posted @ 2020-09-06 17:45 窗含西岭 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 什么是垃圾 垃圾是指运行程序中没有任何指针指向的对象 标记阶段:引用计数算法 引用计数法(Reference Counting)比较简单,对每个对象保存一个整型的引用计数器属性。用于记录对象被引用的情况。 对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1;当引用失效时,引用计数器就 阅读全文
posted @ 2020-09-06 11:21 窗含西岭 阅读(122) 评论(0) 推荐(0) 编辑
摘要: String的基本特性 String 在jdk8之前内部定义了final char[] value 用于存储字符串数据。jdk9时改为byte[]。 字符串常量池中不会存储相同内容的字符串。 String 的String Pool是一个固定大小的HashTable,默认值大小长度是1009.如果放进 阅读全文
posted @ 2020-09-05 14:56 窗含西岭 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 执行引擎概述 “虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。 阅读全文
posted @ 2020-09-05 11:13 窗含西岭 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 引入直接内存的缘由 JDK8将元空间从堆内存移至直接内存 不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域 直接内存是在Java堆外的、直接向系统申请的内存区间 来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存(NIO在JDK4引入,JDK 阅读全文
posted @ 2020-09-04 17:09 窗含西岭 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 对象的实例化 大厂面试题: 创建对象的方式 new 的方式(构造方法) Class的newInstance():反射的方式,只能调用空参的构造器,权限必须是public Constructor的newInstance(Xxx):反射的方式,可以调用空参、带参的构造器,权限没有要求 使用clone() 阅读全文
posted @ 2020-09-04 10:50 窗含西岭 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 栈、堆、方法区的交互关系 方法区(Method Area)与Java堆一样,是各个线程共享的内存区域 方法区在JVM启动的时候被创建,并且它的实际的物理内存空间中和Java堆区一样都可以是不连续的。 方法区的大小,跟堆空间一样,可以选择固定大小或者可扩展 方法区的大小决定了系统可以保存多少个类,如果 阅读全文
posted @ 2020-09-03 22:42 窗含西岭 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 堆的核心概述 一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 Java堆区在JVM启动的时候即被创建,其空间大小也就确定了,是JVM管理的最大一块内存空间。 * 堆内存的大小是可以调节的 《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间,但在逻辑上它应该被视为连续的。 阅读全文
posted @ 2020-09-01 23:24 窗含西岭 阅读(180) 评论(0) 推荐(0) 编辑