一、归并排序 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。 所谓“分”,指的是将一个 ...
分类:
编程语言 时间:
2020-06-17 01:03:57
阅读次数:
82
前言 在「对象内存布局」一节中,我们了解到对象头中包含了一个叫做 类型指针 的东西,即对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。但是,并不是所有的虚拟机都是这么去做的。不同的虚拟机关于这点有不同的实现,目前主流的方式可以分为 句柄 和 直接指针 句柄 由图中我们可以 ...
分类:
其他好文 时间:
2020-03-23 09:44:41
阅读次数:
50
1.对象的创建 1.给对象分配内存 指针碰撞 空闲列表 2.线程安全性问题 线程同步 本地线程分配缓冲 2.对象的结构 3.对象的访问定位 使用句柄 直接指针 ...
分类:
编程语言 时间:
2020-02-13 17:10:48
阅读次数:
66
Java对象访问是通过直接指针访问的方式, 而诸如C等语言则是通过句柄的方式 JVM规范(三大规范) Oracle > sun > HotSpot Oracle > EBA > JRockit IBM > JVM-S(J9) jvm权威公司就是Oracle, 因为三大规范,它占其二 JVM运行形式 ...
分类:
其他好文 时间:
2020-01-18 14:48:26
阅读次数:
93
合并,就是两个树的结构交集部分,数据相加,否则,取非空部分。 所以,这里相当于是对两棵树同时遍历: 如果两棵树节点都不为空,则数据相加, 否则,直接指针把不为空的节点复制过来。 注:这里没有申请内存,而直接对原有的树进行改造,这样可以节省申请内存的时间,且节省一些内存。 ...
分类:
其他好文 时间:
2019-07-01 09:15:21
阅读次数:
96
一维数组的声明 ``` 数组类型 数组名 [常量表达式] ``` 常量表达式表示的是数组的个数,即数组的长度,且不能是变量。 一维数组的引用 ``` 数组名 [下标] ``` 一维数组的初始化 1.逐个对元素赋值 ``` char a[3] a[0] = 'a' a[1] = 'b' a[2] = ...
分类:
编程语言 时间:
2019-04-21 13:00:11
阅读次数:
172
直接指针间接指针ext4格式硬链接特点不能跨分区[mage@centos7data]$ln/root/f3/data/f3.lnkln:failedtocreatehardlink‘/data/f3.lnk’=>‘/root/f3’:Invalidcross-devicelink硬链接本质是一个文件多个名称,夸分区则文件不同不能针对目录[mage@centos7data]$ln/data/d
分类:
其他好文 时间:
2019-04-01 01:11:29
阅读次数:
201
结构体的定义 结构体是将零个或者多个任意类型的命令变量组合在一起的聚合数据类型。每个变量都叫做结构体的成员。 其实简单理解,Go语言的结构体struct和其他语言的类class有相等的地位,但是GO语言放弃了包括继承在内的大量面向对象的特性,只保留了组合这个基础的特性。所有的Go语言类型除了指针类型 ...
分类:
其他好文 时间:
2018-11-28 19:00:40
阅读次数:
145
可能是把Java内存区域讲的最清楚的一篇文章 基本问题: 介绍下 Java 内存区域(运行时数据区) Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么) 对象的访问定位的两种方式(句柄和直接指针两种方式) 拓展问题: String类和常量池 8种基本类型的包装类和常量池 ... ...
分类:
编程语言 时间:
2018-09-29 16:44:46
阅读次数:
242
java对象在访问的时候,我们需要通过java虚拟机栈的reference类型的数据去操作具体的对象。由于reference类型在java虚拟机规范中只规定了一个对象的引用,并没有定义这个这个引用应该通过那种方式去定位、访问java堆中的具体对象实例,所以一般的访问方式也是取决与java虚拟机的类型。目前主流的访问方式有通过句柄和直接指针两种方式。1.句柄访问
使用句柄访问方式,java堆将会划分...
分类:
编程语言 时间:
2016-08-08 14:38:23
阅读次数:
186