0%

因为操作系统的资源是有限的,如果访问资源的操作过多,必然会消耗过多的资源,如果不对这些操作加以区分,很可能造成资源访问的冲突。为了减少资源的访问和使用冲突,操作系统对不同的操作赋予不同的执行等级,就是所谓的特权的概念。简单来说就是有多大能力做多大的事,与系统相关的一些特别关键的操作必须由最高特权的程序来完成。Intel x86架构的CPU提供了0~3四个等级,数字越小,权限越高;Linux操作系统主要采用0和3两个权限等级,分别对应内核态用户态

阅读全文 »

ThreadLocal用来提供线程级别变量,变量只对当前线程可见。相比于使用锁控制共享变量访问顺序的解决方案,ThreadLocal通过空间换时间的策略,每个线程都有属于自己的线程私有变量,很好地规避了线程竞争的问题。

阅读全文 »

对于同一台设备上的进程通信,有很多种方式,比如管道、消息队列、共享内存、信号等方式,而对于不同设备上的进程通信,就需要网络通信,而设备是多样的,所以要兼容多种多样的设备,就需要协商出一套通用的网路协议

阅读全文 »

使用Markdown做记录很长一段时间了,一直都是使用typora来写文件的,对于.md文件中的图片都是采用url链接进行路由访问的。之前都是在typora中设置在导入图片时创建一个文件同名的文件夹来保存图片,然后利用相对路径路由到图片。采用这种方式有个致命的缺点就是一旦需要将这个.md文件分享或者上传,都必须把这个图片文件夹一并上床,这就很麻烦。因此开始有了尝试用图床保存图片的想法。

阅读全文 »