自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

钢琴师

要成为绝世高手,并非一朝一夕,除非是天生武学奇才。但是这种人…万中无一。------好明显我就是这种人

  • 博客(19)
  • 收藏
  • 关注

转载 MagickImage处理图片

http://jingfengluo.iteye.com/blog/230953还在试用中。

2012-02-07 13:05:12 606

原创 从网上下载图片

从网上下载图片的时候可能不知道图片是什么格式的,这样如果用Image.write来写文件的话可能会出问题。刚才尝试用二进制把文件读下来,然后统一成jpg的后缀,这样读取jpeg和gid等格式的文件之后都能正常预览。。。上代码:public class Main { public static String getFormatName(Object object) thr

2012-02-07 10:51:17 490

原创 获取图片的格式

public class Main { private static String subpath = "c:/TEST.gif" ; public static String getFormatName(Object object) throws Exception{ ImageInputStream iis = ImageIO.createImag

2012-02-07 10:11:13 638

webx中target的修改

webx框架大部分的逻辑都是通过pipeline来是先的,在

2012-01-19 16:56:55 108

原创 shell编程

$BASH变量保存的是shell的路径:#!/bin/shecho $BASH有两种方法来输出目前Bash进程的PID:#!/bin/shecho $BASHPID和#!/bin/shecho $$

2011-12-11 22:30:05 388

原创 JDO-2

下面来看《POJO IN ACTION》中定餐的例子,类的结构如下:

2011-12-01 09:04:10 382

原创 JDO-1

JDO提供了灵活的ORM机制,使持久化典型领域模型相当直观。对象的持久化标识可用来在数据库里识别这个对象,使用JDO持久化领域模型时,必须做出一个决定是各个类使用哪种对象标识,JDO提供3种不同类型:应用程序标识、数据存储标识和非耐久标识。非耐久标识只用于特殊情况,比如日志文件的数据库表没有主键,对于大部分数据库应用程序来说,这种标识并不适用。这里需要注意的是同一继承体系里的所有类必须使用同一种标

2011-11-30 22:11:39 1298

原创 MemLink之mem

memlink按照天涯的人说是一个灰常牛的key-List系统,比Redis要快很多倍,下面就来一点点看它的代码。在内存中的Block也是通过一个池来管理的,用到的数据结构大致有三个DataBlock、MemItem、MemPool。MemPool的结构如下:typedef struct _mempool{ MemItem *freemem; // 数组 int size; //

2011-11-11 14:28:46 654

原创 系统调用

有些工作如果只是在用户空间是没有办法完成的,比如取得时间、操作文件等,这个时候就需要系统调用了。而一般的系统调用的过程是:我们的程序调用C库包装好的一些函数,这些函数去执行系统调用,然后再把返回的结果给我们看。现在有一个问题就出现了:用户空间是不能去访问内存空间的,那么怎么去运行内核空间中的代码呢?具体的过程如下:       首先程序触发int 0x80软中断陷入内核态。       然

2011-11-09 22:20:26 492

原创 依赖注入

依赖注入的方法有三种:构造子、seter、接口,在网上看到一个写的模拟构造子注入的代码,在我电脑上运行的时候发现一点问题,改了些东西就可以运行了,下面是代码:import java.lang.reflect.Constructor;interface ConstructorParamDeal { public Object [] dealParam(Class [] classes)

2011-11-09 20:59:54 458

原创 适配器模式&外观模式

适配器模式在实际中用的比较多(其实设计模式的思想在平时写代码中都能体现出来),比如在要实现一个功能的时候需要去调用别人写的接口。但是,这里往往就会出现问题,因为别人的接口都是他们根据自己的情况设计出来的。这个时候就需要适配器模式了。我们写一个自己的对象和接口,在接口中调用他们的接口把数据取回来,把自己的对象组装好之后就可以交给客户了。    而外观模式则是另一个种处理现有接口的方式,刚看到这个

2011-11-09 18:37:54 526

原创 网络设备初始化

内核的选项解析完之后便进入各个子系统初始化函数调用阶段。kernel_init通过do_basic_setup调用do_initcalls函数完成。下面我们先来看do_initcalls的代码:static void __init do_initcalls(void){ initcall_t *call; int count = preempt_count(); for (call

2011-11-08 20:53:31 1331

原创 通知链

内核的很多子系统之间有很强的相互依赖性,因此,其中一个子系统侦测到的或者产生的事件,其他的子系统可能很感兴趣。为了实现这种交互需求,Linux使用了所谓的通知链。通知链上的是一个个的notifiter_block结构:struct notifier_block { int (*notifier_call)(struct notifier_block *, unsigned long, v

2011-11-08 08:33:48 1570

原创 分布式中的同步算法(PAXOS)

PAXOS是为了解决分布式系统中的一致性问题。在描述中有三种角色:提案者(p)、批准者(a)、学习者(l)。提案者们提出了几种提案,通过该算法批准者选出一个提案被通过并被学习者学习。PAXOS的基本思想是只有提案者中的一个多数派批准一个提案,该值才被认为通过。下面是规则不断改变以满足要求的过程以及证明。    P1:一个批准者必须接受它收到的第一个提案。    这种规则其实就是p只能批

2011-11-07 09:40:49 1216

原创 Ext文件系统中的日志处理

下面从ext2_new_inode和ext3_new_inode看看日志和没有日志的区别,在没有涉及到写操作的时候是和原来一样的,下面是在要写inode位图的代码:// 取得写入权限err = ext3_journal_get_write_access(handle, bitmap_bh);// 设置位图中的位if (!ext3_set_bit_atomic(sb_bgl_lock(

2011-11-06 15:25:50 2475

原创 寻找数据块【ext2_get_bloks】

其实硬盘上的文件和内存中的还是有几分相像的,刚开始看的时候复杂程度严重的查处了想象,看完之后很多的操作都是比较经典并且看起来理所当然。硬盘不像内存,随机访问是需要相当大的代价的,所以在存放数据的时候就需要把顺序访问的数据放在一起,而一些经常用到的数据,比如ext2_super_b

2011-09-29 19:45:02 1664

原创 读取超级块【ext2_fill_super】

该函数是的作用其实很简单,就是为了取得超级快的信息。但是比较麻烦的地方是,如果没有超级块的信息,我们对硬盘还一无所知,怎么读取到想要的信息?//从data参数中读取超级块的块号“sb=XXXX”unsigned long sb_block = get_sb_block(

2011-09-29 15:30:28 3989 1

原创 Ext2文件系统中的数据结构

1、Ext2文件系统的结构:2、硬盘上面各个数据结构的定义:2.1 超结块struct ext2_super_block { __le32 s_inodes_count; /* Inodes count */

2011-09-29 11:49:51 1726

原创 红黑树<C语言实现>

#include #include const int RED = 0;const int BLACK = 1;struct rb_node{ rb_node* lchild, *rchild, *parent; int key, colour;};

2011-09-29 11:35:37 1014

空空如也

空空如也

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

TA关注的人

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