写作的目的是什么?
《秘密》
这个秘密
《秘密》这本书就是告诉我们一个秘密,当你知道了这个秘密,你就能得到所有你想要的东西,幸福、健康、财富,你能拥有你想要的东西,干你所想干的事情,成为你想成为的人,总而言之我们能拥有我们所选择的任何东西。
这个秘密就是——吸引力定律。
《专注的快乐:我们如何投入地活》
看这本书的书名平淡无奇,几乎没有让人想要去翻阅的欲望,不过看过之后还是非常有收获的,它的中心论点就是围绕一个我们大多数人没有听过,但肯定都有过的一种体验——心流。
何为心流
想象你正由山坡上滑雪下来,全副精神都放在身体的动作、滑雪板的方位、刮过脸颊的咻咻气流,丝毫不容你产生相反或抵触的念头。你明白,只要情绪或心念上有一丝疏忽,就可能一头栽进雪堆里。在这种全神贯注的情况下,你滑的顺畅无比,真希望就这么永远滑下去,让自己彻底沉浸在这份感受中。
AIDL初识
在《Android源码设计模式》一书中看到这么一段话:Android的Binder机制是一个庞大的体系模块,平时能接触到的最难懂的莫过与View的运行机制,但Binder比它还要复杂百倍,而且View的底层通信也依赖于Binder。对于开发者来说,这么底层的东西没必要太过于接触,只要学会如何使用它即可。
之前也是一直想搞清楚Binder是怎么实现的,但一直停留在整体架构和流程上的粗浅了解,很难深入下去。当看了这段话我也就不那么执着了,毕竟自己功力也确实还达不到,先学会怎么用,在逐渐加深了解更适合我,那“用”的是什么呢?
下面我们会简单介绍,Binder主要包括四大模块,对于底层的Binder驱动和ServiceManager来说我们没有必要自己去实现,这一部分逻辑最复杂,而且这部分逻辑Android已经为我们封装的很完美了,我们只需要自己实现Binder Client和Binder Server部分就可以了。
其中对于开发者来说,Binder Server必须由自己来实现,但编写这么一个Binder Server的难度也很大,Android就充分考虑到这点,提供了一个简单的方式来生成Android Server端,也就是AIDL(Android Interface Description Language)。Android提供了AIDL工具,可以将AIDL文件编译成Java文件。
Android框架层 —— AsyncTask源码分析
基础了解
介绍
在Android中实现异步任务机制有两种方式:Handler和AsyncTask。
Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。
为了简化操作,Android提供了工具类.AsyncTask,它使创建异步任务变得更加简单,不再需要编写任务线程和Handler实例即可完成相同的任务,但其内部也是使用Handler来传递消息,而且基于线程池。因此明显的AsyncTask比Handler要重量级。
java并发 —— Runnable、Callable、Future、FutureTask、Executor框架初识
这篇文章是对Java多线程中主要的几个类,包括Runnable、Callable、Future、FutureTask及Executor框架涉及的类做的一个梳理与介绍,介绍了它们之间的关系和功能,并没有深入探究。日后在需要的时候,再进行深入的学习和掌握。
C++ STL初识及整理
概述
简介
简单介绍:C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈等。
STL的一个重要特点就是数据结构和算法的分离。例如,STL中sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。
STL另一个重要特性是它不是面向对象的,主要依赖于模版,而不是封装和继承。
Android系统服务 —— WMS与AMS
“可以毫不夸张的说,Android的framework层主要是由WMS、AMS还有View所构成,这三个模块穿插交互在整个framework中,掌握了它们之间的关系和每一个逻辑步骤,你对framework的了解至少有百分之五十”。这是《Android源码与设计模式》作者的原话,最近学习WMS和AMS相关知识,的确非常复杂,这篇文章是在学习之初的初步整理,虽然内容不够细致,但对其也算有个宏观的了解。难点是其中具体的代码逻辑,也都在相应框架下给出了参考链接,日后的工作就是详细学习其中的代码逻辑,让整个框架在脑海中越来越细致、清晰。
《网络是怎么连接的》
网络是一个巨大而且非常复杂的系统,我想很多人会和我一样好奇:从在浏览器中输入网址,到屏幕上显示出网页的内容,短短一两秒的过程中,那么多的硬件和软件到底是如何相互配合,完成工作的。
如果只看网络相关的教科书或者阅读某一篇博客,是很难达到这个目的的,因为总有一些含混不清的地方令你费解。翻开这本书的推荐序,就有一种相见恨晚的感觉,它正是我要找的那种纵览网络全貌的一本书,作者是日本人,但翻译的非常非常到位。还是想再强调一下,程序员也要多读书,并不是所有的专业书都长得跟教科书一个样子……
大家如果也有读过认为非常好的计算机相关的书籍,不限领域,操作系统、网络、编程语言等都可以,欢迎在简书下给我留言,凡是我读过的感觉不错的书也都会发篇博客出来。这篇文章就对整个网络的工作流程做个梳理,并对之前认识模糊不清的地方做个记录,其中每一个大标题就是其中一个过程,每个过程里面会有相应的介绍或者知识点整理。