自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2020年美赛C题(数据分析题)O奖论文笔记 (1)

这是我的第1篇论文笔记,如有哪里不好还请见谅并指出,之后会不断改进!首先复现一下题目:读了第一段,我们感觉这应该是一道挺接地气的题目。你想知道想淘宝、京东这些购物巨商是怎么从用户点赞、评论的数据中调整战略的吗?接着往下看。Sunshine公司要我们做的有两件大事:1)告诉他们销售策略;2)告知他们商品潜在的重要特性,好让商品变得更有营销力。公司给我们提供了一些数据集。数据集有三个,代表三类不同产品,类似如下形式:这些字段的含义如下:接着介绍了本次题目的一些要求,我们一起来学习一下:.

2021-01-25 20:33:23 13143 3

原创 将 LevelDB RocksDB 系统放置在内存(全内存架构)

在LevelDB中,你可以使用leveldb::NewMemEnv函数来创建一个新的InMemoryEnv实例,然后将这个实例作为你的数据库环境。在这个示例中,我们首先创建了一个新的InMemoryEnv实例,然后将这个实例设置为我们的数据库环境。这对于单元测试和性能分析是很有用的,使用memenv,就无需在单元测试中去做文件的创建和删除,同时性能分析中也可以去除磁盘的影响,可以方便地了解到各种操作在CPU方面的性能,同时也可以与磁盘文件做性能对比分析以了解IO方面的开销。1024程序员节,冒个泡…

2023-10-24 13:00:59 258

原创 边刷题边学GO

【代码】边刷题边学GO。

2023-05-03 17:06:18 134 1

原创 经典 Learned Index 结构设计及其应用

其整体的思想是保留了 B+树的内部节点(作为导航),把叶子节点替换成学习模型,不存储实际数据,而是存储学习模型的参数。更多的工作是在如何组织这些训练出来的线性模型下功夫,抑或是将已有结构稍作变化或不做变化,应用在某个场景下,在查询性能或存储开销取得了优良的性能。PGM 的基本节点单元使用 Linear Model,采用 Bottom-Up 的构建方式,上一层对下一层的代表数据(每个 Segment 的起始点)递归地使用线性回归来构建索引树,其插入采用了类似 LSM 层次合并的思想来设计。

2023-04-26 17:33:56 999

原创 来给博客除草了:Learned Indexes for a Google-scale Disk-based Database

论文研读:Google规模的基于磁盘的数据库的学习索引

2023-01-18 16:59:02 1101

原创 【已解决】windows接入路由LAN口后,无法通过mstsc 访问

由于实验室原来配置的主机无线信号太弱,遂换成TP-LINK无线路由器上网。在没有安装无线路由器之前,实验室主机有线接入校园网(以太网),可以通过172网段远程控制实验室主机(mstsc方式)安装路由器之后,我们知道,路由器有线接入到校园以太网,拥有一个172网段地址;而实验室主机接入到路由器LAN口,不再享有172网段,取而代之的是路由器下新局域网192网段的ip地址,这就导致mstsc无法远程连接。解决这个问题最常用有两种方法,请见TP-LINK参考文档:DMZ主机的使用设置如何映射服务器到外

2021-12-23 21:32:44 1357

原创 手写K-Means(K均值聚类的python实现)

K-Means聚类算法原理"""K-means impl, take square for example@Author: JiananYuan@Date: 2021/12/14"""import randomimport matplotlib.pyplot as pltimport numpy as npdef check_consistent(last_cluster, current_cluster): """ check whether last_cluster

2021-12-14 21:59:50 1276 1

原创 SIndex 论文笔记:A Scalable Learned Index for String Keys

SIndex: A Scalable Learned Index for String Keys——SIndex:一个针对字符串的可计量学习索引上海交通大学 并行和分布式系统组基于现在的学习索引研究聚焦在数字key 的查询,而不能对有效执行变长字符串索引,论文团队提出了SIndex,一种针对变长字符串的并发学习索引。技术的核心是字符串分组内使用共享前缀,并使用各个关键独特的部分进行模型训练。通过在现实世界和综合数据集上的评估,结果显示SIndex 可以比其他索引结构高出91% 的性能。随着变长字符

2021-10-15 23:05:06 665

原创 论文笔记:Designing Secure Indexes for Encrypted Databases

笔记状态: 规划中 已排期文章目录Designing Secure Indexes for Encrypted Databases—— 为加密数据库设计安全索引AbstractIntroductionRelated WorkThe Problem StatementThe Attacker ModelInformation LeakageUnauthorized ModificationStructure PerserverancePerformanceDiscretionary Access C

2021-10-11 16:53:00 276

原创 斐波那契数列 | 矩阵加速

AcWing上有这样的一道题,不会很难,但是我觉得来练习编码能力还是非常有意义!这道题深挖,可以挖掘出快速幂算法、模运算、面向对象基础、运算符重载,以及编码规范和鲁棒性的高层观点。这或许就是在实习之后的收获,现在编码更加关注鲁棒性、边界条件和可读性。以后刷题还是要搞起来!题目链接因为数据规模较大,因此普通的斐波那契算法根本无法在令人满意的时间内求算出答案。因此,可以利用矩阵快速幂来加速运算,这是因为有:参考代码(已有注释):/* * 矩阵快速幂 * Created by Jiananyuan

2021-09-05 21:23:02 188

原创 CS 九推复习 + 经验贴

关于YOLO关于SVM关于GoogLeNet关于OCRNet关于HRNet

2021-08-15 21:44:00 157

原创 2023届 秋招经验贴 知识贴汇总

本贴将持续更新至2024秋季,如有需要,请不定期关注。面经贴八股贴美团面试:如何保证缓存和数据库的一致性? https://mp.weixin.qq.com/s/GUuU5imUl9vhwEcPgBDAvw算法贴编程人生

2021-07-12 09:34:10 227

原创 计算机网络 检验和计算和检验

书上一直说,按二进制反码求这些16位字的和,取此和的二进制反码作为校验和。接收方按二进制反码求这些16位字的和,当无差错时结果应全为1,否则就是有差错出现,接收方应该丢弃这个数据报。你不觉得没实践一下,感觉这个“定理”十分空虚???下面是求校验和(还没取反之前)的程序:#include <iostream>using namespace std;int main() { char sum[18]; char a[18]; for (int i = 0; i

2021-07-01 17:47:28 1472 2

原创 操作系统38问

之前在三月份的时候,曾经推送过cxuan的《爆肝操作系统》一文(见本次推送的第二个链接),现在为了让OS持续加成,推出《操作系统必问38题》,掌握好这些题目,且能对一些要点做适度的挖掘,面试和笔试一般不成大问题。提升OS技术深度的硬核实践Linux 内核:https://github.com/torvalds/linuxHarmony OS 内核:https://github.com/Awesome-HarmonyOS/HarmonyOSMIT xv6 教学系统:https://github.

2021-06-29 15:42:13 335

原创 操作系统漫游

前言计算机操作系统是计算机科班的重中之重,一般本科科班对操作系统的认识停留在认识和理解上,要想独立设计一个OS可是凤毛麟角 Linux 但是既然是科班所学的操作系统,扎实理解操作系统算法和机制,对本科生来说也不容易了​。因此,本篇我们不仅以面试者的角度,也以专业408研究生入学考试的角度来对操作系统有个​宏观上的把握!文章目录进程管理黎明:OS发展历程进程的执行状态OS管理进程的数据结构——PCB进程同步进程同步经典问题进程死锁银行家算法进程调度评估进程调度内存管理文件管理设备管理计算机系统安全.

2021-06-24 23:10:31 246 1

原创 【计算机网络漫游】浏览器输入一个URL后发生了什么

浏览器输入一个URL之后发生了什么?这个问题一直是一个非常经典的问题,透过这个问题,我们可以从数据包的角度,自顶向下 (也可以自底向上) 地理解计算机网络各层发生的事情,同时也是一个面试的热点问题。但很多的回答都是从应用层和传输层的角度做一个浅显的回答,没有继续对下面的层次进行挖掘。但这篇文章将不仅局限于最上面的两层,而是会设涉及到每一层的传输细节。相信只要把这个问题理解思考透彻,对计算机网络的各层协议将会有一个更加深层次的理解。<p> 假设现在在局域网下,通过以太网线访问google服.

2021-06-22 23:38:37 208

原创 git rebase 实验

今天来聊一聊git 的 rebase操作,通常困惑人的是git的merge和rebase,两者都是合并,但如果从开发的代码合并效果和敏捷开发来看,rebase在某些情况下可能是更优的选择。本片讲解git 的rebase demo演示,理论知识另请参见附录链接。文章目录初始说明开发过程初始说明在git仓库上已经有如下的项目文件,初始时本地Master分支、本地Dev分支和远程Master分支、远程Dev分支,开始时都相同:开发过程为了方便,我们直接在Github上Master修改代码,模拟其他开发

2021-06-16 23:08:20 280

原创 《并行计算》求解线性方程组

文章目录三角形方程组的求解上三角方程组的求解三对角方程组的求解稠密线性方程组的求解有回代的高斯消去法无回代的高斯消去法稀疏线性方程组的求解雅可比迭代法高斯-赛德尔迭代法Appendix三角形方程组的求解上三角方程组的求解这个类型的方程组求解算是最简单的了!可以用时间复杂度为平方级的串行算法求解:看一下上面的串行算法,第2个循环(内层循环)是可以并行的,因此有如下线性级的并行算法:(将p个处理器行循环带状划分)三对角方程组的求解我们先约定一些符号:也就是系数矩阵一行最多的三个非零元素

2021-06-06 17:09:15 2325 2

原创 记一次Git冲突Demo演示

本次的实验演示使用码云,跟github一样的操作:https://gitee.com/不再使用冗长容易忘记的git命令,使用sourcetree 可视化工具:https://www.sourcetreeapp.com/文章目录新建远程仓库sourcetree拉取远程仓库到本地冲突实验推荐阅读新建远程仓库在gitee上正常流程创建就可以了sourcetree拉取远程仓库到本地点击克隆就可以下载到本地了,刚才在云上建立Master主分支,所以下载到本地的就是Master分支在进行下面的冲突演示之

2021-06-02 22:58:48 154

原创 《并行计算》稠密矩阵运算

文章目录矩阵的划分带状划分棋盘划分矩阵转置棋盘划分的矩阵转置网孔上的矩阵转置p=n2的情形p矩阵的划分带状划分矩阵划分可以按照行划分,也可以按照列划分;进一步的,上面这两种划分又有两种方式,一种是块带状划分,一种是循环带状划分棋盘划分块棋盘划分和循环棋盘划分的一个例子如下矩阵转置棋盘划分的矩阵转置网孔上的矩阵转置p=n2的情形p<n2的情形将矩阵划分成p个大小的子块,子块转置后子块内局部转置超立方上的矩阵转置带状划分的矩阵转置矩阵-向量乘法带状划分的矩阵-向量

2021-05-30 15:55:41 1946

原创 xv6操作系统 实验1小结

这几天做完了xv6 OS综合实验,心情果真轻松了不少,还是得小结一下,以便为一个月后的xv6 OS综合实验二做预备文章目录在xv6上构建简单的应用程序实现系统调用修改调度器时间片实现优先级调度实现信号量机制实现slab内核内存管理实现COW在xv6上构建简单的应用程序相当于在IDE上编写代码然后运行一样,xv6中代码能否运行跟引入头文件的顺序有关系,一般先引入types.h,这里定义了一些数据类型,如果没有先引入,则在此之前的头文件找不到数据类型,运行会出错,所以types.h是第一个引入的;stat

2021-05-26 11:11:49 1102

原创 xv6学习笔记

2021/5/23 0:54,mark这个时间以记录我还没写好的OS实验报告TATATAT主要是对xv6还没怎么学习,现在综合实验一上来就是要修改操作系统源码。天哪噜,QAQ,只能恶补文章目录调度调整时间片长度优先级调度信号量调度调整时间片长度要将原来N个tick才切换进程,变成M个tick才切换进程,tick属于进程数据,因此在PCB添加相关属性就行:分配PCB时要初始化一下:调度切换是在trap.c中完成的,原来1个tick后进程直接yield(让出CPU资源),现在要等到slot完全

2021-05-23 20:11:19 590

原创 Linux 笔记:初识伙伴系统 / Slab

做操作系统实验恰好遇到这两个需要了解的知识点,现在做下笔记。我们知道,在不断地申请、释放内存的过程中,会产生内存碎片,分为外部碎片和内部碎片。内部碎片指的是已经被分配出去(能明确指出属于哪个进程)的内存空间大于请求所需的内存空间,不能被利用的内存空间;而外部碎片指的是还没有分配出去(不属于任何进程),但是由于大小而无法分配给申请内存空间的新进程的内存空闲块。伙伴系统就是用来解决外部碎片,而Slab解决内部碎片。伙伴系统要达到的目标:用最小的内存空间来满足内核对内存的需求假设内存空间大小为1M,最小允许

2021-05-22 09:20:32 251

原创 《并行计算》分布存储系统并行编程

之前我们是讲了共享存储系统的并行编程,共享存储的一个最重要的点就是多进程(线程)在同时修改一个变量时的线程安全问题,而使用分布存储系统则一般不考虑这个问题,因为不是共享的,进程之间依靠通信进行交互。相较于基于共享存储的OpenMP编程,分布存储使用MPI标准进行编程。MPI全称是Message Passing Interface,用于开发基于消息传递的并行程序。配置MPI编程环境(基于Visual Studio)前往 https://www.microsoft.com/en-us/download/d

2021-05-14 21:59:51 373

原创 《Java高并发编程指南》 读书笔记 (实战篇)

第11章 秒杀系统设计分析

2021-05-11 11:43:31 82

原创 Spring Boot 学习笔记

一、Spring基础Spring框架主要提供了IoC容器、AOP、数据访问、WEB开发、消息、测试等相关技术的支持。每一个被Spring管理的Java对象都称为Bean,而Spring提供了一个IoC容器用来初始化对象,解决对象之间的依赖管理和使用。Spring框架本身有四大原则:使用POJO(Plain Old Java Object)进行轻量级和最小侵入式开发通过依赖注入和基于接口编程实现松耦合通过AOP和默认习惯进行声明式编程使用AOP和模板减少模式化代码依赖注入 (控制反转)指的是

2021-05-05 21:26:43 53

原创 《Java高并发编程指南》 读书笔记 (拓展篇)

占位

2021-05-05 20:55:40 180 1

原创 《Java高并发编程指南》 读书笔记 (进阶篇)

占位

2021-05-05 20:55:04 79

原创 《Java高并发编程指南》 读书笔记 (基础篇)

第一章 高并发概述高并发的基本背景对于互联网应用而言,需要能够支撑海量用户同时在线,以及高效、快速地处理用户高并发请求流量,保证应用系统在高并发场景中依然保持高性能和高可用。如果一个系统既存在高并发场景,又具备高并发的处理能力,则该系统属于高并发系统。三高:高性能、高可用、高并发高并发编程就是使用诸如多线程设计、缓存加速、异步处理、分布式系统架构、集群部署等技术来实现在高并发场景中,依然可以正确、快速地处理每一个用户请求。二并:并发与并行高并发的衡量指标响应时间:从请求发起到获得处理

2021-05-05 20:54:19 183 3

原创 《并行计算》 并行计算机系统互连与基本通信操作

并行计算机互连网络系统互连和网络拓扑看看一些网络架构和网络带宽的关系图,一般网络带宽越高,并行计算机的互连通信消耗的时间越少,当然还要综合考虑其他多方面因素!一般系统互连可采用静态网络互连或动态网络互连。他们有各自的特点!对静态网络来说:处理单元之间有着固定的连接在程序执行期间,这种点到点的连接保持不变典型的静态网络有:一维线性阵列、二维网孔、树连接、超立方网络、立方环、洗牌交换网、蝶形网络等对动态网络来说:用开关单元构成可按应用程序的要求动态地改变连接组态一般用到总线、交叉开

2021-04-29 22:06:45 3892 1

原创 《并行计算》 并行计算性能评测 并行模型与并行算法

呜~ 就隔了一段时间没看并行计算,发现作业贼难顶,不得不写篇博客来记录一下复习(预习)的内容。并行计算性能评测并行机的一些基本性能指标对并行计算机的性能关注点还是落在了CPU和存储器上,毕竟CPU和存储器决定了计算机处理问题速度的上限。在https://www.top500.org/收录了世界上前500台计算能力最强的计算机可以看到,超算top 5领域美国就居了3个,我国神威·太湖之光排名4,看看神威的详细配置:这么多核核内存orz… 不过好像处理器的频数并没有那么高,其实也就1.45G.

2021-04-29 15:55:00 3127

原创 中文期刊 note

paper note摘要:研究背景 - 所作研究的outline描述 - 创新点or亮点关键词:还是2+2的形式引言研究的时代背景 + 研究的难点/当前已有研究的局限/挑战/待攻克点的概述 + 自己的研究工作做了什么 + 自己的研究工作取得了怎样的效果相关研究 (related work)【note:包含了很多的引用在这里,这样论文显得有广度】前人的一些研究,这些研究有什么样的特点,他们取得了什么成果,又有什么局限性。自己的研究与前人的研究相比,有什么样的改进或创新研究主体

2021-04-27 16:56:27 209

原创 初探GO语言笔记

初探GO语言笔记关于GOGo(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go 被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。第一次接触GO之前,笔者已经有了C/C++/Java/Python等的编程经验,因此,在上手GO的基础语法时觉得没什么难度。推荐新入门GO的小伙伴可以联系一下上面几门语言最具特色的地方,开启一段GO的旅程!GO的安装和IDE安装这里都是傻瓜式安装,GO安装直接到官网上下载

2021-04-14 23:09:22 151

原创 《深入理解Java Web技术内幕》 -4 深入分析ClassLoader工作机制

ClassLoader作用:将Class加载到JVM中,并审查每个Class应该由谁加载,将Class字节码重新解析成JVM统一要求的对象格式ClassLoader类结构分析ClassLoader的等级加载机制:Bootstrap ClassLoader | ExtClassLoader | AppClassLoader加载Class文件的过程:找到 .class文件并把这个文件包含的字节码加载到内存中 => 字节码验证、Class类数据结构分析、相应的内存分配、符号表链接 => 类静态

2021-04-11 16:57:15 66

原创 《深入分析Java Web技术内幕》读书小记 -3 深入class文件结构 深入分析ClassLoader的工作机制

JVM指令集简介:认识一下与类相关的指令、方法的定义、属性的定义、栈操作相关、本地变量操作相关、运算相关、常量操作相关、控制指令相关、数据类型转换相关、同步操作相关、数组操作相关class文件头的表示形式:magic数、版本号常量池:UTF-8常量类型、Class常量类型类信息:包含了类的访问控制、名称和类型、以及是否有父类或是否实现了某些接口等描述信息Fields和Methods定义类属性描述...

2021-04-11 15:46:53 55

原创 《深入分析Java Web技术内幕》读书小记 -2 JVM体系结构与工作方式 JVM内存管理

JVM体系结构:JVM概述、JVM结构(类加载器、执行引擎、内存区[包含堆、栈、本地方法区、程序计数器、方法区]、本地方法调用)JVM工作机制:基于栈的架构、执行引擎的架构设计、以及JVM执行指令的一些例子物理内存和虚拟内存、内核空间和用户空间Java使用内存的组件:Java堆、线程、类和类加载器、NIO、JNIJVM内存结构:PC寄存器、Java栈、堆、方法区、本地方法区、运行时常量池JVM内存分配策略与JVM内存回收策略:垃圾检测、基于分代的垃圾收集算法...

2021-04-05 20:50:16 100 1

原创 malloc/free/new/delete 之区别

2021-04-05 12:00:16 60

原创 《深入分析Java Web技术内幕》读书小记1 - 深入分析Java I/O的工作机制

Java基于字节和字符的类库UML关系图磁盘IO的工作机制:标准访问文件、直接IO、同步访问文件、异步访问文件、内存映射Java反序列化技术Java Socket的通信机制NIO的工作方式:BIO的缺点、NIO的工作机制、IO调优:磁盘IO调优、TCP网络参数调优、网络IO优化Java IO中的适配器模式和装饰器模式...

2021-04-04 20:18:35 82

原创 几个值得思考的问题

能否在几分钟内介绍你自己,并达到一个良好的效果有哪些兴趣爱好、志趣、人生理想、职业规划评价自己过去的一些经历,例如大学生活、面试经历、实习经历、工作经历、项目经历、克服挫折等对自己的优缺点能否有清晰的认识对目前现状的思考最近自己的状态如何,如何调整能否对自己的学习方式做一个评价,有没有什么可以提高效率的学习方式自己能否对自己有一个清晰的定位如何突破自己目前的定位自己有没有独当一面的领袖气质...

2021-03-27 20:22:53 97

原创 并行计算2 共享存储系统并行编程

前面省去了基于共享变量的共享存储并行编程和POSIX线程,这两个在分布式系统中,应该是需要学习的点. 包括像面试时,分布式也有可能问到POSIX作用机制,还是应该留意一下. 这篇从OpenMP并行编程讲起.OpenMP概述历史1994年,第一个ANSI X3H5草案被否决1997年,OpenMP标准规范代替原先被否决的ANSI X3H51997年10月公布了与Fortran语言捆绑的第一个标准规范1998年11月9日公布了支持C和C++的标准规范2000年11月推出FORTRAN ver.

2021-03-25 17:05:03 541

空空如也

空空如也

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

TA关注的人

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