2018年3月8日

c/c++基础零散补充

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 16:25 AlanTu 阅读(32) 评论(0) 推荐(0)

C语言可变参数

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 16:24 AlanTu 阅读(19) 评论(0) 推荐(0)

exit与return区别

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 16:23 AlanTu 阅读(26) 评论(0) 推荐(0)

函数指针和指针函数

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 16:23 AlanTu 阅读(28) 评论(0) 推荐(0)

纯虚函数、抽象类、虚析构函数

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 16:22 AlanTu 阅读(43) 评论(0) 推荐(0)

神经网络入门

摘要: 眼下最热门的技术,绝对是人工智能。 人工智能的底层模型是"神经网络"(neural network)。许多复杂的应用(比如模式识别、自动控制)和高级模型(比如深度学习)都基于它。学习人工智能,一定是从它开始。 什么是神经网络呢?网上似乎缺乏通俗的解释。 前两天,我读到 Michael Nielsen 阅读全文

posted @ 2018-03-08 14:32 AlanTu 阅读(662) 评论(0) 推荐(0)

蒙特卡罗方法入门

摘要: 本文通过五个例子,介绍蒙特卡罗方法(Monte Carlo Method)。 一、概述 蒙特卡罗方法是一种计算方法。原理是通过大量随机样本,去了解一个系统,进而得到所要计算的值。 它非常强大和灵活,又相当简单易懂,很容易实现。对于许多问题来说,它往往是最简单的计算方法,有时甚至是唯一可行的方法。 它 阅读全文

posted @ 2018-03-08 14:31 AlanTu 阅读(569) 评论(0) 推荐(0)

理解矩阵乘法

摘要: 大多数人在高中,或者大学低年级,都上过一门课《线性代数》。这门课其实是教矩阵。 刚学的时候,还蛮简单的,矩阵加法就是相同位置的数字加一下。 矩阵减法也类似。 矩阵乘以一个常数,就是所有位置都乘以这个数。 但是,等到矩阵乘以矩阵的时候,一切就不一样了。 这个结果是怎么算出来的? 教科书告诉你,计算规则 阅读全文

posted @ 2018-03-08 14:30 AlanTu 阅读(43095) 评论(1) 推荐(9)

区块链入门教程

摘要: 区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来。 可是,简单易懂的入门文章却很少。区块链到底是什么,有何特别之处,很少有解释。 下面,我就来尝试,写一篇最好懂的区块链教程。毕竟它也不是很难的东西,核心概念非常简单,几句话就能说清楚。我希望读完本文,你不仅可以理解区块 阅读全文

posted @ 2018-03-08 14:25 AlanTu 阅读(3808) 评论(1) 推荐(0)

汇编语言入门教程

摘要: 学习编程其实就是学高级语言,即那些为人类设计的计算机语言。 但是,计算机不理解高级语言,必须通过编译器转成二进制代码,才能运行。学会高级语言,并不等于理解计算机实际的运行步骤。 计算机真正能够理解的是低级语言,它专门用来控制硬件。汇编语言就是低级语言,直接描述/控制 CPU 的运行。如果你想了解 C 阅读全文

posted @ 2018-03-08 14:23 AlanTu 阅读(4635) 评论(0) 推荐(0)

深度解析(十四)斐波那契堆

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 14:12 AlanTu 阅读(18) 评论(0) 推荐(0)

深度解析(十三)二项堆

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 14:11 AlanTu 阅读(6) 评论(0) 推荐(0)

深度解析(十二)斜堆

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 14:10 AlanTu 阅读(8) 评论(0) 推荐(0)

深度解析(十一)左倾堆

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 14:09 AlanTu 阅读(6) 评论(0) 推荐(0)

深度解析(十)二叉堆

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 14:07 AlanTu 阅读(7) 评论(0) 推荐(0)

深度解析(九)红黑树

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 14:05 AlanTu 阅读(8) 评论(0) 推荐(0)

深度解析(八)伸展树

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 14:04 AlanTu 阅读(7) 评论(0) 推荐(0)

深度解析(七)AVL树

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 14:03 AlanTu 阅读(4) 评论(0) 推荐(0)

深度解析(六)二叉查找树

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 14:01 AlanTu 阅读(8) 评论(0) 推荐(0)

深度解析(五)队列

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 14:00 AlanTu 阅读(10) 评论(0) 推荐(0)

深度解析(四)栈

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:58 AlanTu 阅读(9) 评论(0) 推荐(0)

深度解析(三)数组、单链表和双链表

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:54 AlanTu 阅读(14) 评论(0) 推荐(0)

深度解析(二)散列表

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:53 AlanTu 阅读(19) 评论(0) 推荐(0)

深度解析(一)数据结构与算法系列目录

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:49 AlanTu 阅读(28) 评论(0) 推荐(0)

生产者/消费者模式之深入理解

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:47 AlanTu 阅读(27) 评论(0) 推荐(0)

read write函数

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:45 AlanTu 阅读(14) 评论(0) 推荐(1)

linux下多线程编程

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:42 AlanTu 阅读(30) 评论(0) 推荐(0)

关于同步、异步与阻塞、非阻塞的理解

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:41 AlanTu 阅读(16) 评论(0) 推荐(0)

套接字通信

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:41 AlanTu 阅读(13) 评论(0) 推荐(0)

网络IO之阻塞、非阻塞、同步、异步总结

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:40 AlanTu 阅读(17) 评论(0) 推荐(0)

基于生产者-消费者模型实现先进先出的共享内存段

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:39 AlanTu 阅读(16) 评论(0) 推荐(0)

死锁、信号量与PV原语简介

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:39 AlanTu 阅读(11) 评论(0) 推荐(0)

互斥锁和条件变量

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:37 AlanTu 阅读(10) 评论(0) 推荐(0)

信号量

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:37 AlanTu 阅读(10) 评论(0) 推荐(0)

共享内存

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:35 AlanTu 阅读(10) 评论(0) 推荐(0)

消息队列

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:34 AlanTu 阅读(9) 评论(0) 推荐(0)

消息队列和管道的区别

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:34 AlanTu 阅读(35) 评论(0) 推荐(0)

匿名管道

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:33 AlanTu 阅读(7) 评论(0) 推荐(0)

命名管道

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:33 AlanTu 阅读(7) 评论(0) 推荐(0)

管道和命名管道

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:32 AlanTu 阅读(16) 评论(0) 推荐(0)

TCP连接的建立和断开、滑动窗口

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:30 AlanTu 阅读(16) 评论(0) 推荐(0)

HTTP 协议详解

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:30 AlanTu 阅读(6) 评论(0) 推荐(0)

互联网协议入门

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:29 AlanTu 阅读(7) 评论(0) 推荐(0)

TCP连接的建立和终止

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:29 AlanTu 阅读(6) 评论(0) 推荐(0)

TCP 的那些事儿(下)

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:28 AlanTu 阅读(14) 评论(0) 推荐(0)

Linux下动态库(.so)和静态库(.a) 的区别

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:27 AlanTu 阅读(29) 评论(0) 推荐(0)

Linux动态链接库的使用

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:27 AlanTu 阅读(23) 评论(0) 推荐(0)

TCP 的那些事儿(上)

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:27 AlanTu 阅读(18) 评论(0) 推荐(0)

C++静态库与动态库

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:26 AlanTu 阅读(11) 评论(0) 推荐(0)

链接

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:25 AlanTu 阅读(8) 评论(0) 推荐(0)

静态库、共享库

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:25 AlanTu 阅读(10) 评论(0) 推荐(0)

装载与动态链接

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:24 AlanTu 阅读(13) 评论(0) 推荐(0)

静态链接

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:23 AlanTu 阅读(11) 评论(0) 推荐(0)

linux内核物理内存空间分布

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:22 AlanTu 阅读(55) 评论(0) 推荐(0)

linux arm的高端内存映射

摘要: linux arm的高端内存映射(1) vmalloc 高端内存映射 与高端映射对立的是低端映射或所谓直接映射,内核中有关变量定义它们的它们的分界点,全局变量high_memory,该变量定义在mm/memory.c文件中(存在MMU的前提下),可见不区分体系结构,对于当前我手头的marvell的a 阅读全文

posted @ 2018-03-08 13:20 AlanTu 阅读(1075) 评论(0) 推荐(0)

Linux内存管理中的slab分配器

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:18 AlanTu 阅读(24) 评论(0) 推荐(0)

Linux伙伴算法

摘要: Linux内存管理伙伴算法 伙伴算法 Linux内核内存管理的任务包括: 遵从CPU的MMU(Memory Management Unit)机制 合理、有效、快速地管理内存 实现内存保护机制 实现虚拟内存 共享 重定位 遵从CPU的MMU(Memory Management Unit)机制 合理、有 阅读全文

posted @ 2018-03-08 13:09 AlanTu 阅读(4911) 评论(0) 推荐(0)

缓存更新的套路

摘要: 看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还 阅读全文

posted @ 2018-03-08 13:03 AlanTu 阅读(894) 评论(0) 推荐(0)

Linux Cache 机制探究

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:01 AlanTu 阅读(16) 评论(0) 推荐(0)

内存管理概述

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 13:00 AlanTu 阅读(21) 评论(0) 推荐(0)

TLB flush操作

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 12:58 AlanTu 阅读(10) 评论(0) 推荐(0)

linux用户空间和内核空间

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 12:56 AlanTu 阅读(21) 评论(0) 推荐(0)

linux内存管理概述

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 12:56 AlanTu 阅读(15) 评论(0) 推荐(0)

linux内核内存管理(zone_dma zone_normal zone_highmem)

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 12:55 AlanTu 阅读(15) 评论(0) 推荐(0)

linux内存管理 malloc、vmalloc、kmalloc的区别

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 12:55 AlanTu 阅读(20) 评论(0) 推荐(0)

Linux内存管理-高端内存

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 12:54 AlanTu 阅读(19) 评论(0) 推荐(0)

Linux内核空间-理解高端内存

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 12:53 AlanTu 阅读(18) 评论(0) 推荐(0)

Linux内存管理

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 12:52 AlanTu 阅读(29) 评论(0) 推荐(0)

linux内存管理---虚拟地址、逻辑地址、线性地址、物理地址的区别

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 12:52 AlanTu 阅读(18) 评论(0) 推荐(0)

Linux虚拟存储器

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 12:51 AlanTu 阅读(18) 评论(0) 推荐(0)

Linux中断概述

摘要: 中断和异常 1.1中断的由来及实质 Linux内核要管理计算机上的硬件设备,首先要和他们通信。而处理器的速度跟外围硬件设备的速度往往不在一个数量级上,因此,如果内核采取让处理器向硬件发出一个请求,然后专门等待回应的办法,显然差强人意。既然硬件的响应这么慢,那么内核就应该在此期间处理其他事务,等到硬件 阅读全文

posted @ 2018-03-08 12:49 AlanTu 阅读(881) 评论(0) 推荐(0)

Linux内核同步:RCU

摘要: linux内核 RCU机制详解 简介 RCU(Read-Copy Update)是数据同步的一种方式,在当前的Linux内核中发挥着重要的作用。RCU主要针对的数据对象是链表,目的是提高遍历读取数据的效率,为了达到目的使用RCU机制读取数据的时候不对链表进行耗时的加锁操作。这样在同一时间可以有多个线 阅读全文

posted @ 2018-03-08 12:42 AlanTu 阅读(890) 评论(0) 推荐(0)

Linux内核同步:自旋锁

摘要: linux内核--自旋锁的理解 自旋锁:如果内核配置为SMP系统,自旋锁就按SMP系统上的要求来实现真正的自旋等待,但是对于UP系统,自旋锁仅做抢占和中断操作,没有实现真正的“自旋”。如果配置了CONFIG_DEBUG_SPINLOCK,那么自旋锁按照SMP系统来编译。 但是为什么在UP系统中不需要 阅读全文

posted @ 2018-03-08 12:24 AlanTu 阅读(1076) 评论(0) 推荐(0)

Linux软中断、tasklet和工作队列

摘要: Linux内核中的软中断、tasklet和工作队列详解 引言 软中断、tasklet和工作队列并不是Linux内核中一直存在的机制,而是由更早版本的内核中的“下半部”(bottom half)演变而来。下半部的机制实际上包括五种,但2.6版本的内核中,下半部和任务队列的函数都消失了,只剩下了前三者。 阅读全文

posted @ 2018-03-08 11:06 AlanTu 阅读(2430) 评论(0) 推荐(0)

Linux中断上下文

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 10:59 AlanTu 阅读(19) 评论(0) 推荐(0)

Linux信号机制

摘要: Linux信号(signal) 机制分析 【摘要】本文分析了Linux内核对于信号的实现机制和应用层的相关处理。首先介绍了软中断信号的本质及信号的两种不同分类方法尤其是不可靠信号的原理。接着分析了内核对于信号的处理流程包括信号的触发/注册/执行及注销等。最后介绍了应用层的相关处理,主要包括信号处理函 阅读全文

posted @ 2018-03-08 10:58 AlanTu 阅读(3732) 评论(0) 推荐(0)

Linux系统调用

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 10:53 AlanTu 阅读(11) 评论(0) 推荐(0)

缺页异常处理

摘要: linux内存管理--缺页异常处理 1 缺页异常在linux内核处理中占有非常重要的位置,很多linux特性,如写时复制,页框延迟分配,内存回收中的磁盘和内存交换,都需要借助缺页异常来进行,缺页异常处理程序主要处理以下四种情形:1请求调页: 当进程调用malloc()之类的函数调用时,并未实际上分配 阅读全文

posted @ 2018-03-08 10:49 AlanTu 阅读(12458) 评论(0) 推荐(1)

linux的0号进程和1号进程

摘要: linux的 0号进程 和 1 号进程 Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) * idle进程由系统自动创建, 运行在内核态 idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fo 阅读全文

posted @ 2018-03-08 10:37 AlanTu 阅读(26232) 评论(0) 推荐(1)

linux进程地址空间浅析

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 10:37 AlanTu 阅读(20) 评论(0) 推荐(0)

普通线程和内核线程

摘要: Linux内核线程kernel thread详解 内核线程 为什么需要内核线程 Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求)。 内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的。 内核线程就是内核的分身,一个分身可以处理一件特定事情。内核 阅读全文

posted @ 2018-03-08 10:28 AlanTu 阅读(16323) 评论(0) 推荐(5)

fork,vfork和clone区别

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-03-08 10:18 AlanTu 阅读(19) 评论(0) 推荐(0)

进程概述

摘要: 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操作系统中可以说是最重要的一个概念--进程。操作系统最主要的两个职能是管理各种资源和为应用程序提供系统调用接口。这其中关键的部分是,cpu到进程的抽象,物理内存到地址空间(虚拟内存)的抽象, 阅读全文

posted @ 2018-03-08 09:23 AlanTu 阅读(768) 评论(0) 推荐(0)

进程简述

摘要: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口 阅读全文

posted @ 2018-03-08 09:22 AlanTu 阅读(573) 评论(0) 推荐(0)

导航