空间数据

程序员需要了解的硬核知识之磁盘

亡梦爱人 提交于 2019-12-03 10:05:26
程序员需要了解的硬核知识之磁盘 https://www.cnblogs.com/cxuanBlog/p/11776310.html 此篇文章是 《程序员需要了解的硬核知识》系列第四篇,历史文章请戳 程序员需要了解的硬核知识之内存 程序员需要了解的硬核知识之CPU 程序员需要了解的硬核知识之二进制 我们大家知道,计算机的五大基础部件是 存储器 、 控制器 、 运算器 、 输入和输出设备 ,其中从存储功能的角度来看,可以把存储器分为 内存 和 磁盘 ,内存我们上面的文章已经介绍过了,那么此篇文章我们来介绍一下磁盘以及内存和磁盘的关系。 认识磁盘 首先,磁盘和内存都具有存储功能,它们都是存储设备。区别在于,内存是通过 电流 来实现存储;磁盘则是通过 磁记录技术 来实现存储。内存是一种高速,造假昂贵的存储设备;而磁盘则是速度较慢、造假低廉的存储设备;电脑断电后,内存中的数据会丢失,而磁盘中的数据可以长久保留。内存是属于 内部存储设备 ,硬盘是属于 外部存储设备 。一般在我们的计算机中,磁盘和内存是相互配合共同作业的。 一般内存指的就是主存(负责存储CPU中运行的程序和数据);早起的磁盘指的是软磁盘(soft disk,简称软盘),就是下面这个 (2000年的时候我曾经我姑姑家最早的计算机中见到过这个,当时还不知道这是啥,现在知道了。) 如今常用的磁盘是硬磁盘(hard disk,简称硬盘)

go map数据结构和源码详解

别说谁变了你拦得住时间么 提交于 2019-12-03 07:58:52
目录 1. 前言 2. go map的数据结构 2.1 核心结体体 2.2 数据结构图 3. go map的常用操作 3.1 创建 3.2 插入或更新 3.3 删除 3.4 查找 3.5 range迭代 3.5.1 初始化迭代器mapiterinit() 3.5.2 迭代过程mapiternext() 4. go map的扩容缩容 4.1 扩容缩容的基本原理 4.2 为什么叫“伪缩容”?如何实现“真缩容”? 5 Q&A关键知识点 5.1 基本原理 5.2 时间复杂度和空间复杂度分析 1. 前言 本文以go1.12.5版本分析,map相关的源码在runtime包的map开头的几个文件中,主要为map.go。 go的map底层实现方式是hash表(C++的map是红黑树实现,而C++ 11新增的unordered_map则与go的map类似,都是hash实现)。go map的数据被置入一个由桶组成的有序数组中,每个桶最多可以存放8个key/value对。key的hash值(32位)的低阶位用于在该数组中定位到桶,而高8位则用于在桶中区分key/value对。 go map的hash表中的基本单位是桶,每个桶最多存8个键值对,超了,则会链接到额外的溢出桶。所以go map是基本数据结构是hash数组+桶内的key-value数组+溢出的桶链表 当hash表超过阈值需要扩容增长时

OMAPL138的DSPLINK开发入门

故事扮演 提交于 2019-12-03 07:48:38
1 、 DSPLINK 介绍 1.1GPP 端 GPP(General Purpose Processor) 是指和 DSP 端通信的通用处理器,在本文特指 OMAPL138 平台的 ARM 端。 GPP OS :指通用处理器上的操作系统,本文特指 OMAPL138 平台 ARM 端 Linux 操作系统。 OS ADAPTATION LAYER : 指操作系统抽象层,包含了 DSPLINK 需要的一些通用的 OS 服务部件,提供了一套通用的 API 接口,与 OS 的其他组件隔离。其他组件通过 API 访问,而不直接访问 DSPLINK ,此特性使 DSPLINK 可以方便的被移植到不同操作系统中。 LINK DRIVER : 指连接驱动层,包含了基于 GPP 与 DSP 的物理连接的底层控制操作,负责 GPP 与 DSP 之间的数据传输和 DSP 的运行等操作。 PROCESSOR MANAGER : 指进程管理层,它维护一个针对所有模块的 Book-Keeping 信息,通过 API 给用户提供通过 LINKDRIVER 的控制操作。 DSP/BIOS TM LINK API : 指提供给 GPP 端的接口,是非常轻小型的组件, API 层可以认为是基于 PROCESSOR MANAGER 和 LINK DRIVER 之上的层。 1.2 DSP 端 DSP 端在本文特指

Audit(二)--清理Audit数据

五迷三道 提交于 2019-12-03 05:17:28
(一) 概述 Audit的数据主要存储在sys.aud$表中,该表默认位于system表空间中,我们根据需求,将该表移到了sysaux表空间中。由于审计数据量较大,需要经常关注sysaux表空间的使用情况,同时根据实际情况对sys.aud$表进行数据清理。 (二) 清理步骤 (1)使用sys账号登陆数据库,打开计时功能,方便查看每一个命令的执行时间 SQL> set timing on (2)在清理数据之前先查看数据量大小 SQL> select count(*) from sys.aud$; (3)查看Audit表中最早一笔数据的时间,即审计表中记录的最早的时间 SQL> select min(ntimestamp#) from sys.aud$; MIN(NTIMESTAMP#) ---------------------------------------- 23-11月-16 08.18.54.496893 上午 (4)查看审计数据最后归档时间,只有归档的数据才能删除 SQL> SELECT * FROM dba_audit_mgmt_last_arch_ts; AUDIT_TRAIL RAC_INSTANCE LAST_ARCHIVE_TS ----------- ------------ -------------------------------- STANDARD

可能是把 Java 内存区域讲的最清楚的一篇文章

一曲冷凌霜 提交于 2019-12-03 04:52:33
出处: 可能是把 Java 内存区域讲的最清楚的一篇文章 Java 内存区域详解 写在前面 (常见面试题) 基本问题 拓展问题 一 概述 二 运行时数据区域 2.1 程序计数器 2.2 Java 虚拟机栈 2.3 本地方法栈 2.4 堆 2.5 方法区 2.5.1 方法区和永久代的关系 2.5.2 常用参数 2.5.3 为什么要将永久代 (PermGen) 替换为元空间 (MetaSpace) 呢? 2.6 运行时常量池 2.7 直接内存 三 HotSpot 虚拟机对象探秘 3.1 对象的创建 Step1:类加载检查 Step2:分配内存 Step3:初始化零值 Step4:设置对象头 Step5:执行 init 方法 3.2 对象的内存布局 3.3 对象的访问定位 四 重点补充内容 4.1 String 类和常量池 4.2 String s1 = new String("abc");这句话创建了几个字符串对象? 4.3 8 种基本类型的包装类和常量池 参考 Java 内存区域详解 如果没有特殊说明,都是针对的是 HotSpot 虚拟机。 写在前面 (常见面试题) 基本问题 介绍下 Java 内存区域(运行时数据区) Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么) 对象的访问定位的两种方式(句柄和直接指针两种方式) 拓展问题 String 类和常量池

程序员需要了解的硬核知识之磁盘

狂风中的少年 提交于 2019-12-03 04:40:52
此篇文章是 《 程序员 需要了解的硬核知识》系列第四篇,历史文章请戳 程序员需要了解的硬核知识之内存 程序员需要了解的硬核知识之CPU 程序员需要了解的硬核知识之二进制 我们大家知道,计算机的五大基础部件是 存储器 、 控制器 、 运算器 、 输入和输出设备 ,其中从存储功能的角度来看,可以把存储器分为 内存 和 磁盘 ,内存我们上面的文章已经介绍过了,那么此篇文章我们来介绍一下磁盘以及内存和磁盘的关系。 认识磁盘 首先,磁盘和内存都具有存储功能,它们都是存储设备。区别在于,内存是通过 电流 来实现存储;磁盘则是通过 磁记录技术 来实现存储。内存是一种高速,造假昂贵的存储设备;而磁盘则是速度较慢、造假低廉的存储设备;电脑断电后,内存中的数据会丢失,而磁盘中的数据可以长久保留。内存是属于 内部存储设备 ,硬盘是属于 外部存储设备 。一般在我们的计算机中,磁盘和内存是相互配合共同作业的。 一般内存指的就是主存(负责存储CPU中运行的程序和数据);早起的磁盘指的是软磁盘(soft disk,简称软盘),就是下面这个 (2000年的时候我曾经我姑姑家最早的计算机中见到过这个,当时还不知道这是啥,现在知道了。) 如今常用的磁盘是硬磁盘(hard disk,简称硬盘),就是下面这个 程序不读入内存就无法运行 在了解磁盘前,还需要了解一下内存的运行机制是怎样的,我们的程序被保存在存储设备中

程序员需要了解的硬核知识之磁盘

 ̄綄美尐妖づ 提交于 2019-12-03 04:06:20
此篇文章是 《程序员需要了解的硬核知识》系列第四篇,历史文章请戳 程序员需要了解的硬核知识之内存 程序员需要了解的硬核知识之CPU 程序员需要了解的硬核知识之二进制 我们大家知道,计算机的五大基础部件是 存储器 、 控制器 、 运算器 、 输入和输出设备 ,其中从存储功能的角度来看,可以把存储器分为 内存 和 磁盘 ,内存我们上面的文章已经介绍过了,那么此篇文章我们来介绍一下磁盘以及内存和磁盘的关系。 认识磁盘 首先,磁盘和内存都具有存储功能,它们都是存储设备。区别在于,内存是通过 电流 来实现存储;磁盘则是通过 磁记录技术 来实现存储。内存是一种高速,造假昂贵的存储设备;而磁盘则是速度较慢、造假低廉的存储设备;电脑断电后,内存中的数据会丢失,而磁盘中的数据可以长久保留。内存是属于 内部存储设备 ,硬盘是属于 外部存储设备 。一般在我们的计算机中,磁盘和内存是相互配合共同作业的。 一般内存指的就是主存(负责存储CPU中运行的程序和数据);早起的磁盘指的是软磁盘(soft disk,简称软盘),就是下面这个 (2000年的时候我曾经我姑姑家最早的计算机中见到过这个,当时还不知道这是啥,现在知道了。) 如今常用的磁盘是硬磁盘(hard disk,简称硬盘),就是下面这个 程序不读入内存就无法运行 在了解磁盘前,还需要了解一下内存的运行机制是怎样的,我们的程序被保存在存储设备中,通过使用

深入学习Java核心 Java内存分配原理

你说的曾经没有我的故事 提交于 2019-12-03 03:51:17
JAVA 内存分配 与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介 绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域: ◆寄存器:我们在程序中无法控制 ◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 ◆堆:存放用new产生的数据 ◆静态域:存放在对象中用static定义的静态成员 ◆常量池:存放常量 ◆非RAM存储: 硬盘等永 久存储空间 Java内存分配中的栈 在函数中定义的一些基本类型的变量数据和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量 时,Java就在栈中 为这个变量分配内存空间,当该变量退出该作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 Java内存分配中的堆 堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。 在堆中产生了一个数组或对象后,还可以 在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量。 引用变量就相当于是 为数组或对象起的一个名称,以后就可以在程序中使用栈中的引用变量来 访问堆中的数组或对象

无法访问机械硬盘提示已用空间0字节的数据恢复办法

匿名 (未验证) 提交于 2019-12-03 00:40:02
已用空间0字节说明这个盘的文件系统结构损坏了。在平时如果数据不重要,那么可以直接格式化就能用了。但是有的时候里面的数据很重要,那么就必须先恢复出数据再格式化。具体恢复方法可以看正文了解(不格式化的恢复方法) 工具/软件:星空数据恢复软件 步骤1:先百度搜索并下载程序运行后,直接双击需要恢复的分区,然后解压再右击软件图标选择《以管理员身份运行》软件 步骤2:软件打开后,直接双击需要恢复数据的盘 步骤3:软件会很快将找出的资料,放到与要恢复盘卷标名相同的目录中 步骤4:将想要恢复的数据打钩,右击选择《复制勾选的文件》,程序会将打钩的文件拷贝出来。 步骤5:等软件将数据拷贝完毕就完成了 。 注意事项1:想要恢复机械硬盘已用空间0字节需要注意,一定要先恢复数据再格式化。 注意事项2:已用空间0字节恢复出来的数据需要暂时保存到其它盘里。 原文:http://blog.51cto.com/13244658/2137335

地理空间数据云 Landsat 8 OLI_TIRS 影像数据下载详解

匿名 (未验证) 提交于 2019-12-03 00:39:02
  2013年2月11号,NASA 成功发射了 Landsat 8 卫星,Landsat 8 上携带有两个主要载荷:OLI 和 TIRS 。其中 OLI(全称:Operational Land Imager ,陆地成像仪)由卡罗拉多州的鲍尔航天技术公司研制;TIRS(全称:Thermal Infrared Sensor,热红外传感器),由 NASA 的戈达德太空飞行中心研制。 OLI 陆地成像仪包括 9 个波段,空间分辨率为 30 米,其中包括一个 15 米的全色波段,成像宽幅为 185 x 185 km。 具体的 Landsat 8 波段等相关信息这里就不进行详细的介绍了,百度百科( landsat8 地理空间数据云 美国地质勘探局官网 (USGS)获取。接下来就让我们步入正题:   4、在这里我就那阜阳市为例,进项遥感影像下载。在【高级搜索】弹窗中,我们需要对所下载的影像进行搜索,点击【数据集】,在弹出的小窗口中选择需要下载的卫星产品,在这里我选择Landsat 8 OLI_TIRS 卫星数字产品,选择好后点击【确定】;然后在【行政区】中选择所要下载影像所在的地区,选择好后地图会自动选择好地区;在【时间范围】中选择所要下载的影像时间(也可不选);点击【搜索】后,在地图中会显示所有含有这个行政区范围的影像,如图所示:   5、点击行政区上面所要下载的缩略图