Jvm 的垃圾回收机制
jvm上次说到一些jvm垃圾回收的算法 :jvm垃圾回收的作用是什么呢,大概来说就是我们对于内存区内的堆区的通过空闲时间对没有被引用的对象内存进行回收 简称GC机制;
然后我们怎么处理垃圾回收呢:垃圾回收的机制有三种 一是堆区的内存满了,2:主动回收 通过system.gc()
方法回收
然后通过引用算法去对垃圾进行回收 上次说到jvm 垃圾回收的2种算法 :引用计数算法和可达性分析算法
引用计数算法:是通过判断 堆区对象 通过添加计数器的方式判断是否有关联引用的对象 如果没有 计数器如果为0的情况下那么就进行回收 简单来说就是引用计数算法
然后就是我们的可达性分析算法:
通过对对象引用链 判断对象是否可达来决定是不是该回收,通过GC Roots” 为初始起点 然后通过 节点搜索引用链 如果对象没有可以到达的引用链 那么进回收 还有类似高级的垃圾回收机制…
关于数据库的面试题 也是面试中必考的一些问题:
类似索引 数据库调优化
索引 就是我们在数据库 中对数据表进行检索的时候要查询的某一行数据 或者若干值就需要通过索引能够去查询 索引他是一种通过算法的获取数据的数据结构 常见有2钗树和红黑树 如果没有定义那么一般都为B+树 索引分为前后缀索引 聚合索引 哈希索引 等…
数据调优: 在我们使用对项目启动初期不会使用很多的数据 但是一旦数据库数据量比较大的情况下 我们需要添加索引来减轻数据库的运行压力 这个时候就是一种数据调优的方式
在添加索引的时候查询全表尽量不要使用 *号会导致索引失效
尽量使用where字句查询
尽量不要使用运算方法 查询表格 会导致索引失效
尽量不要使用模糊查询 类似like 查询字段 等