自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (4)
  • 收藏
  • 关注

原创 G3D游戏引擎——编译

在支付宝半年了,都是在写Java的核心业务处理,感觉离技术越来越远,所以重新捡起C++,开始游戏引擎的研究,这次选择的游戏引擎是G3D,环境是Mac。这里的编译我选择的是g++,写一个小的实例,可以选择自带的sample的程序,编译的时候花费了我5个多小时才完成,需要下载jpeg,png等许多依赖的库。这里将整个编译的的命令行贴出来,给无法编译G3D的童鞋一点参考,其中的一些依赖文

2014-12-14 22:28:27 1640

原创 java JNDI配置与自定义

第一次接触JNDI,废了好长的时间,遇到了hai o d。

2014-04-19 22:28:48 1706

原创 自己动手写带有事务支持的分布式Key-Value存储系统——锁管理器

对于锁事务的实现,里面需要使用大量的读写锁,大量线程同步地对数据加锁,难免会产生死锁,所以锁管理器不仅需要管理所有分配的锁,还要能够自动检测出死锁,并且主动解除死锁状态。死锁检测的原理:死锁检测方法中通常使用等待图 WFG(Wait-For  Graph)作为表达事务间等待关系的数学模型。在 WFG 中,结点 ti表示事务,边(ti,tj)表示事务 ti等待 tj,该边在 ti申请对

2014-03-27 08:59:09 1080

原创 自己动手写带有事务支持的分布式Key-Value存储系统——读写锁

为了实现高并发的锁机制事务,需要使用读写锁进行并发控制。Java类库本身提供了读写锁,但是其灵活性对于这个系统的需求是不够的。本系统的读写锁需要实现在单个线程内部能够任意的加写锁,加读锁,并且不会阻塞,锁的释放可以单次单次进行,也可以一次完成(多次加锁,一次释放);但是多个线程之间仍然符合读写锁的互斥性。     为了实现这样的需求,我的设计如下     |--------------|

2014-03-17 22:57:14 1561

原创 自己动手写带有事务支持的分布式Key-Value存储系统

为了记录自己开发这个系统的全过程以及养成写技术博客的习惯,我决定开始在CSDN上持续更性此专题。代码库地址 https://github.com/FoOTOo/DoDo

2014-03-08 12:12:20 1315

原创 JDK源代码分析——Thread

说实话,这部分东西太多了,而且涉及到JNI和JVM的东西,先只分析一小部分,以后再补上//runnable是只有一个run函数的接口publicclass Thread implements Runnable { /* Make sure registerNatives is the first thing does. */ //jni private static

2013-10-06 20:56:27 1061

原创 java类库原码分析---Integer

其实这些东西比较简单,只是需要讲一下小整数的缓冲池(python的底层也是有的,这是相互抄袭的结果??),先看看代码private static class IntegerCache { static final int high; static final Integer cache[]; //静态块中完成整数缓冲池的初始化

2013-10-06 16:01:44 790

原创 Mysql源代码分析---网络初始化

//这些比较简单,看看注释就能明白了/*初始化网络,主要是初始化网络监听的套接字ip_socket和用于本地监听的unix_sock*/static void network_init(void){  struct sockaddr_in IPaddr;#ifdef HAVE_SYS_UN_H  struct sockaddr_un UNIXaddr;#endif

2013-09-21 17:08:05 1028

原创 深入理解C++引用

首先什么是引用?我将使用程序来回答你:首先来个最简单的代码:int i = 10;int &ri = i;int *p = &i;看看生成的代码://对i变量的说明.globl i .data .align 4 .type i, @object .size i, 4//分配int i的内存并初始化i: .long 10//对ri的说明,注意引用是放在rodata中

2013-05-27 16:20:45 950 2

原创 linux内核kobject事件处理详解

/*所有事件的名称列表*/static const char *kobject_actions[] = { [KOBJ_ADD] = "add", [KOBJ_REMOVE] = "remove", [KOBJ_CHANGE] = "change", [KOBJ_MOVE] = "move", [KOBJ_ONLINE] = "online", [KOBJ_OFFLINE]

2013-04-22 14:34:26 1209

原创 Linux驱动模型——kobject剖析

/*struct kobj_type的声明*/struct kobj_type{ /*用于释放kobject*/ void (*release)(struct kobject *kobj); /*sys的操作表*/ const struct sysfs_ops *sys_ops; /*内核对象的属性,对应于sys文件系统的文件*/ struct attribute **defaul

2013-04-20 20:29:37 875

原创 minx文件系统源代码分析——超级块操作表

Minix 文件系统的超级快操作表如下:static const struct super_operations minix_sops = { .alloc_inode = minix_alloc_inode,//分配inode .destroy_inode = minix_destroy_inode,//销毁inode .write_inode = minix_write_inode,

2013-04-06 13:41:33 1791

原创 用C实现一个简单的泛型

谁说只有C++才可以实现泛型,C照样也是可以的,废话少说,上代码/** * c实现泛型排序 * 示例是用泛型实现数字,字符串的排序 **/#include /**/#define SORT_INIT(T, name)\void sort_##name(T *array, int num, int (*SortFunc)(T a, T b))\{\ int i = 1;\ in

2012-11-14 23:49:28 895

原创 哈尔滨工业大学操作系统第六次实验---姚逢靖

如何对输出字符进行过滤,我的第二种方案是采用将待输出的字符串输出过滤到一块映射到用户态的内存中,这种方法的好处是不管是什么样的文件都不需要修改它的“write”函数。修改进程控制快(sched.h),修改struct task_struct的最后两行,修改INIT_TASK :#ifndef _SCHED_H#define _SCHED_H#define NR_TASK

2012-11-04 16:37:31 2016 2

原创 python字符串的Intern

我们知道对于一般的单字符,比如‘a'对于i = 'a', b = 'a'id(i) = id(b)成立,因为单字符存在字符缓冲池中,对于字符串比如i = 'abcdef', b = 'abcdef'id(i) = id(b)也成立,因为这些字符串会被Intern,所以i和b实际上指向的是同一个内存地址但是这种情况呢?i = ‘id(i)=id(b)?,在python

2012-10-28 22:56:07 927

原创 我花了11天写的操作系统Yinux0.01版

本操作系统系个人原创,版权属于姚逢靖(哈尔滨工业大学计算机系10级本科生)和Footoo实验室。每个人都可自由下载,但哈工大的学生特别是10级本科生请不要当操作系统作业交,否则会被查重的~~  本操作系统最终效果如图,三个进程不停的进行获得自己的pid的系统调用,进程1还调用设置系统时间的系统调用,设置系统的时间(时间不准,被我故意调快了,为了效果好一点)       如果需要用一个字来形

2012-08-01 16:52:17 3013 2

Yinux操作系统源代码

这源代码系个人原创,花费了大量的精力,所以分要得比较高,版权属于姚逢靖(哈尔滨工业大学计算机系10级本科生)和Footoo实验室。每个人都可自由下载,但哈工大的学生特别是10级本科生请不要当操作系统作业交,否则会被查重的~~具体说明请看我的博客

2012-08-01

netbeans安装

neatbeans的安装脚本,在shell中直接sudo chmod +x net.. ./net...就能联网安装了

2012-04-15

Linux下Socket编程

linux下socket的编程

2012-01-07

QNX环境下多线程编程.pdf

QNX环境下多线程编程.pdf

2012-01-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除