匿名类的一个好处是可以很方便的访问外部的局部变量。 前提是外部的局部变量需要被声明为final。(JDK7以后就不需要了) ====================== 同步方法1:普通式 同步方法2:在对象方法里 写关键字,用this 同步方法3:在方法前,加上修饰符synchronized,效果 ...
分类:
编程语言 时间:
2018-05-06 00:24:15
阅读次数:
952
grub介绍存放于MBR的前446字节中,grub分为stage1/stage1.5/stage2。stage1:主要负责BIOS和GRUB之间的交接,载入存放于各个分区中的开机文件stage1.5:让stage1中的bootloader能识别stage2所在的分区上的文件系统;stage2:配置参数,加载内核,ramfsgrub模式下常用操作说明e:编辑模式,用于编辑菜单;c:命令模式,交互式接
分类:
系统相关 时间:
2018-05-03 17:24:19
阅读次数:
261
1 大家可能知道互斥量是线程程序中必须的工具了,但是也不能是万能的,就比如某个线程正在等待共享数据某个条件的发生,这个时候会发生什么呢。它就可能重复的尝试对互斥对象锁定和解锁来检查共享数据结构。 2 线程在等待满足某些条件的时候使线程进入睡眠状态,一旦条件满足了就唤醒并等待满足特定条件而睡眠的线程。 ...
分类:
系统相关 时间:
2018-05-03 16:29:45
阅读次数:
244
1,运行BIOS程序并找到BIOS中所设置的第一启动设备 2,读取第一启动设备的第一个扇区MBR中的bootloader程序 3,bootloader程序加载内核,内核开始进行硬件自检,加载硬件驱动程序 4,驱动加载成功后,内核开始执行init进程,init进程获得run-level信息 5,ini ...
分类:
系统相关 时间:
2018-05-02 22:16:31
阅读次数:
219
从bootloader 交出控制权开始 bootloader 最后调用 ((void( ))(void) ()ELF e_entry& 0xffffff)() ; 在 ld 进行连接的时候 钦定了kern_init 作为程序的入口,所以这里就调用了 init.c 中的 kern_init 函数 先e ...
分类:
其他好文 时间:
2018-05-02 11:12:46
阅读次数:
123
一、线程安全 1. 怎样让多线程下的类安全起来 无状态、加锁、让类不可变、栈封闭、安全的发布对象 2. 死锁 2.1 死锁概念及解决死锁的原则 一定发生在多个线程争夺多个资源里的情况下,发生的原因是每个线程拿到了某个(某些)资源不释放,同时等待着其他线程所持有的资源。 解决死锁的原则就是确保正确的获 ...
分类:
编程语言 时间:
2018-05-01 14:01:56
阅读次数:
157
了解u-boot之前首先了解下Bootloader,简单说Bootloader就是一段小程序,它在系统上电时开始运行,初始化硬件设备,准备好软件环境,最后调用操作系统内核。 u-boot全称:Universal Boot Loader,即通用Bootloader,遵循GPL条款,开放源码。 支持多种 ...
分类:
其他好文 时间:
2018-04-30 22:47:04
阅读次数:
240
RWMutex:是基于Mutex实现的读写互斥锁,一个goroutine可以持有多个读锁或者一个写锁,同一时刻只能持有读锁或者写锁 ...
分类:
其他好文 时间:
2018-04-30 22:06:53
阅读次数:
136
At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door ...
分类:
其他好文 时间:
2018-04-29 22:06:03
阅读次数:
168
原理 进程需要访问共享数据时, 就在"/locks"节点下创建一个sequence类型的子节点, 称为thisPath. 当thisPath在所有子节点中最小时, 说明该进程获得了锁. 进程获得锁之后, 就可以访问共享资源了. 访问完成后, 需要将thisPath删除. 锁由新的最小的子节点获得. ...
分类:
其他好文 时间:
2018-04-28 15:48:23
阅读次数:
195