摘要: 链表是有序的列表,但是它在内存中是存储如下: 链表是以节点的方式来存储,是链式存储。 每个节点包含data域,next域:指向下一个节点 链表的各个节点不一定是连续存储 链表分带头节点的链表和没有头节点的链表,根据实际需求确定 单链表(带头结点)逻辑结构示意图如下: 单链表的应用实例: 使用带hea 阅读全文
posted @ 2020-03-24 19:46 城为唯一 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 基本介绍: 队列是一个有序列表,可以用数组或是链表来实现。 遵循先入先出的原则。即:先入队列的数据,要先取出。后存入的要后取出。 示意图: 数组模拟队列思路: 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图,其中maxSize是该队列的最大容量 因为队列的输出、输入是分 阅读全文
posted @ 2020-03-24 10:49 城为唯一 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 基本介绍: 稀疏数组是二维数组的简化方式。当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 处理方法: 记录数组一共有几行几列,有多少个不同的值。 把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。 应用实例: 使用稀疏数组,来保留类似前面的 阅读全文
posted @ 2020-03-24 10:21 城为唯一 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 Serial收集器: Serial(串行)收集器是一个单线程的收集器,单线程一方面意味着它 只会使用一个CPU或者一条线程去完成垃圾收集工作,另一方面也意味着它进行垃圾收集时必须暂停其他线程的所有工作(“Stop The Wo 阅读全文
posted @ 2020-03-23 22:24 城为唯一 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 前面已经知道了如何判断对象会被回收。那么现在来分析一下这些垃圾对象是如何被收集的,通过什么算法收集的。 GC 常用算法有: 标记-清除算法 复制算法 标记-整理算法 分代收集算法 目前主流的jvm(HotSot)采用的是分代收集算法。 标记-清除(Mark-Sweep)算法 算法分为“标记”和“清除 阅读全文
posted @ 2020-03-23 17:11 城为唯一 阅读(223) 评论(0) 推荐(0) 编辑
摘要: jvm是如何判断对象可以被回收的? 方法一:引用计数法 jvm给对象中添加一个引用计数器,每当有一个地方引用它,计数器加1,当引用失效,计数器减1,任何时候计数器为0的对象就是不可能再被使用的。 此方法存在的局限性:不能解决对象之间相互引用的问题。例如: 如上图所示,栈中引用了堆中对象objA和ob 阅读全文
posted @ 2020-03-23 16:04 城为唯一 阅读(1067) 评论(0) 推荐(0) 编辑
摘要: 当生产数据量急剧增长后,很多SQL语句可能会开始暴露出性能问题。当面对一个有SQL性能问题的数据库时,应该从何处入手进行系统的分析,使得能够尽快定位到问题SQL处并尽快解决问题? 第一步:查看SQL执行频率 MySQL客户端连接成功后,通过show [session|global] status命令 阅读全文
posted @ 2020-03-23 11:48 城为唯一 阅读(1650) 评论(0) 推荐(1) 编辑
摘要: JVM三种运行模式: 解释模式(Interpreted Mode):只使用解释器(-Xint强制JVM使用解释模式),执行一行JVM字节码就编译一行为机器码。(可以马上看到效果,但是运行过程比较慢) 编译模式(Compiled Mode):只使用编译器(-Xcomp强制JVM使用编译模式),先将所有 阅读全文
posted @ 2020-03-21 17:46 城为唯一 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 由上图可以看出: 堆中分为新生代(占堆1/3内存)和老年代(占堆2/3内存), 新生代又分为Eden区(占新生代内存的8/10)和survivor区(占新生代内存的2/10), survivor区又分为from区和to区(各占新生代内存的1/10) 我们知道new出来的对象都是方在堆里面,那么具体在 阅读全文
posted @ 2020-03-21 17:16 城为唯一 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 假如运行以下Math.hava类 package com.cjc.classload; public class Math { public static final Integer COUNTAGE = 666; public static User user = null; public int 阅读全文
posted @ 2020-03-21 16:23 城为唯一 阅读(853) 评论(0) 推荐(0) 编辑