AWS的EC2上新增分区

2014年7月31日 没有评论

总的分为两步:
1、在aws后台上创建新的volume,然后右键attach到一个ec2上。
2、登录到ec2上格式化并挂载。
第一步很容易,界面操作。第二步需要一些命令操作,简述如下
查看当前磁盘情况

fdisk -l

会发现多出来一个

Disk /dev/sdf: 536.8 GB, 536870912000 bytes

更多内容…

分类: 工作 标签: , , , ,

Java并发第3章-对象的共享

2014年7月23日 没有评论

一、可见性
  1、失效数据:数据未设置同步时,修改数据的线程有可能没把数据回写到内存,或读线程的缓存数据未从内存中同步。重排序也会导致失效数据。
  2、非原子的64位操作:非volatile的64位变量(long或double),写操作会分为两个32位的操作,故有可能读到被修改一半的数据,即仅有高位或低位被修改的值。
  3、加锁与可见性:多个线程在同一个同步块中看到的同一个数据,都是有效的,即可以保证它们的内存可见性。
  4、Volatile变量:不重排序,只确保可见性。且写入和回写作为原子操作,读取和加载也做为原子操作。
二、发布与逸出:通过方法的return或共享变量发布数据;要防止构造时的this逸出(运行时问题:未构造完成,却被调用)。
三、线程封闭:共享数据仅在单个线程内部访问。Swing的强制封闭,JDBC的池化应用级封闭。
  1、Ad-hoc线程封闭:由程序实现的线程封闭,叫做Ad-hoc。
  2、栈封闭:方法的局部变量是栈封闭的,要防止栈封闭的对象逸出。
  3、ThreadLocal类:方便的进行线程内传参,或共享线程数据。有隐含的耦合性,给后续改造留坑。
更多内容…

JDK7关于四舍六入五成双的问题

2014年7月22日 没有评论

先说一下概念

四舍六入五成双

对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,也即“4舍6入5凑偶”这里“四”是指≤4 时舍去,”六”是指≥6时进上,”五”指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5入1;②5前为偶数,舍5不进。(0是偶数)
更多内容…

Java并发第2章-线程安全性

2014年7月22日 没有评论

一、什么是线程安全性:某个类的行为与其规范完全一致。这个定义略有偷懒的感觉。无状态对象一定是线程安全的。
二、原子性
  1、竞态条件:先检查后执行。
  2、示例:延迟初始化中的竞态条件。典型的double check的例子,不用多说。
  3、复合操作:先检查后执行和读取-修改-写入这类操作都是复合操作,需是原子的才能保障它是线程安全的。
更多内容…

Java并发第1章-简介

2014年7月22日 没有评论

一、并发简历,原因有三点:
  1、资源利用率。
  2、公平性。
  3、便利性:多任务用多个程序并发,比一个程序完成多个任务,实现起来容易。略觉牵强。
二、线程的优势
  1、发挥多处理器的能力。
  2、建模的简单性:同一、3。任务各自独立。
  3、异步事件的简化处理。
  4、响应更灵敏的用户界面。
更多内容…

分类: 工作 标签: , ,

修养第13章-运行库实现

2014年7月21日 没有评论

一、C语言运行库:入口函数、初始化、堆管理、基本IO。
  1、开始:入口函数;main参数;CRT初始化;结束部分。
  2、堆的实现:malloc()、free()。
  3、IO与文件操作:fopen()、fread()、fwrite()、fclose()、fseek()。
  4、字符串相关操作:itoa、strcmp、strcpy、strlen。
  5、格式化字符串:fputc、fputs、vfprintf、printf、fprintf。
二、如何使用Mini CRT:导出Mini CRT的头文件,供开发时include即可。
三、C++运行库实现
  1、new 与 delete:操作符函数。
  2、C++全局构造与析构:MSVC为.CRT$XCA段和.CRT$XCZ段。GCC为.ctor段。
  3、atexit实现。
  4、入口函数修改。
  5、stream和string。
四、如何使用Mini CRT++:编译、链接。

分类: 工作 标签: