手写 JVM-01-概览
手写系列
手写 mysql
手写 os
手写 jvm
手写 gc
JVM
JVM 是 Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
系列目的
本专题主要介绍如何通过java代码来实现JVM的基础功能(搜索解析class文件、字节码命令、运行时数...
2022-06-12 01:22:02 |
JVM
如何备份文件 保障文件不易丢失
备份的理由
一些重要的文件,为了避免丢失。
应该如何做,才能比较保险呢?
手机图片
以图片为例。
(1)手机保存一份
(2)手机云端保存一份,比如苹果的 icloud
不过有一个问题,一般都会内存不足,然后收费。
(3)电脑备份
自己的电脑上备份一份
(4)U 盘备份
自己的 U 盘备份一下
U 盘记得加密,避免 U 盘丢失,造成图片泄漏
(5)网络账户-相册备份
...
2022-06-12 01:22:02 |
TOOL
简易版数据库实现-10-MIT 6.830 SimpleDB Lab6 redo-log and undo-log
一、概览
1.steal/no-force策略
lab6要实现的是simpledb的日志系统,以支持回滚和崩溃恢复;
在lab4事务中,我们并没有考虑事务执行过程中,如果机器故障或者停电了数据丢失的问题,bufferpool采用的是no-steal/force的策略,而这个实验我们实现的是steal/no-force策略,两种策略的区别如下:
steal/no-ste...
2022-06-12 01:22:02 |
Database
简易版数据库实现-09-MIT 6.830 SimpleDB Lab5 B+ TREE 索引
B+树概述
B+ 树是一种树数据结构,是一个n叉树,每个节点通常有多个孩子,一颗B+树包含根节点、内部节点和叶子节点。
B+ 树通常用于数据库和操作系统的文件系统中。
B+ 树的特点是能够保持数据稳定有序,其插入与修改拥有较稳定的对数时间复杂度。
B+ 树元素自底向上插入。
特征
一个m阶的B树具有如下几个特征:
根结点至少有两个子女。
每个...
2022-06-12 01:22:02 |
Database
简易版数据库实现-08-MIT 6.830 SimpleDB Lab4 事务
# 一、实验预览
实验四要求我们实现基于 2pl 协议的事务, 先来说一下在 simpleDB 中是如何实现事务的:
在SimpleDB中,每个事务都会有一个Transaction对象,我们用TransactionId来唯一标识一个事务,TransactionId在Transaction对象创建时自动获取。
事务开始前,会创建一个Transaction对象,trasactionId...
2022-06-12 01:22:02 |
Database
简易版数据库实现-07-MIT 6.830 SimpleDB Lab3 Resolve 查询优化选择最佳的策略
Exercise 3: Join Cost Estimation
查询代价
exercise3要做的是估计连接查询的代价,以下是讲义:
其实这应该是四个exercise最容易的一个,就是看懂了连接查询的公式,然后写一下就好了,以下是公式:
scancost(t1) + scancost(t2) + joincost(t1 join t2) + scancost(t3) + jo...
2022-06-12 01:22:02 |
Database
简易版数据库实现-07-MIT 6.830 SimpleDB Lab3 Resolve 查询优化表数据统计
# 一、实验概览
lab3实现的是基于代价的查询优化器,以下是讲义给出的实验的大纲:
回想一下,基于成本的优化器的主要思想是:
- 使用有关表的统计信息来估计不同的“成本”
> 查询计划。 通常,一个计划的成本与基数(基数)有关。
>(产生的元组数)中间连接和选择,以及
> 过滤器和连接谓词的选择性。
- 使用这些统计信息对连接和选择进行排序...
2022-06-12 01:22:02 |
Database
简易版数据库实现-06-MIT 6.830 SimpleDB Lab3 Resolve 查询优化
# 一、实验概览
lab3实现的是基于代价的查询优化器,以下是讲义给出的实验的大纲:
Recall that the main idea of a cost-based optimizer is to:
- Use statistics about tables to estimate “costs” of different
> query plans. Typical...
2022-06-12 01:22:02 |
Database