摘要: 经常可以看到点击一个文件,然后就可以下载。这个功能在php中实现可以通过下面的代码:if(is_file($file)){ header("Content-Type: application/force-download"); header("Content-Disposition: a... 阅读全文
posted @ 2014-09-27 23:10 马七风 阅读(774) 评论(0) 推荐(0) 编辑
摘要: 下面是一个26进制转十进制的算法,目的是将字母(A~Z)转化为十进制的数字。主要用途是为了解决使用phpExcel解析Excel表格的时候,在Excel表格中列是由字母表示的,而很多情况下我们需要了解到当前的列是哪一行,也就是列的行数。所以才有了此算法。function litterToNumber... 阅读全文
posted @ 2014-09-27 22:54 马七风 阅读(2757) 评论(0) 推荐(0) 编辑
摘要: 前言:本篇博客主要讲解PHP的可变变量的作用和用法。文章中所涉及到的例子来自http://php.net/manual/zh/language.variables.variable.php,稍有改动。正文: PHP中有一种变量叫做可变变量,这种变量不是一种基础类型的变量。可变变量是指一个普通变量的... 阅读全文
posted @ 2014-09-02 14:50 马七风 阅读(677) 评论(0) 推荐(0) 编辑
摘要: RISC(reducedinstructionsetcomputer,精简指令集计算机)简称为精简指令集。RISC把执行指令的精力主要放在了经常使用的指令上面。本文主要介绍了在RISC指令集中一条指令的五个主要执行CC(Clock Cycle,时钟周期)的主要涵义以及内容。 这五个时钟周期分别... 阅读全文
posted @ 2014-05-29 15:19 马七风 阅读(3517) 评论(0) 推荐(1) 编辑
摘要: java的基本数据类型中有byte这种,byte存储整型数据,占据1个字节(8 bits),能够存储的数据范围是-128~+127。 Byte是java.lang中的一个类,目的是为基本数据类型byte进行封装。封装有几种好处,比如:1. Byte可以将对象的引用传递,使得多个function共... 阅读全文
posted @ 2014-04-17 16:25 马七风 阅读(59622) 评论(2) 推荐(2) 编辑
摘要: java.lang是java语言的基础包。String类为lang包中的一个基础类。本文主要讨论 "="和"equals()"方法对String的不同判断结果。"=" .VS. "equals()" : "="判断的是两个String类型的引用是否指向同一个对象,如果是,那么表达式结果为tru... 阅读全文
posted @ 2014-04-17 14:00 马七风 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 哲学家就餐问题可以采取预防死锁的方案,就是使用互斥量和信号量锁定资源。互斥量:对资源进行锁定的意思就是说,当一个哲学家使用叉子的时候,他首先要先把叉子锁定,然后,拿起来。这个时候如果别的哲学家也来拿相同的叉子,发现,该叉子是被互斥量锁定了,不能够拿,那么,他就不会来抢占这个叉子,而是在排等待队列中。这样就可以避免死锁的发生。信号量:同样,没有资源的时候,信号量的值是0,有的时候就不断地加1。“0,1”信号和互斥量是相似的。使用互斥量预防死锁代码:/** *哲学家吃饭问题:几个哲学家吃饭,假定哲学家有五个人,这五个哲学家坐在一张圆桌上面, *每个哲学家的左手旁边都放有一个叉子(fork),那么, 阅读全文
posted @ 2013-12-21 14:46 马七风 阅读(1351) 评论(3) 推荐(0) 编辑
摘要: 哲学家就餐问题是计算机操作系统课程中一定会拿来作为死锁教材的经典案例。问题描述如下:哲学家吃饭问题:哲学家聚在一起吃饭,假定哲学家人数是五,这五个哲学家坐在一张圆桌上面,每个哲学家的左手旁边都放有一个叉子(fork),那么,这围城一圈的五个哲学家有五个叉子。每个哲学家有三种状态,thinking(思考),trying(尝试去拿叉子吃饭),eating(已经拿起叉子,正在吃饭)。每次吃饭需要两个叉子,也就是哲学家左右手边的叉子。如图1所示。哲学家吃饭需要两个叉子(吼吼)。图1本实验采用了两种解决死锁的机制:通过定时器(Timer)检测死锁,一旦发生死锁,就将哲学家恢复到初始的状态,然后使得哲学家 阅读全文
posted @ 2013-12-20 14:30 马七风 阅读(567) 评论(0) 推荐(0) 编辑