04 2019 档案

摘要:阅读是信息(要素与结构)提取与重构的过程。 每一次成功的阅读都是一次创造的过程。 阅读全文
posted @ 2019-04-30 11:46 zzfx 阅读(347) 评论(0) 推荐(0) 编辑
摘要:学习一门新的语言和平台相当于学习一个新的世界观 阅读全文
posted @ 2019-04-29 17:23 zzfx 阅读(250) 评论(0) 推荐(0) 编辑
摘要:并发的结构(模型)由控制结构确定 阅读全文
posted @ 2019-04-27 11:16 zzfx 阅读(108) 评论(0) 推荐(0) 编辑
摘要:并发编程的方法论:结构与秩序。 结构即并发模式; 秩序即并发控制; 并发编程的核心问题是由并行随机性导致的复杂性。 阅读全文
posted @ 2019-04-26 18:54 zzfx 阅读(144) 评论(0) 推荐(0) 编辑
摘要:并发编程的整体目标和需求决定了并发编程的模型; 业务决定架构; 并发的结构(架构)是并发编程的组织形式,体现了并发功能的整体目标; 目标、结构、策略、工具 阅读全文
posted @ 2019-04-26 15:17 zzfx 阅读(109) 评论(0) 推荐(0) 编辑
摘要:机器学习 学习的本质:抽象与模型化 You train a model to recognize patterns by showing it representative samples. For example, you can train a model to recognize dogs b 阅读全文
posted @ 2019-04-26 11:39 zzfx 阅读(524) 评论(0) 推荐(0) 编辑
摘要:并发编程领域可以抽象成三个核心问题:分工、同步和互斥。 https://blog.csdn.net/cpongo3/article/details/89026244 是整体、部分与资源的问题; 把并发编程抽象一层,你会发现当你写一个并发程序的时候,干的就是三件事: 分工:考虑的事把一个任务拆解成多少 阅读全文
posted @ 2019-04-25 11:44 zzfx 阅读(244) 评论(0) 推荐(0) 编辑
摘要:优化线程创建开销; 优化cpu调度; 阅读全文
posted @ 2019-04-24 21:30 zzfx 阅读(299) 评论(0) 推荐(0) 编辑
摘要:任务管理; 资源管理; 协调管理(状态管理); 阅读全文
posted @ 2019-04-23 20:48 zzfx 阅读(115) 评论(0) 推荐(0) 编辑
摘要:你已经阅读过 Realm 关于线程的基础知识。你已经知道了在处理多线程的时候你不需要关心太多东西了,因为强大的 Realm 会帮你处理好这些,但是你还是很想知道更多细节…… 你想知道在 Realm 的引擎盖下它到底是怎么工作的。你想学习些相关的理论、机制和背后的原因。好吧,你来到正确的地方了。 我们 阅读全文
posted @ 2019-04-22 15:46 zzfx 阅读(1409) 评论(0) 推荐(0) 编辑
摘要:为了设计一个比较好的磁盘缓存,我调查了大量的开源库,包括 TMDiskCache、PINDiskCache、SDWebImage、FastImageCache 等,也调查了一些闭源的实现,包括 NSURLCache、Facebook 的 FBDiskCache 等。他们的实现技术大致分为三类:基于文 阅读全文
posted @ 2019-04-22 15:09 zzfx 阅读(960) 评论(0) 推荐(0) 编辑
摘要:In computer science, concurrency refers to the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or 阅读全文
posted @ 2019-04-21 10:47 zzfx 阅读(188) 评论(0) 推荐(0) 编辑
摘要:程序是类型的证明。 计算机程序是建立在计算机硬件和一系列规则、协议、规范、算法基础之上的; 程序是建立在逻辑和严格证明基础之上的; 逻辑学的基本要素是:概念、判断、推理; 类型系统相当于逻辑和科学中的概念,在此基础上才能进行运算和推理; 编程语言不过是建立了类型系统和在类型系统基础上的一些列运算法则 阅读全文
posted @ 2019-04-20 11:27 zzfx 阅读(347) 评论(0) 推荐(0) 编辑
摘要:进程和操作系统的通信通过系统调用完成。 进程通过操作系统访问系统的各种资源。 阅读全文
posted @ 2019-04-19 21:22 zzfx 阅读(493) 评论(0) 推荐(0) 编辑
摘要:系统调用的根本目的是保护操作系统所维护的共享资源; 系统调用 程序运行的时候,本身是没有权限访问多少系统资源的。系统资源有限,如果操作系统不进行控制,那么各个程序难免会产生冲突。线程操作系统都将可能产生冲突的系统资源保护起来,阻止程序直接访问。比如文件、网络、IO、各种设备等。 比如无论在Windo 阅读全文
posted @ 2019-04-19 19:33 zzfx 阅读(320) 评论(0) 推荐(0) 编辑
摘要:文件是数据的流式IO抽象,mmap是对文件的块式IO抽象 阅读全文
posted @ 2019-04-19 18:07 zzfx 阅读(270) 评论(0) 推荐(0) 编辑
摘要:总结: 1、内存与文件、设备; 2、文件支持的映射; 3、定时刷新与强制刷新; 4、内存共享与声明周期; mmap In computing, mmap(2) is a POSIX-compliant Unix system call that maps files or devices into 阅读全文
posted @ 2019-04-19 18:05 zzfx 阅读(467) 评论(0) 推荐(0) 编辑
摘要:There are use cases where data need to be read from source to a sink without modification. In code this might look quite simple: for example in Java, 阅读全文
posted @ 2019-04-19 17:31 zzfx 阅读(318) 评论(0) 推荐(0) 编辑
摘要:结构化阅读:概括总结,弄清楚文章在讲什么; 构建式阅读:讲文章讲的东西作为一个系统来看待,以系统构建的方式来阅读; 推演式阅读:讲文章所讲的理论体系和逻辑推理在阅读的同时进行推演; 研究式阅读:主干、存疑、分支、回归主干;一个中心、旁征博引; 阅读全文
posted @ 2019-04-19 15:29 zzfx 阅读(1416) 评论(0) 推荐(0) 编辑
摘要:被动学习:老师把学生当机器,不停的摇动动力轮子,推动学生复印知识; 主动学习:学生自己产生动力,不停从外部获取知识,独立思考,独立构建。 消息接收—感性认识—尝试理解—痛苦 理性分析—知性认识—尝试归结—痛苦 理性理解—理性认识。 每一步都需要艰苦的努力; 学习是一件艰苦的事情; 是感性与理性的对抗 阅读全文
posted @ 2019-04-19 15:27 zzfx 阅读(2373) 评论(0) 推荐(1) 编辑
摘要:文章赏析是判断力的一部分 好的文章:树根是树根,主干是主干,枝条是枝条,叶子是叶子结构良好。 《学以致用、用以促学、学用相长》 http://www.chinainc.org.cn/show-343-488951-1.html 中心明确、结构良好,逻辑中上(中心与内聚)--有用 阅读全文
posted @ 2019-04-19 11:52 zzfx 阅读(228) 评论(0) 推荐(0) 编辑
摘要:为了设计一个比较好的磁盘缓存,我调查了大量的开源库,包括 TMDiskCache、PINDiskCache、SDWebImage、FastImageCache 等,也调查了一些闭源的实现,包括 NSURLCache、Facebook 的 FBDiskCache 等。他们的实现技术大致分为三类:基于文 阅读全文
posted @ 2019-04-18 20:02 zzfx 阅读(622) 评论(0) 推荐(0) 编辑
摘要:前言 在Objective-c的世界中,一切对象都是指针。它是一种运行时语言,具体指针的对象类型将会在运行时,由系统分配。这样虽然自由,但是却并不安全。 Swift世界就不一样了,Swift的世界很安全(至少大部分时候情况如此)。我们不必为对象运行时的类型担忧,这是Swift为我们构筑的一层堡垒。但 阅读全文
posted @ 2019-04-18 15:13 zzfx 阅读(368) 评论(0) 推荐(0) 编辑
摘要:BEGIN TRANSACTION BEGIN TRANSACTION begin-stmt: hide commit-stmt: hide rollback-stmt: hide No changes can be made to the database except within a tran 阅读全文
posted @ 2019-04-17 18:03 zzfx 阅读(2812) 评论(0) 推荐(0) 编辑
摘要:一、概述: 在SQLite中,锁和并发控制机制都是由pager_module模块负责处理的,如ACID(Atomic, Consistent, Isolated, and Durable)。在含有数据修改的事务中,该模块将确保或者所有的数据修改全部提交,或者全部回滚。与此同时,该模块还提供了一些磁盘 阅读全文
posted @ 2019-04-17 17:19 zzfx 阅读(427) 评论(0) 推荐(1) 编辑
摘要:原子性:由于操作失败导致的数据碎片错误; 一致性:由于并发导致的数据库数据错误(与预期不一致); 隔离性:由于并发导致的当前使用数据(应用端)错误; 事务在当今的企业系统无处不在,即使在高并发环境下也可以提供数据的完整性。一个事务是一个只包含所有读/写操作成功的集合。如下图: 一个事务本质上有四个特 阅读全文
posted @ 2019-04-17 15:20 zzfx 阅读(319) 评论(0) 推荐(0) 编辑
摘要:存疑: sqlite3_prepare 应该是语言解析模块的功能,而不是pager模块的功能 https://www.cnblogs.com/feng9exe/p/10712154.html 一、 是否支持多线程? SQLite官网上的“Is SQLite threadsafe?”这个问答。 简单来 阅读全文
posted @ 2019-04-17 14:51 zzfx 阅读(1605) 评论(0) 推荐(0) 编辑
摘要:任何理论,如果没有可以落地的具体方法,那也就是理论而已。 方法是理论与实践之间的桥梁,是可落地的操作步骤 方法论是方法的理论华、抽象化、普遍化。 方法与迷宫 与手段的区别 方法和手段是人们成功办事,或管理者实现管理目的的不可缺少的中介要素。由于二者在办事过程中所起的作用基本相同,因而人们常常把它们混 阅读全文
posted @ 2019-04-16 16:42 zzfx 阅读(611) 评论(0) 推荐(0) 编辑
摘要:1、认知工具的高度抽象化(科学、数学); 2、认识对象的复杂性和抽象化; 阅读全文
posted @ 2019-04-16 16:33 zzfx 阅读(307) 评论(0) 推荐(0) 编辑
摘要:1、丢失目标; 思考的定位理论和目标理论没有执行; 2、盲人摸象: 因为一开始并没有形成整体观念; 3、链条太长; 4、复杂; 5、工具丢失; 6、思考模式出问题 阅读全文
posted @ 2019-04-16 16:27 zzfx 阅读(358) 评论(0) 推荐(0) 编辑
摘要:Introduction This document describes the architecture of the SQLite library. The information here is useful to those who want to understand or modify 阅读全文
posted @ 2019-04-15 18:18 zzfx 阅读(175) 评论(0) 推荐(0) 编辑
摘要:该系列的前面一些文章我重点讲了sqlite的核心功能,比如封锁机制,共享缓存,以及事务管理等。但对于sqlite的整体没有作一个全面的介绍,本文将从实现的层面,整体介绍sqlite的框架、各个核心模块以及功能。后续再针对核心模块作进一步的分析。我们说sqlite是一个关系型的嵌入式数据库。提到关系型 阅读全文
posted @ 2019-04-12 19:13 zzfx 阅读(461) 评论(0) 推荐(0) 编辑
摘要:概述 通过上一篇文章的分析,我们知道了pager模块在整个sqlite中所处的位置。它是sqlite的核心模块,充当了多种重要角色。作为一个事务管理器,它通过并发控制和故障恢复实现事务的ACID特性,负责事务的原子提交和回滚;作为一个页管理器,它处理从文件中读写数据页,并执行文件空间管理工作;作为日 阅读全文
posted @ 2019-04-12 19:12 zzfx 阅读(350) 评论(0) 推荐(0) 编辑
摘要:在数据库的锁机制中介绍过,数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。 乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。 无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种 阅读全文
posted @ 2019-04-12 18:41 zzfx 阅读(223) 评论(0) 推荐(0) 编辑
摘要:In information technology and computer science, especially in the fields of computer programming, operating systems, multiprocessors, and databases, c 阅读全文
posted @ 2019-04-12 18:32 zzfx 阅读(1100) 评论(0) 推荐(0) 编辑
摘要:并发控制 在计算机科学,特别是程序设计、操作系统、多处理机和数据库等领域,并发控制(Concurrency control)是确保及时纠正由并发操作导致的错误的一种机制。 数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一 阅读全文
posted @ 2019-04-12 18:24 zzfx 阅读(369) 评论(0) 推荐(0) 编辑
摘要:volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。下面举例说明。在D 阅读全文
posted @ 2019-04-12 18:03 zzfx 阅读(118) 评论(0) 推荐(0) 编辑
摘要:1. Summary The following two objects and eight methods comprise the essential elements of the SQLite interface: sqlite3 → The database connection obje 阅读全文
posted @ 2019-04-12 16:34 zzfx 阅读(182) 评论(0) 推荐(0) 编辑
摘要:http://huili.github.io/B-treeImplementation/hierarchicalorganization.html SQLite中的B-tree SQLite中每个数据库完全存储在单个磁盘文件中,因为B树进行数据的查找、删除、添加速度快,所以这些数据以B树数据结构的形 阅读全文
posted @ 2019-04-12 16:17 zzfx 阅读(915) 评论(0) 推荐(0) 编辑
摘要:MongoDB如何存储数据 https://blog.csdn.net/ZH01234565/article/details/82886897 oracle数据库存储结构 https://blog.csdn.net/lierming__/article/details/79007340 http:/ 阅读全文
posted @ 2019-04-12 16:02 zzfx 阅读(274) 评论(0) 推荐(0) 编辑
摘要:(1)编译阶段 这几种模式可以通过参数SQLITE_THREADSAFE在编译阶段指定,可以取值0,1,2,默认是1。这三种取值的含义如下: 0:单线程模式,即内部不做mutex保护,多线程运行sqlite不安全。 1:多线程的串行模式,sqlite帮助多线程实现串行化。 2:多线程的并发模式,要求 阅读全文
posted @ 2019-04-12 16:01 zzfx 阅读(4303) 评论(0) 推荐(0) 编辑
摘要:通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context)。这个上下文是一段位于服务器端的内存:记录了本次连接的所有相关状态和运行数据. 连接(Connection):连接是从客户端到ORACLE实例的一条物理路径。连接可以在网络上建立,或者在本机通过IPC机 阅读全文
posted @ 2019-04-12 11:41 zzfx 阅读(774) 评论(0) 推荐(0) 编辑
摘要:在今天的商业应用中,主要有两种基本类型的DBMS(数据库管理系统)存储管理器: (1)DBMS直接与底层的面向磁盘的块模式设备驱动程序进行交互(通常称为原始模式访问); (2)DBMS使用标准的OS文件系统设施.这个决定会在空间和时间上同时影响DBMS控制存储能力. SQLite文件存储管理主要由B 阅读全文
posted @ 2019-04-12 11:18 zzfx 阅读(972) 评论(0) 推荐(0) 编辑
摘要:数据库Schema有两种含义,一种是概念上的Schema,指的是一组DDL语句集,该语句集完整地描述了数据库的结构。还有一种是物理上的Schema,指的是数据库中的一个名字空间,它包含一组表、视图和存储过程等命名对象。物理Schema可以通过标准SQL语句来创建、更新和修改。例如以下SQL语句创建了 阅读全文
posted @ 2019-04-12 11:12 zzfx 阅读(4909) 评论(0) 推荐(0) 编辑
摘要:简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。它的设计目标是嵌入式的,目前Android和iOS的设备内置的都是SQLite数据库。SQLite虽然娇小,但也支持事务和多数的SQL92标准。 主要特点 Zero-Configuration 无需安装和管理配置。 Ser 阅读全文
posted @ 2019-04-11 19:38 zzfx 阅读(785) 评论(0) 推荐(0) 编辑
摘要:original SQL text <sqlite3_prepare_v2> >sqlite3_stmt--<sqlite3_reset>-->clear sqlite3_stmt --<sqlite3_bind_*(stmt,1,*)>--> configed sqlite3_stmt --<sq 阅读全文
posted @ 2019-04-10 18:44 zzfx 阅读(4651) 评论(0) 推荐(0) 编辑
摘要:最近项目中涉及到sqlite并发读写的问题,参考一些文档并结合自己的实践,对sqlite3并发问题总结了几点: sqlite3的锁及事务类型 sqlite3总共有三种事务类型:BEGIN [DEFERRED /IMMEDIATE / EXCLUSIVE] TRANSCATION,五种锁,按锁的级别依 阅读全文
posted @ 2019-04-10 18:09 zzfx 阅读(1762) 评论(0) 推荐(0) 编辑
摘要:提到锁就不得不说到死锁的问题,而SQLite也可能出现死锁。下面举个例子:连接1:BEGIN (UNLOCKED)连接1:SELECT ... (SHARED)连接1:INSERT ... (RESERVED)连接2:BEGIN (UNLOCKED)连接2:SELECT ... (SHARED)连接 阅读全文
posted @ 2019-04-10 17:39 zzfx 阅读(2615) 评论(0) 推荐(1) 编辑
摘要:本篇主要从SQLite事务执行的原理中寻找如何更高效地使用它。 本篇预备知识 我们先来了解下SQLite执行事务的基本流程,状态变化过程,再分析怎么使用才更优。SQLite定义的锁的状态有如下几种: UNLOCK:最初始状态,没有任何锁在数据库上; SHARED:共享状态,允许读取数据,但是不能写入 阅读全文
posted @ 2019-04-10 17:11 zzfx 阅读(777) 评论(0) 推荐(1) 编辑
摘要:体系结构 在内部,SQLite由以下几个组件组成:内核、SQL编译器、后端以及附件。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展SQLite的内核变得更加方便。所有SQL语句都被编译成易读的、可以在SQLite虚拟机中执行的程序集。SQLite支持大小高达2 TB的数据 阅读全文
posted @ 2019-04-10 16:58 zzfx 阅读(1871) 评论(0) 推荐(1) 编辑
摘要:SQLite 与线程 SQLite 是线程安全的。 线程模型 SQLite 支持如下三种线程模型 单线程模型 这种模型下,所有互斥锁都被禁用,同一时间只能由一个线程访问。 多线程模型 这种模型下,一个连接在同一时间内只有一个线程使用就是安全的。 串行模型 开启所有锁,可以随意访问。 设置线程模型 S 阅读全文
posted @ 2019-04-10 11:52 zzfx 阅读(9235) 评论(0) 推荐(0) 编辑
摘要:这个学科的世界观中有什么? 运行规律是什么? 建立的体系是什么 系统学习的重要性:系统学习是建立一个完整的学科世界观; 阅读全文
posted @ 2019-04-09 22:17 zzfx 阅读(280) 评论(0) 推荐(0) 编辑
摘要:3. 单文件提交 我们首先概要说明SQLite在单个数据库文件上为了执行事务的原子提交而采取的步骤.在后面的部分将讨论如何设计文件格式以保护其在断电故障中损坏,以及原子提交在多个数据库上的执行. 3.1. Initial State 数据库连接首次打开的时候, 计算机的状态如下图所示.图中最右边标记 阅读全文
posted @ 2019-04-09 19:32 zzfx 阅读(462) 评论(0) 推荐(1) 编辑
摘要:一、什么是WAL? WAL的全称是Write Ahead Logging,它是很多数据库中用于实现原子事务的一种机制,SQLite在3.7.0版本引入了该特性。 二、WAL如何工作? 在引入WAL机制之前,SQLite使用rollback journal机制实现原子事务。 rollback jour 阅读全文
posted @ 2019-04-09 18:25 zzfx 阅读(2576) 评论(0) 推荐(1) 编辑
摘要:锁机制 SQLite基于锁来实现并发控制。SQLite的锁是粗粒度的,并不拥有PostgreSQL那样细粒度的行锁,这也使得SQLite较为轻量级。当一个连接要写数据库时,所有其它的连接都被锁住,直到写连接结束它的事务。 SQLite的数据库连接有5种状态: SQL使用锁逐步提升机制,上面的表格从上 阅读全文
posted @ 2019-04-09 16:13 zzfx 阅读(1322) 评论(0) 推荐(2) 编辑
摘要:万物之始,大道至简,衍化至繁 阅读全文
posted @ 2019-04-07 22:32 zzfx 阅读(857) 评论(0) 推荐(0) 编辑
摘要:数据库管理系统的基本要素: 数据结构与算法; 语言; 关系代数; 并发模型; 阅读全文
posted @ 2019-04-07 22:25 zzfx 阅读(451) 评论(0) 推荐(0) 编辑
摘要:大脑是工具箱,知识是工具; 知识是先辈验证过的好用的工具; 学习就是复制先辈工具的过程; 工具的使用要因地制宜、理论联系实际; 知识是工具;工具是手段;工具的管理与使用;工具要落地;工具要改造定制; 听惯了“知识改变命运”,其实这是个省略句。原句应该是“用知识改变命运”,这里的知识是被用的,其实指的 阅读全文
posted @ 2019-04-07 18:37 zzfx 阅读(1457) 评论(0) 推荐(0) 编辑
摘要:反射与内省: 类型系统的特征: 反射用于获取类型信息; 内省用语运行时类型检查; 阅读全文
posted @ 2019-04-05 11:14 zzfx 阅读(204) 评论(0) 推荐(0) 编辑
摘要:定位理论第一能够将思考对象的边界明晰 第二讲思考对象投射到相应领域的世界观上; 从而用相应领域的世界观、方法论来理解、还原、内化相关概念; 定位理论是思考之前的思考; 根据思考对象的不同层次和侧面,将对象定位到不同的域,从而进行全面的研究; 定位理论是全面思考的基础; 世界观: 世界观是认识对象投射 阅读全文
posted @ 2019-04-04 15:19 zzfx 阅读(961) 评论(0) 推荐(0) 编辑
摘要:数据库的未来:ORM+LINQ+RX 数据 操作 异步 ORM LINQ RX 阅读全文
posted @ 2019-04-04 12:39 zzfx 阅读(232) 评论(0) 推荐(0) 编辑
摘要:数据库最基础的并发控制是事务模型; 事务模型的锁会形成排队机制; 一、事务 事务:将多个操作打包(成单一体)进行执行的控制技术; 事务:将多个操作原子化执行的技术; 事务(Transaction:一个程序执行单元(unit)。 事务由事务开始(begin transaction)和事务结束(end 阅读全文
posted @ 2019-04-03 11:55 zzfx 阅读(604) 评论(0) 推荐(0) 编辑
摘要:class Human { //8 type or isa //retainCount var age: Int?//16 var name: String?//16 var nicknames: [String] = [String]() //返回指向 Human 实例头部的指针 func hea 阅读全文
posted @ 2019-04-02 16:06 zzfx 阅读(621) 评论(0) 推荐(0) 编辑
摘要:认识世界、改造世界 分析问题、解决问题 树、冰山模型 检查意识的元件和模型 阅读全文
posted @ 2019-04-01 11:02 zzfx 阅读(293) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示