自定义博客皮肤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)
  • 收藏
  • 关注

原创 MIT6.828-Lab 2 Memory Management: Part 1

前言       本来学习操作系统的目的来学习mit6.828的课程,虽然之前也上过操作系统给课,读过操作系统书,但都是停留在理论方面,这往往会导致过一段时间未用就会遗忘,所以最好的方式就是动手实践,不仅仅能够加深映像,而且可以从不同角度去认识操作系统。       同时,通过写Blog的方式,记录自己完成实验的过程,包括自己的理解,思考过程,以及出错分析,希望自己能够坚持到最后一个实验,也希望自己文章能

2021-03-29 10:56:18 275

原创 apt源更改

今天准备做下MIT6.828的实验,用一下linux环境,以前也用过linux, 每次用到都是去搜索引擎搜索命令,一些配置等,基本用一次忘一次,再加上最近面腾讯,老被问linux命令,在此狠心好好学习下linux,说不定以后就要跟C++打交道了,linux服务器开发肯定是必过的一过。用过ubuntu的都知道,安装软件基本用的是apt命令进行安装,apt默认的源是ubuntu官网的镜像,服务器是在国外,因此下载软件的时候会特别慢,所以一般我们都会更改源,以前在更改源的时候,直接上网搜索源,然后贴上像清华,阿

2021-03-26 16:13:42 1344

原创 C语言for导致无线循环

C语言for死循环我们先来看看C代码,大家可以先猜猜它的执行结果是啥。#include<stdio.h>int main(int argc, char* argv[]) { int i = 0; int arr[3] = {0}; for (; i <= 3; i++) { arr[i] = 0; printf("hello world\n"); }

2021-03-14 09:51:22 2011

原创 try catch finally的底层原理

try catch finally底层原理昨晚参加一个面试,被问到try catch finally相关的知识,虽然之前了解过其中奇怪的用法,特别有return的情况,但是由于时间久远,完全忘了,导致这个问题回答不是很好,只是知道finally无论是否发生异常都会执行的(但是忘了含有return的情况是怎么处理的了),finally常常用来关闭一些资源,像文件,连接等。finally终究执行我们先来验证一下finally终究执行 public static int test() {

2021-03-13 09:44:25 677

原创 Calcite学习——Calcite总览

Calcite的定位       翻译官方文档的原话就是Calicte是一个动态数据管理框架,从字面上理解所谓的动态是支持多种不同的数据源,使其都能够通过SQL语言来管理数据。我们知道,当使用许多不同的数据管理系统,由于它们各自都有自己的数据查询语言,这样导致学习成本很高,如果能够通过一种统一的语言,能够完成不同的数据管理系统的操作,那必将大大方便用户,Calcite的目的便是这样的,使通过SQL语言就能管理各种不同的数据管理系统。    &n

2021-01-23 12:59:25 740

原创 xwiki的安装(tomcat+mysql)

阿斯顿总述Tomcat的安装MySQL的安装Xwiki的安装Xwiki的配置tomcat的配置配置xwiki连接数据库信息配置xwiki永久目录xwiki启动总述xwiki是一个基于Java编写的开源企业级的wiki,支持博客,群组管理,权限管理等功能,下面介绍如何安装xwiki,适合在linux或者window上运行,安装分为Servlet容器的安装、Mysql的安装,Xwiki的安装及配置。这里用的各个版本如下:tomcat: apache-tomcat 9 (https://tomcat.ap

2020-10-08 14:38:40 1108 4

原创 二叉树的遍历

树的遍历总结树的遍历在算法题目中是比较常见的,树的遍历是指按照某种顺序访问树中的所有结点,同时保证不出现重复的结点。常见的树的遍历分为三种,分别为前序遍历,中序遍历和后续遍历,前中后是根节点相对于子节点的,比如前序遍历,那么首先遍历根节点,再遍历孩子结点,而中序遍历是先遍历左孩子结点,再遍历根节点,最后遍历右孩子结点,而后序遍历的话则是先遍历左节点,再遍历右节点,最后遍历根节点。树的遍历算法主要是递归和迭代,递归算法是比较简单,迭代算法就有点不好理解。树的递归遍历前序遍历前序遍历的规则就是先遍历根节

2020-09-29 13:08:28 97

原创 Java学习之路----关键字总结

Java中的关键字总结java中常见的关键字有transient,instanceof,volatile,synchronized,final,static等,下面将逐一介绍上面提及的6个关键字。transient关键字transient关键字用在对象的序列化中,对象的序列化是将对象按照一定的规则转换特定序列的字节,这样就可以在网络中传输这些字节,那么就能够在新的机器上重新创建此对象,从而...

2020-04-22 16:50:09 96

原创 Java 泛型方法

在此记录在学习泛型方法时个人觉得比较容易忘记的点:1、Java中类内的泛型方法与该类是否是泛型无关,即当一个方法为泛型方法时,那么 它所在的类既可以是泛型的,也可以不是泛型的。2、当一个方法被声明为static时,那么其将不能引用类的参数化列表...

2020-02-23 13:05:09 109

原创 QT学习遇到的问题

1、在连接MYSQL数据库后,执行查询语句,然后用query.value(0).toString()访问,出现如下错误:出现这问题原因是record指向返回结果的前一个,类似-1,需要在访问前调用next(),first(),seek()即可。...

2019-04-14 13:22:38 344

原创 QT5.12.0使用mysql8.0

在QT上连接mysql数据库,把我折腾了快一天了,各种连接不上,尝试网上博客各种办法,基本都没能解决问题,最后,还是成功的连上了,特意写此博客记录走过的各种坑。用QT连接Mysql的时候,报错显示驱动没加载好,报错信息如下:那么就手动加载驱动,查看报错的具体信息这是QT找不到指定的mysql驱动导致的,需要到mysql server8.0下的lib将libmysql.dll,libmy...

2019-04-14 13:08:40 3445

原创 随机数种子的理解

我们在产生随机数的时候,会用到种子这一概念,之前没搞明白这两个关系,现在算是弄明白一些,写下方便以后查看。随机数是由一个随机函数函数产生的,其实随机函数产生的是伪随机数,也就是看似是随机数,其实每次程序启动都会得到同样的随机数,以下为两次启动程序得到的随机数都是这一样的,故可见是伪随机数由此便有一个种子,该种子用来指定是哪一个序列,比如有一下两个序列1 2 3 4 5 68 1 10 2...

2019-03-14 15:34:24 7724 1

原创 c语言gets注意事项

关于getline()与gets()的注意事项此两个函数都是用来读取一行字符串的,遇到换行符认为读行结束并把换行符从缓冲区读取然后丢掉对于scanf(),如果读取%c,那么空格和换行符都会读取,如果是其他的数据类型,例如为整型%d,那么在整型输入之前的空格和换行符会读取并丢弃,但当输入整型之后,若碰到空格和换行符,那么就截止,此时并没有读取后面的空格或换行符,仍然会被保留在缓冲区里,终于弄明白...

2019-03-12 21:13:23 3698 6

原创 分摊算法复杂度与平均算法复杂度的区别

平均复杂度:对不同操作出现的概率不同进行加权平均,不强调操作的次序问题分摊复杂度:针对操作的某个次序来求得总的时间复杂度,再分摊到各个操作步骤区别:平均复杂度没有涉及到操作次序,而分摊复杂度涉及到,故分摊复杂度对数据结构操作复杂度的估计具有更加的真实性。例如:有a,b,c三种操作,分别单独运行需要2,3,4分钟,但是a,b,c和a,c,b只要次序不同可能总的时间不同,而平均复杂度都是一样的...

2019-02-19 09:47:21 2504

原创 SQL 内连接 外连接

SQL 内连接 外连接是将数据库中两张或者多张表连接起来。内连接:将两张表的交集连接成为一张表外连接:分为左连接、右连接,全连接左连接(左外连接):以为左表为基准,若有交集则连接,无交集则为空即可。右连接:概念跟左连接差不多...

2019-02-12 19:51:05 166

空空如也

空空如也

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

TA关注的人

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