首页
学习
活动
专区
工具
TVP
发布

PDF标准详解(一)——PDF文档结构

好了,废话就到这里,下面开始正式介绍PDF相关的内容 PDF简介 PDF的全称是 Portable document format(可移植文档格式),是描述打印页面的世界领先语言。...PDF的文档结构 PDF主要由四个部分构成,文件头、文件体、交叉引用表以及文件尾 文件头将文件标识为PDF并给出它的版本号,例如 %PDF-1.0 % PDF 版本号为 1.0 的文件头 文件体是...,只单独解析某个对象,提高了解析效率 文件尾给出交叉引用表的位置并且以 %%EOF 作为结尾 PDF文件的逻辑结构 一个标准的PDF文档需要在文件体中包含下列元素对象: 根节点元素,类似于xml的根节点...Tj来定义,并且定义了字符采用F0 字体,也就是上面定义的Times-Italic字体 页面相关的内容我们已经定义完了,接着我们需要定义一些结构相关的对象,方便PDF解析器找到并解析页面内容。...0 最后我们以 %%EOF 结尾来表示整个PDF文档结束 到这里我们已经得到了一个PDF阅读器可以打开的PDF文档。

13210
您找到你想要的搜索结果了吗?
是的
没有找到

《数据结构算法分析:Java语言描述》.pdf

程序=数据结构+算法 这好比是软件工程师的“武林秘籍”。 数据结构指的是数据数据之间的逻辑关系;算法指的是解决特定问题的步骤和方法。...可以说数据结构是待处理问题的数学模型,算法则是处理问题的策略。 ? 作为软件工程师,除了要对现实问题有很好的理解把控外,还要深谙数据结构算法。...这样才能找到合适的数学模型算法,进而为后续工作的顺利进行打下坚实的基础。...最近很多小伙伴问我要一些 数据结构算法 相关的资料,于是我翻箱倒柜,找到了这本非常经典的电子书——《数据结构算法分析:Java语言描述》。...资料介绍 《数据结构算法分析:Java语言描述》是国外数据结构算法分析方面的经典教材。

1.6K50

Linux之文档目录结构

Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同。首先Linux没有“盘(C盘、D盘、E盘)”的概念。...在Linux底下,所有的文件目录都是由根目录开始,是目录文件的源头,然后一个个的分支下来,如同树枝状,因此称为这种目录配置为:目录树。 目录树的特点是什么呢?...绝对路径相对路径 Linux下特别注意文件名/路径的写法,可以将所谓的路径(path)定义为绝对路径(absolute)和相对路径(relative)。...这个...目录概念非常重要,平时经常会看到cd ..或者python ../home/oldboy/exam.py 就是代表进入上一层执行相对路径的python代码!...1.linux是以 / 开始的树状目录结构,tree查看 2.常用文件目录操作命令是ls,cd,mkdir,rmdir 3.Linux的PATH查看是 echo $PATH,可以修改/etc/profile

1.3K30

Elasticsearch 原理(上) -- 文档存储结构索引数据结构

作为一个优秀的分布式存储、搜索组件,了解 elasticsearch 的工作原理对于我们日常使用和技术提升都是非常有必要的。 本文,我们就抽丝剥茧,详细看看这个强大的分布式搜索引擎是如何工作的。...例如,mysql 通过多分支的 B+ 树索引,成功减少了磁盘 IO 次数,同时兼顾了范围查询等功能与写入性能,但因为 B+ 树作为多分支树,在其分支数量高度的限制下,当数据库容量增长到一定程度,随之造成的磁盘...同时,FST 是一种十分节省内存的树结构,后面有时间博主再单独发文章来介绍这个数据结构。...posting list 为 [1, 3, 4, 7, 10],那么可以按二进制位建立一个 bitset:[1, 0, 1, 1, 0, 0, 1, 0, 0, 1] 多个 bitset 只需要进行按位操作就可以得到最终的交集...后记 本文详细介绍了 Elasticsearch 借以实现极高的查询性能的底层文档存储结构索引结构。 那么,集群上多个 node。 之间是如何相互协同工作的呢?他们是如何实现数据的写入和读取的呢?

2.1K20

HBase的数据结构原理使用

二、HBase的数据结构 1、索引结构:LSM树 传统关系型数据普通索引采用B+树。...LSM树严格来说不是一个具体的数据结构,更多是一种数据结构的设计思想。LSM树不是一棵树,而是由至少两个存储结构构成。...读也是读内存里的 SSTable的索引,并且这里每一个SSTable索引如果用二分法查找,算法复杂度大致在O(lg(n))O(n)之间,因此随机读也不慢。...3、表结构 传统的关系型数据库类似,HBase也以表的形式组织数据,表也由行和列组成,不同的是,HBase采用列式存储。...参考文献: 胡争,范欣欣.HBase原理实践M.北京:机械工业出版社,2019 O’Neil, P., Cheng, E., Gawlick, D., & O’Neil, E. (1996).

1.9K00

Windows认证原理:域环境结构

用户依次登录就可以访问整个网络资源,集中地身份验证 可扩展性,既可以适用于几十台计算机的小规模网络,也可以用于跨国公司 域的原理 其实可以把域和工作组联系起来理解,在工作组上你一切的设置比如在本机上进行各种策略...信任关系是连接在域域之间的桥梁。...父域子域之间自动建立起了双向信任关系,域树内的父域子域之间不但可以按需要进行相互管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享管理,以及相互通信和数据传输。... fr.europe.abc.com 自动建立起了双向信任关系。...infrastructure master (结构主机角色) : 结构主机角色是域范围的角色,每个域一个。

2.1K11

ios 底层原理 : 类结构分析

类的分析 类的分析主要是分析 isa 的走向继承关系 准备 创建两个类 1.继承自 NSObject 的 LGPerson @interface LGPerson : NSObject {...有 isa 属性,所以对象都有一个 isa,isa 表示指向,来自于当前的 objc_object objc_object 是当前的根对象,所以所有的对象都拥有 isa 属性 objc_object 对象的关系...所有对象都是以 objc_object 为模板继承过来的 所有对象都来自于 NSObject,但是其底层是一个 objc_object 的结构体类型 所以 objc_object 对象的关系是继承关系...,上层 oc 底层的对接 下层是由结构体定义的模板 objc_class objc_object 上层是通过底层模板创建的一些类型,比如 LGPerson objc_object objc_class...property_list_t,是一个指针,所以通过p *$来取值,同时证明了bits里面存储了属性列表property_array_t 问题:探索成员变量的存储 由此可以得出,property_list中并没有成员变量,属性成员变量的区别就是有没有

57520

Linux系列(一):简介目录结构

1、Linux简介 1.1、起源 Linux出现于1991年,是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成 1.2、Linux特点 多用户,多任务,丰富的网络功能...2、Linux目录结构 bin (binaries)存放二进制可执行文件 boot 存放用于系统引导时使用的各种文件 dev (devices)用于存放设备文件 home 存放用户文件的根目录 mnt...vs Windows 目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。...主要区别如下 比较 Windows Linux 界面 界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同 图形界面风格依发布版不同而不同,可能互不兼容。...GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。 驱动程序 驱动程序丰富,版本更新频繁。

27740

「数据结构算法」数组、链表、跳表原理实现

「初」前言 在学习数据结构算法的过程中,感觉真的是一入算法深似海,但是越学越觉得有趣。...本期讲到了最常见的数据结构类型,分别有数组、链表、跳表。这一期我们一起来了解它们的原理实现。...链表的特性: 每一个元素有两个成员变量value值next指针(指向下一个元素); 每一个元素串在一起后数组是非常相似的结构数组不一样的就是每一个元素一般都要定义一个Class(类):一般都叫一个...链表删除结点 接下来我们一起来看看删除结点的原理,删除新增大致上是一样的,是 在需要把删除的结点的前一个node的next,改为删除结点的下一个node; 具体的实效效果看下图: 链表的删除操作只需要一次...「终」总结 数据结构: 数组:随机查询快 O(1),但是删除插入较慢 O(n); 链表:删除插入快 O(1),但是随机查询慢 O(n); 跳表:为了提高链表的随机查询而生的,随机查询能提升到 O(log

43730
领券