MySQL
MySQL的数据模型基于表存储的数据库叫做关系型数据库 SQLSQL通用语法 通用语法 SQL语句可以单行或多行书写,以分号结尾。 SQL语句可以使用空格/缩进来增强可读性(空格缩进数量不限) MySQL数据库的SQL语句不区分大小写,关键字建议使用大写 有多种注释 SQL语句的分类语句分类 DDL 查询 查询所有数据库 show databases; 查询当前数据库 select database(); 创建 create database 数据库名; 创建表: create table 表名 123456create table 表名(字段1 字段类型 comment '注释内容',字段2 字段类型 comment '注释内容',字段3 字段类型 comment '注释内容',字段n 字段类型 comment '注释内容' (注意最后一条注释没有逗号))comment '表注释'; varchar() 变长字符串 char()...
JavaLearn
从今天开始,cpp转java,其实语言不是最重要的,重要的是思想,就像小学拿铅笔写字,初高中用水性笔,大学用电容笔一样,但做的都是同一件事情,写字。 环境变量一开始就被环境变量上了一课,本博客使用hexo写的,我把D:\给删掉了,导致无法使用hexo指令,npm和node也找不到,添加完环境变量后就又能正常使用了。 基本语法类名要和文件名相同,如果创建了Main.java文件,里面的类就要写为public class Main,否则会报错 123456public class Main { public static void main(String[] args) { //打印helloworld System.out.println("Hello World"); }} 制表符可以在语句后面使用\n(字符串),但通用的语法是 +”\n” +”\t”,\t是制表符,补齐8个空格,让文本对齐 123456789101112131415public class Main...
cpp基础核心内容
三块核心内容进程虚拟地址空间区域划分有四区 代码区(.text) 存放程序的机器指令,通常是只读的 数据段(.data) 存放已初始化的全局变量和静态变量 BSS段 存放未初始化的全局变量和静态变量,操作系统在运行前会帮助自动初始化为0 堆栈区(Heap and Stack) 堆区:程序运行时动态分配的内存(new 和 malloc),由程序员管理 栈区:函数调用时使用的内存,存放局部变量和返回地址,由系统自动分配和释放 123456int main(){ int a = 12; int b = 0; int c;} 这三条是其实是汇编的mov指令,存放在.text区,而main函数调用的时候会在栈开辟空间。 函数调用堆栈详细过程程序编译链接原理预处理-编译-汇编-链接 预处理 处理#include 之类的,除了#pragma lib和#pragma link,这两个是在链接时处理。 编译 gcc / g++(gcc用来编译c语言,g++用来编译c++,其实就是dev中的F9,只不过现在换成命令行形式) ...
操作系统
操作系统介绍有三个主要部分:虚拟化(virtualization)、并发(concurrency)、持久性(persistence) 题目一、(共10分)操作系统的设计目标有哪些? 抽象性:对硬件资源进行抽象,提供统一接口,简化程序开发; 并发性:支持多个程序同时运行,提高系统吞吐; 虚拟化:如虚拟内存、虚拟 CPU,使用户感觉拥有独占资源; 资源管理与调度:高效分配 CPU、内存、磁盘等资源,提升资源利用率; 安全与保护:防止程序互相干扰,保护用户数据; 用户友好性:提供简洁易用的接口和良好的使用体验。 六、( 共 10 分)UNIX 系统采用了一种非常有趣的创建新进程的方式,即通过一对系统调用:fork()和 exec(),解释说明 fork()和 exec()的作用(5 分),以 UNIX 的 Shell 为例说明为什么设计这两个系统调用(5分)。 fork()创建一个和父进程几乎相同的子进程,除了PID等一些信息不同其它完全一样。 exec()用新的程序替换掉当前程序执行的内容,不改变其PID等信息。UNIX...
数据结构与算法
数组优点 下标访问的复杂度为O(1) 末尾位置增加删除元素时间复杂度为O(1) 删除就是–,增加就是++ 缺点 非末尾元素增加位置需要大量的数据移动 搜索的复杂度是O(n) 注意搜索和访问不是一个东西,搜索是遍历寻找这个值,而访问是a[0]–a[n-1],在无序数组中采用遍历,是线性搜索;在有序数组中采用二分,复杂度为O(logn) 链表优点 内存利用率高,不需要大块连续内存 插入和删除节点不需要移动其它节点,时间复杂度O(1) 不需要专门进行扩容操作 缺点 内存占用量大,每一个节点多出存放地址的空间 节点内存不连续,无法进行内存随机访问 链表搜索效率不高,只能从头节点开始逐节点遍历 内存碎片化现在我们有100M的内存空间(堆上),内存的释放是一块一块的,谁用完了谁就被释放了,如果将中间的20M和最右边的10M手动释放掉;我们就得到了两块内存碎片;现在我们有30M的空闲空间。如果现在进程运行需要25M的内存空间,我们能不能分配25M的数组呢?...
LeetCode
每日一题2025.3.30栈专题 1234567891011121314class Solution {public: string makeGood(string s) { string res; for (char c : s) { if (!res.empty() && abs(res.back() - c) == 32) { res.pop_back(); // 删除上一个相反大小写的字母 } else { res.push_back(c); } } return res;}}; 如果栈空,直接插入;如果栈非空,比较当前插入的字符和栈内的字符ascii码差值是否为32,32为大小写关系。 左右元素和的差值 123456789101112131415161718class Solution {public: ...
论文笔记
COFFEEc:cross-layer optimization for fast and efficient executions of the SK algorithm on HPC systems with clusters of compute nodes在有计算节点集群的HPC系统上快速高效执行SK算法。算法中:行、列都可以重新缩放,列缩放相较行缩放极其缓慢。在多节点上的性能比单节点提升最高7.5倍,平均2倍;与天河一号的MPI Allreduce算法比,最高2.9,平均1.6.SK算法:a simple but very useful iterative method to approach the double stochastic matrix of Sinkhorn’s theorem by alternately rescaling all rows and all columns of the given...
LearningHPC
Pytorch学习基础语法123from PIL import Imageimg_path = r"D:\PythonProject2\hymenoptera_data\hymenoptera_data\train\ants\0013035.jpg"img = Image.open(img_path) 这样就可以实现图片的打开。因为在python里面\t或者是\n是转义字符,直接加r表示这就是原始语义。 如果要读取一个文件夹里的许多图片,需要用到os库,然后使用列表的形式 123import osdir_path = r"D:\PythonProject2\hymenoptera_data\hymenoptera_data\train\ants"img_path_list = os.listdir(dir_path) 最后达到右边的效果
Network
Computer NetworkThe following content is about the basic knowledge of computer network. Breif introductionSuch as smartphone, tv, safe system, car and so on.All of this are called host or end system. The end system is linked by communication link(通信链路) and packet switch(分组交换机).Different communication links such as 电缆、光纤、无线电频谱 can spread the data with different speed. The transmission rate are measured by bit/s or bps.These message packet(信息包) are called packet(分组).The packet seems like...
计算机系统
汇编入门80386通用寄存器 %ax :accumulate 累加寄存器 %bx :base 基址寄存器 %cx :count 计数寄存器 %dx :divide 放除法的商和余数 %eax : extend 扩展 表示32位的寄存器%eax表示32位寄存器,%ax表示低16位,在低16位的寄存器中:%ah表示高八位,%al表示第八位 汇编指令1005.s 立即数寻址movl $8,%eax; $是立即数,表示8 movl是移动的意思,将8赋值给%eax;最终的运行结果如下 1006.s 寄存器寻址 movl 用于传送32位的长子值 movw 用于传送16位的子值 movb 用于传送8位的子值不能把movw的w改为l,因为%bx是16位的寄存器,如果改为l试图把32位的传给16位是错误的。可以写mov / movw命令为 movw $0x5678,%dx ; 意思是传16个字节(w)的数据到寄存器dx里,结果如我们所愿,如果用%dh/%dl便会报错,因为%dh/%dl是8位的寄存器;同样,也不能movw...