自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 MySQL-聚集索引与非聚集索引

数据库中B+树索引可分为聚集索引和非聚集索引,不管是索引是否聚集,内部都是B+树,叶子节点存放着所有的数据。聚集索引与非聚集索引的不同在于叶子结点存放的是否是一整行的信息。1.聚集索引数据行的物理顺序与列值(一般是主键的那一列)的逻辑顺序相同,一个表中只能拥有一个聚集索引。聚集索引就是按照每张表的主键构造一棵B+树,同时叶子结点存放的即为整张表的行记录数据,也将聚集索引的叶子结点称为数据页。...

2019-02-21 12:03:44 187

转载 JVM垃圾回收面试总结

一、 技术背景你要了解吧按照套路是要先装装X,谈谈JVM垃圾回收的前世今生的。说起垃圾回收(GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,早在1960年Lisp这门语言中就使用了内存动态分配和垃圾回收技术。设计和优化C++这门语言的专家们要长点心啦~~二、 哪些内存需要回收?猿们都知道JVM的内存结构包括五大区域:程序计数器、虚拟机栈、本地方法栈、...

2019-02-21 11:45:56 167

原创 垃圾收集器与内存分配策略--判断对象是否可被回收

1.引用计数法给每个对象添加一个以引用计数器,缺点:难以解决循环引用问题2.可达性分析算法通过一系列GC Roots 对象作为起点,从这个节点往下搜索,如果一个对象是GC Roots不可达的,则被认为是可回收的。GC Roots主要包括1)虚拟机栈的局部变量表中引用的对象,2)静态字段引用的对象,3)常量池中引用的对象,4)本地方法栈中引用的对象3.不同的引用强度4.生存还是死亡被列...

2019-02-19 18:23:09 151

原创 JVM--对象

以HotSpot和内存区域Java堆为例,介绍HotSpot虚拟机在Java堆中对象分配、布局和访问的全过程。1.对象的创建1)类的加载检查虚拟机遇到new指令,首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类的加载过程。2)虚拟机为新生对象分配内存对象所需内存大小在类加载完的时...

2019-01-28 16:16:50 131

原创 查找--多路查找树(B树)

待完成

2019-01-25 17:50:53 4635 2

原创 查找--平衡二叉树(VAL树)

右旋//P为根节点;L为左子树根节点;void R_rotate(TreeNode P){ TreeNode L=P.left;//L是旋转后新的根节点,最终L的右子树指向原节点P; P.left=L.right;//L的原右子树作为P的左子树 L.right=P;//L的右子树指向原节点P; P=L;//P指向新的根节点。}...

2019-01-18 12:45:36 1131

原创 查找--二叉排序树

1.查询操作,查询是否有某一值class TreeNode{ TreeNode left; TreeNode right; int val;}public static boolean search(TreeNode root,int key,TreeNode parent,TreeNode out) { if(root==null) {//查询失败 out=parent;...

2019-01-17 07:45:45 136

原创 查找

1顺序表查找2.有序表查找2.1chazhi折半查找while(low<high){ mid=(low+high)/2; if(key<array[mid]){ high=mid-1; } if(key>array[mid]){ low=mid+1; } if(key==array[mid]){ return mid; }}...

2019-01-16 18:53:44 80

原创 数组类算法-2双指针对撞法

1.盛最多水的容器给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。class Solution { public int maxArea(in...

2019-01-11 10:55:17 202

原创 数组类算法-3滑动窗口法

一些题目用滑动窗口方法解题,可以将时间复杂度控制在 O(n) 级别,最重要的是定义好滑动窗口,明确它要表达的意思,当然边界和初始值非常重要。例:长度最小子数组。给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。class Solution { public int minSubArrayLe...

2019-01-11 10:44:10 787

原创 虚拟机-运行时数据区

1.程序计数器计数器表示当前线程所执行的字节码的行号。线程私有,属于线程私有的内存区域。2.Java虚拟机栈线程私有,描述Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。一个方法从调用到执行完成对应一个栈帧在虚拟机栈中的入栈和出栈过程。规定的异常情况有两种:1.线程请求的栈的深度大于虚拟机...

2019-01-09 17:55:25 190

原创 数组类算法-1初始定义法

关键:定义两个索引

2019-01-07 10:29:41 102

原创 2019.1.3

import java.util.*; public class 括号匹配{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); while(scanner.hasNextInt()){ int n=s...

2019-01-03 18:45:54 129

原创 2019.1.2(迭代器)

当集合中删除特定元素时,应该使用迭代器实现错误方式:import java.util.*;public class Main {public static void main(String[] args) { List<String> list =new ArrayList<String>(); list.add("sbd"); ...

2019-01-02 17:28:27 114

原创 线性表

在开始介绍之前,首先对数据结构分类进行介绍。数据结构定义:相互之间存在一种或多种特定关系的数据元素的集合描述数据结构的分类方法:线性表(List)线性表是根据逻辑结构分类,再从物理结构上分为:1.线性表的顺序存储结构;2.线性表的链式存储结构。1.线性表的顺序存储结构查找方便,但是插入和删除所需时间更长。2.线性表的链式存储结构2.1链表的创建public class Node...

2018-12-28 17:44:55 95

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除