摘要: 如题 阅读全文
posted @ 2019-08-14 22:44 三生石1314 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 1. 索引基础 索引:存储引擎用于快速找到记录的数据结构 1.1 索引类型 1.1.1 B+ Tree B+ 树: 多路搜索树 B+树能加快访问数据速度, 不需要访问全表来查询数据,而是从根节点中进行搜索, 根节点中保存了子节点的指针(并且包含子节点的上限与下限),选择正确的子节点进行查找,既可以找 阅读全文
posted @ 2019-04-18 12:12 三生石1314 阅读(239) 评论(0) 推荐(0) 编辑
摘要: equals 和 hashCode含义 equal:判断两个对象是否相等,如果相同,返回true 否则返回false hashcode: 返回一个int数 Object 默认(内部地址转化为一个数字) 两者关系 如果equals(obj)返回true, 那么 hashCode一定返回一样的值 如果e 阅读全文
posted @ 2019-04-02 10:33 三生石1314 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 一、概述 执行引擎是虚拟机中最核心的部分之一, 虚拟机自己实现引擎,自己定义指令集和执行引擎的结构体系。 二、栈帧 栈帧包含(1)局部变量表、(2)操作数栈、(3)动态链接、(4)方法返回地址、(5)额外的附加信息 栈顶的栈帧为当前栈帧,是唯一有效的。 用于存放方法参数和方法内部定义的局部变量。单位 阅读全文
posted @ 2018-08-06 16:55 三生石1314 阅读(698) 评论(0) 推荐(0) 编辑
摘要: 一、概念 类加载:虚拟机把类的数据从Class文件加载到内存中,并对数据进行校验,转化解析,和初始化,最终形成可以被虚拟机直接使用的Java类型。 二、加载时机 1.加载 加载阶段虚拟机完成的工作为: 1)通过类全限定名来获取定义此类的二进制流。 2)将字节流代表的静态存储结构转化为方法区运行时的数 阅读全文
posted @ 2018-07-20 11:23 三生石1314 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 1. -Xms20M JVM启动时候的内存大小为20M 2. -Xmx20M JVM内存最大值是20M 将其与Xms大小一致可以避免JVM内存自动扩展 3. -Xss128K 表示可以设置虚拟机栈大小为128K 4. -Xoss128K 表示设置本地方法栈的大小为128K(HotSpot不区分虚拟机 阅读全文
posted @ 2018-07-12 09:36 三生石1314 阅读(1087) 评论(0) 推荐(0) 编辑
摘要: 一、Minor GC、Major GC 和 Full GC Minor GC:清理新生代空间,当Eden空间不能分配时候引发Minor GC Major GC:清理老年代空间 Full GC:清理Java堆空间 二、新生代垃圾收集器 线程:单线程收集器, 算法:新生代标记复制,老年代标记整理 缺点: 阅读全文
posted @ 2018-07-12 09:14 三生石1314 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 算法主要分为两个步骤 1. 标记: 遍历所有的 GC Roots, 然后标记所有可达对象为存活对象 2. 清除: 遍历堆中所有对象,然后将没有标记的对象清除。 存在不足: 1. 效率低下。 2. 产生大量的磁盘空间 原理:将磁盘分为一半一半,每次都是用50%内存,在内存用完了, 将这50%内存中存活 阅读全文
posted @ 2018-07-11 10:01 三生石1314 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 当前执行字节码的行号指示器,可以通过修改该计数器的值来实现字节码指令(分支,循环,跳转等), 每个线程都都有一个程序计数器, 属于线程的私有变量, 独立存储, 互不影响。 ps. 如果当前执行的是Java方法,该计数器记录的事正在执行的指令地址。如果当前执行的事Native方法(本地方法,与平台有关 阅读全文
posted @ 2018-07-10 21:55 三生石1314 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Ubuntu 安装svn环境配置 1. 安装 安装过程需要数据【Y】 2. svn位置选择 安装完成之后,选择svn目录位置, 将其放在/home/svn 下 开始创建版本库: 3. 权限配置 需要修改conf目录下的三个配置文件 authz; passwd; svnserve.conf 3.1 s 阅读全文
posted @ 2018-03-12 11:42 三生石1314 阅读(303) 评论(0) 推荐(0) 编辑