摘要: 活锁(livelock) 活锁指的是任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试,失败,尝试,失败。 活锁和死锁的区别在于,处于活锁的实体是在不断的改变状态,所谓的“活”, 而处于死锁的实体表现为等待;活锁有可能自行解开,死锁则不能。 活锁可以认为是一种特殊的饥饿。 下面这个例子 阅读全文
posted @ 2015-12-13 15:03 沧海一滴 阅读(847) 评论(0) 推荐(0)
摘要: 一、引子 nio是java的IO框架里边十分重要的一部分内容,其最核心的就是提供了非阻塞IO的处理方式,最典型的应用场景就是处理网络连接。很多同学提起nio都能说起一二,但是细究其背后的原理、思想往往就开始背书,说来说去都是那么几句,其中不少人并不见的真的很理解。本人之前就属于此类,看了很多书和博客... 阅读全文
posted @ 2015-12-13 15:00 沧海一滴 阅读(1734) 评论(0) 推荐(1)
摘要: 上次面试中遇到的一个问题,问到System.out.println()中的out是不是内部类【不是内部类】,当时就给问蒙了,直观感觉out应该是System类的一个属性,跟内部类有什么关系?而且之前整理IO部分的时候记得有个PrintStream的类用于标准输出的,但是从没看过System的源码,也 阅读全文
posted @ 2015-12-13 14:34 沧海一滴 阅读(5226) 评论(1) 推荐(0)
摘要: Crontab中的除号(slash)到底怎么用? crontab 是Linux中配置定时任务的工具,在各种配置中,我们经常会看到除号(Slash)的使用,那么这个除号到底标示什么意思,使用中有哪些需要注意的地方呢? 在定时任务中,我们经常有这样的需求,比如每5分钟查看一下日志,我们可以这么写: 0, 阅读全文
posted @ 2015-12-13 12:18 沧海一滴 阅读(480) 评论(0) 推荐(0)
摘要: 你知道市面上的机器人都采用了哪些操作系统吗? 估计大多数人给出的答案就是 Android 了。从市面上的产品来看,基于 Android 系统开发的机器人确实是主流,但是还有一种操作系统却鲜为人知,它叫 ROS(机器人操作系统,RobotOperatingSystem),是专门为机器人设计的一套... 阅读全文
posted @ 2015-12-13 12:17 沧海一滴 阅读(2593) 评论(0) 推荐(0)
摘要: Git是分布式版本控制系统,我们常用的版本控制工具还有SVN。这里就得区分下什么是分布式版本控制系统,什么是集中化的版本控制系统。集中化的版本控制系统集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS )。这类系统,诸如 CVS,Subve... 阅读全文
posted @ 2015-12-13 12:14 沧海一滴 阅读(236) 评论(0) 推荐(0)
摘要: 1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。因此,我们首先要在系统中源码编译安装cmake工具。# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz# t... 阅读全文
posted @ 2015-12-13 12:12 沧海一滴 阅读(215) 评论(0) 推荐(0)
摘要: Linux Mint由Linux Mint Team团队于2006年开始发行,是一份基于Debian和Ubuntu的Linux发行版。其目标是提供一种更完整的即刻可用体验,这包括提供浏览器插件、多媒体编解码器、对DVD播放的支持、Java和其他组件,它也增加了一套定制桌面及各种菜单,一些独特的配置工... 阅读全文
posted @ 2015-12-13 10:11 沧海一滴 阅读(3625) 评论(0) 推荐(0)