自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

林学森的技术专栏

深入剖析移动操作系统和人工智能等前沿技术,已出版《机器学习观止——核心原理与实践》、《Android内核设计思想》等

  • 博客(15)
  • 资源 (14)
  • 收藏
  • 关注

转载 怎样做一个 Program Manager

我个人认为,这是一篇不错的文章,虽然我不是Program Mananger,但是我几乎在做着和这个职位很相似的工作。在这里,我把这篇文章推荐给所有的程序员,我相信,这篇文章会让你明白,只有技术是远远不够的,因为没有Program Manager这个角色,程序员们只不过一些手中拿着利器却不知所措的散兵游勇。我希望我的导读和原文能给所有的程序带来启示。(本文同步发布于:酷壳 cocre.com)原文在这里:“How to be a program manager”http://www.joelo

2011-03-25 02:00:00 1459

转载 排序算法汇总(选择排序 ,直接插入排序,冒泡排序,希尔排序,快速排序...)

=============================================== 作者:rerli 时间:2003-12-15 目的:重温经典排序思想,并用C语言指针实现排序算法 ================================================ */ /* ============================================================================= 相关知识介绍(所有定义只为帮助读者理解相关概念,并非

2011-03-24 18:08:00 5035

转载 malloc函数的一种简单的原理性实现

<br />malloc()是C语言中动态存储管理的一组标准库函数之一。其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数,返回值是一个指向所分配的连续存储域的起始地址的指针<br />malloc()工作机制<br />malloc函数的实质体现在,它有一个将可用的内存块连接为一个长长的列表的所谓空闲链表。调用malloc函数时,它沿连接表寻找一个大到足以满足用户请求所需要的内存块。然后,将该内存块一分为二(一块的大小与用户请求的大小相等,另一块的大小就是剩下的字节)。

2011-03-23 15:18:00 1148

原创 海量数据处理问题与方法汇总

1、有1亿个浮点数,请找出其中对大的10000个。提示:假设每个浮点数占4个字节,1亿个浮点数就要站到相当大的空间,因此不能一次将全部读入内存进行排序。       可以发现如果一次读入那么机器的内存肯定是受不了的,因此我们只有想其他方法解决,解决方式为了高效还是得符合一定的该概率解决,结果并不一定准确,但是应该可以作对大部分的数据。 (1.我们可以把1亿个浮点数分组为100W个一组,这样就分为了100个组,第一次在每个组中找出最大的1W个数,第二次查询的时候就是100W个数中再找

2011-03-22 19:14:00 1553

原创 SQL 查询概述总结

分为建立,查询,修改,权限等等。本文以查询为主,概要介绍常用查询语句用法(不能保证以下所有命令都是标准SQL) 1. 结构与关键字 基本结构: SELECT FROM WHERE 从哪里,选择什么(最终结果),条件是什么。 扩充结构: SELECT [DISTINCT/QUIQUE] FROM WHERE GROUP BY HAVING ORDER BY INTO -------------- WHERE: 分为过滤条件和连接条件,后者是用于多表查询。前者又分以下六种

2011-03-22 16:32:00 924

转载 30分钟掌握STL

STL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort()。STL另一个重要特性是它不是面向对象的。为了具有足够通用性,STL主要依赖于模板而不是封装,继承和虚函数(多态性)——OOP的三个要素。你在STL中找不到任何明显的类继承关系。

2011-03-21 13:31:00 878

转载 关于生产者-消费者问题

<br />生产者-消费者(producer-consumer)问题,也称作有界缓冲区(bounded-buffer)问题,两个进程共享一个公共的固定大小的缓冲区。其中一个是生产者,用于将消息放入缓冲区;另外一个是消费者,用于从缓冲区中取出消息。问题出现在当缓冲区已经满了,而此时生产者还想向其中放入一个新的数据项的情形,其解决方法是让生产者此时进行休眠,等待消费者从缓冲区中取走了一个或者多个数据后再去唤醒它。同样地,当缓冲区已经空了,而消费者还想去取消息,此时也可以让消费者进行休眠,等待生产者放入一个或者多

2011-03-17 23:57:00 1144

转载 判断链表是否有环

<br />struct list{  <br />int data;  <br />struct list *next;  <br />};  <br />int has_circle(struct list *head)  <br />{  <br />struct list *cur1 = head;  <br />int pos1 = 0;  <br />while(cur1){  <br />struct list *cur2 = head;  <br />int pos2 = 0;  <br /

2011-03-15 23:05:00 1087

原创 关于fopen的几种模式

一直觉得mode有点乱,做下总结。 个人以为这是由于mode的几种表达方式,比如r,w,w+,从字面上来讲比较容易混淆。要区分它们,可以从以下几个方面。 1. 文件的打开处理 (_O_CREAT)    即如果文件不存在时,是错误还是建立 2. 文件的读或者写(_O_WRONLY,_O_RDONLY,_O_RDWR )    建立与文件的双向或单向关系。 3. 读指针的位置(_O_TRUNC,_O_APPEND)   是否append,或者从头写 4. 文本或二进制(_O_TEXT, _O_

2011-03-15 12:00:00 3118

转载 Linux系统调用-Printf从函数库到OS跟踪流程

<br />Linux系统调用[z]<br /><br />摘要:本期重点和大家讨论系统调用机制。其中涉及到了一些及系统调用的性能、上下文深层问题,同时也穿插着讲述了一些内核调试方法。并且最后试验部分我们利用系统调用与相关内核服务完成了一个搜集系统调用序列的特定任务,该试验具有较强的实用和教学价值。<br />什么是系统调用<br />顾 名思意,系统调用说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务,比如用户可以通 过文件系统相关的调用请求

2011-03-14 14:44:00 1460

原创 好代码的标准

1. 可读性     结构清楚     有统一的命名规则     有适当的注释   2. 可扩展性      在增加程序功能时,可以较轻易实现,不需要很大改动。 3. 可维护性      可维护性是指由他人接手或自己后期维护时的工作量。因此这与可读性有一定关系。而与可护展性也有关系。在解决问题的同时,有可能需要新的补丁,一定的扩展性可以缩小差距。 4. 执行效率问题     实现同

2011-03-14 13:54:00 1596

原创 Linux Device Driver Summarization

1. Classes of devices and modules    There are three fundamental device types, which means char module, block module, and network module.

2011-03-13 18:45:00 1796

原创 Android 开发概述

1. Android 系统架构    参考另一关于系统架构的转载文章 2. 文件类型   class: java编译后文件   Dex:android上可执行文件,可通过工具将java字节码转换为dex字节码(Dalvik)   apk: android 安装包

2011-03-11 15:27:00 1082

转载 Android 系统架构

<br />Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。<br /><br />Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。<br />2.应用程序框架 <br /> <br />  开发人员也可以完全访问核心应用程序所使用的API框架。该应用

2011-03-11 15:26:00 1345

转载 Java IO完全总结

<br />Java IO<br />       本篇主要讲述IO相关的内容,主要包括:与IO相关的简单的历史背景知识;Java IO的简单分类;与IO设计相关的两个模式;同时列举几个简单的例子;分析其中几个实现的源代码;最后给大家一些简单扩展的例子。治学先治史,下面我们先从简单的历史开始吧!<br /> <br />一、      历史背景<br />       “对语言设计人员来说,创建好的输入/输出系统是一项特别困难的任务。”<br />――《Think in Java》<br />      

2011-03-07 13:24:00 1482

实战无线通信应知应会 完整版

实战无线通信应知应会 完整版

2019-04-16

百面机器学习 hulu

人工智能 面试 百面机器学习 hulu

2018-12-09

智能革命 李彦宏

智能革命 李彦宏

2018-12-09

智能革命_李彦宏

智能革命_李彦宏 智能革命_李彦宏 智能革命_李彦宏 智能革命_李彦宏

2018-01-18

分布式服务框架

分布式 服务框架 开发 技术 经典书 分布式 服务框架 开发 技术 经典书

2018-01-18

单元测试之道Java版

单元测试之道Java版

2017-03-08

《Site.Reliability.Engineering 》英文原版

《Site.Reliability.Engineering 》英文原版,中文名《SRE:Google运维解密》

2017-03-08

Adw launcher的源码

Adw launcher是非常受欢迎的android项目,并且它是开源的,这对想学习launcher开发的同学是不错的资源

2011-11-15

STL源文件剖析-台湾侯老师精典之作

STL入门提高必读之作,侯老师经典之作.为DOC文件类型

2011-03-21

LINUX 经典GTK图形编程

非常经典的教材,示例也很不错,希望对大家有帮助。

2010-11-03

LINUX基本命令集锦

linux基本命令的详细解释及使用,比较实用

2010-10-14

自己动手写一个操作系统

利用开源软件,阐述如何自己动手写一个操作系统,包括计算机启动,保护模式设计等等

2009-05-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除