空间数据

msql 数据类型

烈酒焚心 提交于 2019-11-29 02:12:49
1.数据类型 #1. 数字: 整型:tinyinit int bigint 小数: float :在位数比较短的情况下不精准 double :在位数比较长的情况下不精准 0.000001230123123123 存成:0.000001230000 decimal:(如果用小数,则用推荐使用decimal) 精准 内部原理是以字符串形式去存 #2. 字符串: char(10):简单粗暴,浪费空间,存取速度快 root存成root000000 varchar:精准,节省空间,存取速度慢 sql优化:创建表时,定长的类型往前放,变长的往后放 比如性别 比如地址或描述信息 >255个字符,超了就把文件路径存放到数据库中。 比如图片,视频等找一个文件服务器,数据库中只存路径或url。 #3. 时间类型: 最常用:datetime #4. 枚举类型与集合类型! 2.数据类型    1、整数类型     整数类型:TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT     作用:存储年龄,等级,id,各种号码等 tinyint[(m)] [unsigned] [zerofill] 小整数,数据类型用于保存一些范围的整数数值范围: 有符号: -128 ~ 127 无符号: 0~ 255 PS: MySQL中无布尔值,使用tinyint(1)构造。 int[(m)]

关于arm 的字节对齐

[亡魂溺海] 提交于 2019-11-29 01:44:18
一.什么是 字节对齐 ,为什么要对齐?   现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。   对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐.其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)如果存放在偶地址开始的地方,那么一个读周期就可以读出这32bit,而如果存放在奇地址开始的地方,就需要2个读周期,并对两次读出的结果的高低字节进行拼凑才能得到该32bit数据。显然在读取效率上下降很多。 二.编译器是按照什么样的原则进行对齐的?   先让我们看四个重要的基本概念:   1.数据类型自身的对齐值:对于char型数据,其自身对齐值为1,对于short型为2,对于int,float,double类型,其自身对齐值为4,单位字节。   2.结构体的自身对齐值

Coding and Paper Letter(七十)

丶灬走出姿态 提交于 2019-11-29 01:04:41
资源整理。 1 Coding: 1.JupyterHub的流量模拟器。 hubtraf 2.前端面试手册。 front end interview handbook 3.Python学习课程。 learn python 4.从ArcGIS/ESRI格式中提取栅格数据。从Readme来看,似乎在寻求GDAL大佬加持共同构建程序。 ArcRasterRescue 5.OCP-Hack项目是为参加OCP HackFest的伙伴准备的动手实验指导,主要是帮助伙伴在Azure上快速了解和运用Azure IoT Services, Azure Cognitiver Services, Azure Machine Learning等。本项目会持续更新以方便伙伴学习到最新的Azure内容。 OCPOpenHack 6.PaddlePaddle (PArallel Distributed Deep LEarning) 是一个简单易用、高效灵活、可扩展的深度学习平台,最初由百度科学家和工程师共同开发,目的是将深度学习技术应用到百度的众多产品中。 Paddle 7.“通过逐步堆叠高效培训BERT”的源代码。 StackingBERT 8.纽约女子机器学习与数据科学scikit learn研讨会资源。 nyc 2019 scikit sprint 9.PySAL与Python数据栈的地理数据科学。

IBM的DB2数据库常用命令及查询

≡放荡痞女 提交于 2019-11-29 01:04:02
IBM的DB2数据库常用命令及查询 2017年04月16日 11:57:31 阅读数:3343 1、 打开命令行窗口   #db2cmd 2、 打开控制中心   #db2cmd db2cc 3、 打开命令编辑器  #db2cmd db2ce =====操作数据库命令===== 4、 启动数据库实例   #db2start 5、 停止数据库实例   #db2stop  如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了 /db2stop force 6、 创建数据库   #db2 create db [dbname] 7、 连接到数据库   #db2 connect to [dbname] user [username] using [password] 8、 断开数据库连接   #db2 connect reset 9、 列出所有数据库  #db2 list db directory 10、 列出所有激活的数据库   #db2 list active databases 11、 列出所有数据库配置   #db2 get db cfg 12、 删除数据库   #db2 drop database [dbname] (执行此操作要小心) 如果不能删除,断开所有数据库连接或者重启db2 =========操作数据表命令

二十一、进程管理之一基本概念

强颜欢笑 提交于 2019-11-29 00:05:54
硬件 调用、调用接口、库调用 线性内存地址空间、物理内存地址空间、线性地址、物理地址 交换内存:缺页异常 进程内存结构 常驻内存集、虚拟内存集 进程、进程元数据、结构体、任务结构体、链表 进程类型、状态(read,runing,sleep,stopped,zombie) 可中断睡眠、不可中断睡眠 创建子进程的过程 进程优先级、进程调度、进程队列 过期队列:抢占式多任务、系统调用IO IO模型、系统调用IO等待过程 进程间通信:IPC 硬件 编程接口 : syscall(系统调用) libcall(库调用) 硬件 库调用 : 用户空间发生(独立的模块或系统调用的二次封装) 系统调用 :内核空间发生,特权指令 **如果非内核将要运行特权指令,会发起软中断,CPU会通知内核,除非内核有漏洞,特权指令一定是由内核执行。 调用 :载入事先编写好的功能模块 模块 :由别人提供,调用此模块完成功能 调用接口 :得到模块的途径     例如:想要卖一双鞋(功能),到鞋店去买(提供功能的位置),鞋店的大门(调用接口)。 内核的功能   驱动硬件、用户及权限管理、网络管理、程序包管理、文件系统管理、进程管理、安全管理 网络管理 : ip,ifcfg,nmcli配置ip,route,dns。配置文件配置ip,dns,route,图形工具配置 文件系统管理 : 块组、bitmap,GDT,Supper

linux内存管理

大兔子大兔子 提交于 2019-11-28 22:44:20
在linux下,使用top,vmstat,free等命令查看系统或者进程的内存使用情况时,经常看到buff/cache memeory,swap,avail Mem等,他们都代表什么意思呢?这篇文章将来聊一聊Linux下的内存管理并解答这个问题。 讨论Linux下的内存管理其实就是讨论Linux下虚拟内存的实现方式,本人不是内核专家,所以这篇文章只会介绍一些概念性的东西,不会深入实现细节,有些地方描述的有可能不精确。 在早些时候,物理内存比较有限,人们希望程序可以使用的内存空间能超过实际物理内存,于是出现了虚拟内存的概念,不过随着时间的推移,虚拟内存的意义已经远远的超过了最初的想法。 1、虚拟内存 虚拟内存是Linux管理内存的一种技术。它使得每个应用程序都认为自己拥有独立且连续的可用的内存空间(一段连续完整的地址空间),而实际上,它通常是被映射到多个物理内存段,还有部分暂时存储在外部磁盘存储器上,在需要时再加载到内存中来。 每个进程所能使用的虚拟地址大小和CPU位数有关,在32位的系统上,虚拟地址空间大小是4G,在64位系统上,是2^64=?(算不过来了)。而实际的物理内存可能远远小于虚拟地址空间的大小。 虚拟地址和进程息息相关,不同进程里的同一个虚拟地址指向的物理地址不一定一样,所以离开进程谈虚拟地址没有任何意义。 注意 : 网上很多文章将虚拟内存等同于交换空间

操作系统

孤街醉人 提交于 2019-11-28 21:35:18
C的内存分配 32bitCPU可寻址4G线性空间, 每个进程都有各自独立的4G逻辑地址, 其中0~3G是用户态空间, 3~4G是内核空间, 不同进程相同的逻辑地址会映射到不同的物理地址中. 其逻辑地址其划分如下: 正文段(code segment/text segment, .text段): 或称代码段, 通常是用来存放程序执行代码的一块内存区域. 这部分区域的大小在程序运行前就已经确定, 并且内存区域通常属于只读, 某些架构也允许代码段为可写, 即允许修改程序. 在代码段中, 也有可能包含一些只读的常数变量, 例如字符串常量等 . CPU执行的机器指令部分. ( 存放函数体的二进制代码 . ) 只读数据段(RO data, .rodata):只读数据段是程序使用的一些不会被改变的数据, 使用这些数据的方式类似查表式的操作, 由于这些变量不需要修改, 因此只需放在只读存储器中. 已初始化读写数据段(data segment, .data段):通常是用来存放程序中已初始化的全局变量的一块内存区域. 数据段属于静态内存分配. 常量字符串就是放在这里的, 程序结束后由系统释放(rodata—read only data). 已初始化读写数据段(RW data, .data):已初始化数据是在程序中声明, 并且具有初值的变量, 这些变量需要占用存储器空间,

【转载】【分布式】一致性哈希算法

荒凉一梦 提交于 2019-11-28 20:39:26
本文转载自: https://www.cnblogs.com/lpfuture/p/5796398.html 如有侵权,请告知下线,多谢!! 0. 目的 分布式系统中节点根据哈希取值进行保存数据,当有节点新增或者节点下线,普通哈希算法会需要所有数据的哈希分布重新计算。而一致性哈希算法只需要重新计算下线的节点的数据即可。关键在于数据在环上,顺时针向最靠近的节点分布。 1. 一致性Hash性质 考虑到分布式系统每个节点都有可能失效,并且新的节点很可能动态的增加进来,如何保证当系统的节点数目发生变化时仍然能够对外提供良好的服务,这是值得考虑的,尤其实在设计分布式缓存系统时,如果某台服务器失效,对于整个系统来说如果不采用合适的算法来保证一致性,那么缓存于系统中的所有数据都可能会失效(即由于系统节点数目变少,客户端在请求某一对象时需要重新计算其hash值(通常与系统中的节点数目有关),由于hash值已经改变,所以很可能找不到保存该对象的服务器节点),因此一致性hash就显得至关重要,良好的分布式cahce系统中的一致性hash算法应该满足以下几个方面: 平衡性(Balance) 平衡性是指哈希的结果能够尽可能分布到所有的缓冲中去,这样可以使得所有的缓冲空间都得到利用。很多哈希算法都能够满足这一条件。 单调性(Monotonicity) 单调性是指如果已经有一些内容通过哈希分派到了相应的缓冲中

线程基础

﹥>﹥吖頭↗ 提交于 2019-11-28 17:33:45
摘要:在计算机发展早期,CPU的资源十分昂贵,如果一个CPU只能运行一个程序,那么当读写磁盘是CPU就只能处于空闲状态,造成了极大的浪费。从而有了 多道程序 的方式,即编译一个监控程序,当程序不需要使用CPU时,将其他在等待CPU的程序启动。该方式大大提高了CPU的利用率,但它的弊端是不分轻重缓急,有时候一个交互操作可能要等待数十分钟。 分时系统 :每个CPU运行一段时间后,就主动让出给其他CPU使用。Windows早期版本和Mac OS版本都是采用的这种分时系统来调度程序的。但是一旦有任何程序出现问题无法主动让出CPU给其它程序的话那么操作系统也没有办法,其它程序只能等待,造成死机假象。 多任务系统 :操作系统接管了所有的硬件资源,并且本身运行在一个受硬件保护的级别。所有的应用都以进程的方式运行在比操作系统更低的级别,每个进程都有自己独立的地址空间,使得进程之间的地址空间相互隔离。CPU由操作系统进行同一分配,每个进程根据进程优先级的高低都有机会获得CPU,但如果运行超过一定的时间,CPU会将资源分配给其他进程,这种CPU分配方式是抢占式,操作系统可以强制剥夺CPU资源并且分配给它认为目前最需要的进程。如果操作系统分配每个进程的时间很短,就会造成很多进程都在同时运行的假象,即所谓的宏观并行,微观串行。 什么是线程 线程(Thread),有时被称为轻量级进程(Lightweight

数据结构知识点汇总

♀尐吖头ヾ 提交于 2019-11-28 16:12:35
1、用链表表示线性表的优点是(便于插入和删除操作) 2、单链表中,增加头结点的目的是(方便运算的实现) 3、栈和队列的共同特点是(只允许在端点处插入和删除元素) 4、栈通常采用的两种存储结构是(线性存储结构和链表存储结构) 5、队列具有(先进先出)的特征,栈具有(后进先出)的特征。 6、链表(插入和删除不需要移动元素,但是无法随机访问任一元素) 7、循环链表的主要优点是(从表中任一结点出发都能访问到整个链表) 8、线性表(除了第一个和最后一个元素外,其余每个元素都有一个直接前驱和直接后继) 9、线性表的顺序存储结构和线性表的链式存储结构分别是(随机存取的存储结构、顺序存取的存储结构) 10、深度为5的满二叉树中,叶子结点的个数为(16)。 其共有(31)个结点。 设一棵完全二叉树共有699个结点。则该二叉树的叶子结点数为(350)个。 #完全二叉树总的结点数为N,若N为奇数,则叶子结点数为(N+1)/2;若N为偶数,则叶子结点数为N/2。 11、具有3个结点的二叉树有(5)种形态。 #高度为2层的是:根-左-右。高度为3层的是:根-左-左、根-左-右、根-右-右、根-右-左。 12、一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为(13)个。 #叶子结点数n0与度为2的结点数n2的关系是:n0=n2+1,所以度为2的结点个数为3-1=2。所以总的结点数为 n