自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (3)
  • 收藏
  • 关注

转载 Linux 中直接 I/O 机制的介绍

Linux 中直接 I/O 机制的介绍      简介: 对于传统的操作系统来说,普通的 I/O 操作一般会被内核缓存,这种 I/O 被称作缓存 I/O。本文所介绍的文件访问机制不经过操作系统内核的缓存,数据直接在磁盘和应用程序地址空间进行传输,所以该文件访问的机制称作为直接 I/O。Linux 中就提供了这样一种文件访问机制,对于那种将 I/O 缓存存放在用户地址空间的应用程序来说,

2013-06-20 10:40:42 887

原创 makefile中的$@,$<,$^的意思

$@ 扩展成当前规则的目的文件名,$而 $^ 扩展成整个依靠的列表(除掉了里面所有重 复的文件名)

2013-06-08 21:46:20 1080

原创 linux内核编译步骤

整体上分为三步:     1、配置内核(就是确定哪些功能要保留在编译好的内核中,哪些功能要从内核中删除),生成一个编译配置文件.config     2、编译内核。     3、 安装内核。1、到http://www.kernel.org/下载源码包 在这里我们假设下到的源码包为linux-3.2.1.tar.gz2、解压压缩包,并移动到/usr/src下   $t

2013-06-08 15:30:56 1247

原创 linux内核的编译与安装

1、实验背景:主机WIN7     虚拟机VMware (ubuntu12.04)     内核版本linux-3.2.0-23-generic-pae2、下载了新的内核版本linux-3.2.1来进行编译,安装步骤:     1、首先下载你想要编译的内核版本:linux-3.2.1.tar.bz2。     2、进入root权限把刚下载的内核代码复制到/usr/src目录

2013-06-08 14:58:45 20724 1

原创 DOS中切换盘符及目录

1、在cmd中在盘符间进行切换    例如原始是:C:\User\Administer       想要切换到D盘,则直接输入:D:  回车即可,如图:   2、cmd中切换目录(文件夹) 用cd命令:如图:

2013-06-07 15:02:31 12772

原创 卸载虚拟机virtualbox中的ubuntu系统

主机:win7       虚拟机:virtualbox       虚拟机下安装了两个ubutu系统   要求:卸载其中一个ubutu系统   方法:运行虚拟机,在菜单栏点按钮【控制】->【删除】,弹出对话框如下:   可以根据自己的要求,选择是否删除磁盘上的文件。总的来说,卸载虚拟就中的系统,就是删除对应的系统文件就可以了。

2013-06-07 09:18:51 15413

原创 VMware Tools安装方法及解决无法全屏显示问题

环境:VMware8.0虚拟机        ubuntu:12.04在刚安装完ubuntu后,屏幕不能全屏显示,此时: 1、安装VMware Tools 步骤:      1.1     进入ubuntu系统后,点击虚拟机上的【VM】->【install vmware tools】,回到桌面回看到一个vmware tools的  cdrom图标。

2013-06-04 22:43:10 22749 4

原创 虚拟机的虚拟硬盘模式

1、虚拟机的虚拟硬盘有两种模式:一种模式是立即分配所有磁盘空间,比如你设置虚拟硬盘大小为10G,就直接在磁盘上占用10G的空间;如果没有钩选“立即分配所有磁盘空间”,那么虚拟机会根据需要自动增加虚拟硬盘的占用空间大小,但是最大不会超过你设定的虚拟硬盘的磁盘大小。 一般我们都不会钩选“立即分配所有磁盘空间”,这样我先给他100g,比如装完系统占用了2g,再上传了个20g的文件,那么占用物理空间应

2013-06-04 18:53:35 2454

原创 初学者如何在linux/ubuntu下搭建c/c++编程环境

编译器的安装Linux 下最流行的C/C++ 编译器是 gcc. 安装 gcc 只需在终端输入命令 sudo apt-get install build-essential 即可。build-essential 安装的只是 gcc 的命令行编译模块,没有图形界面,没有 IDE (如果你需要Visual Studio这样的IDE, 或者需要开发GUI的话,请安装A

2013-06-04 15:21:26 3556

原创 elf_i386:没有那个文件或目录 解决方法

在make menuconfig配置完之后(选的默认配置),然后就make出现如下错误:gcc: 错误: elf_i386:没有那个文件或目录make[2]: *** [arch/x86/vdso/vdso32-int80.so.dbg] 错误 1make[1]: *** [arch/x86/vdso] 错误 2make: *** [sub-make] 错误 2原因是

2013-06-03 17:10:00 3979

原创 ncurses library安装

问题:编译Linux内核时会提示:Unable to find the ncurses libraries or the required header files.'make menuconfig' requires the ncurses libraries.Install ncurses (ncurses-devel) and try again. ncurses是字

2013-06-03 15:45:34 2175

原创 Ubuntu下查看linux版本,内核版本,系统位数,gcc版本

1. 查看linux版本  sunny@ubuntu:~$cat /etc/issueUbuntu 11.04 \n \l 2. 查看内核版本1) sunny@ubuntu:~$ cat /proc/versionLinux version 2.6.38-13-generic (buildd@rothera) (gcc version 4.5.2 (Ubuntu/Linar

2013-06-03 14:33:28 6861

原创 Ubuntu vi 方向键出现字母问题解决方法

使用vi命令时,不能正常编辑文件,使用方向键时老是出现很多字母 在网上找了个方法 问题已经解决 分享一下: 只要依次执行以下两个命令即可完美解决Ubuntu下vi编辑器方向键变字母的问题。 一.执行命令 sudo apt-get remove vim-common 二.执行命令 sudo apt-get install vim 再试试Vi编辑器,是不是恢复正常了。

2013-06-03 14:17:27 952

原创 解决ubuntu中vi不能正常使用方向键与退格键的问题?

解决ubuntu中vi不能正常使用方向键与退格键的问题?    untu中vi在编辑状态下方向键不能用,还有回格键不能删除等我们平时习惯的一些键都不能使用。解决办法:   可以安装vim full版本,在full版本下键盘正常,安装好后同样使用vi命令。安装vim: ubuntu预装的是vim tiny版本,而需要的是vim full版本。执行下面的语句安装vim fu

2013-06-03 14:16:24 888

原创 VirtualBox安装ubuntu后不能全屏显示的解决方法及设置root密码

先选择“设备”-“安装增强功能”,Ubuntu会自动挂载VBoxGuestAdditions.ISO,并显示在桌面上。 打开终端,利用su或者sudo指令进入root模式(即启用root账号), 要启用 root 帐号的话,那么不妨执行下面的操作: sudo passwd root 此命令将会重新设置 root 的密码,按照提示输入新的密码,并加以确认。之后,就可以用 root

2013-06-03 14:14:55 6378 3

原创 ubuntu中apt-get的默认安装路径

apt-get 下载后,软件所在路径是什么??/var/cache/apt/archivesubuntu 默认的PATH为PATH=/home/brightman/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/gamesapt-get install安装目录是包的维护者确定

2013-06-03 14:09:48 1617

原创 在virtualbox虚拟机下使用u盘

在virtualbox虚拟机中安装ubuntu12.04后,尝试着用u盘拷文件,结果插上u盘后,物理机能识别u盘,但虚拟机没反应。  后来在虚拟机桌面的右下角有下列图标:                      选中第三个,点右键,勾选Generic USB 2.0 后,虚拟机就能识别u盘了。不过此时电脑就识别不了了。

2013-06-03 14:03:54 6440

原创 虚拟机(Virtualbox-Ubuntu)与主机(WIN7)共享文件夹设置

虚拟机(Virtualbox-Ubuntu)与主机(WIN7)共享文件夹设置 环境:win7: 32 位旗舰版     VM: sun vitualbox Linux:ubuntu 12.04;1、设置共享文件夹 1.1  设备->共享文件夹,点击【添加共享文件夹】按钮。 1.2  添加共享文件夹路径和共享文件夹名称。此处D:\GoogleDownLoa

2013-06-03 14:01:41 5784

转载 read 系统调用剖析

大部分程序员可能会有这样的疑问:当在程序中调用库函数 read 时,这个请求是经过哪些处理最终到达磁盘的呢,数据又是怎么被拷贝到用户缓存区的呢?本文介绍了从 read 系统调用发出到结束处理的全过程。该过程包括两个部分:用户空间的处理、核心空间的处理。用户空间处理部分是系统调用从用户态切到核心态的过程。核心空间处理部分则是 read 系统调用在 linux 内核中处理的整个过程。R

2013-05-13 16:52:58 691

转载 多线程编程之————条件变量

一、什么是条件变量       与互斥锁不同,条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。       条件变量使我们可以睡眠等待某种条件出现。条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一个线程使"条件成立"(给出条件成立信号)。条 件的

2013-05-12 09:40:59 675

转载 揭开linux内核中container_of的神秘面纱

在linux 内核中有一个大名鼎鼎的宏container_of(),这个宏是用来干嘛的呢?我们先来看看它在内核中是怎样定义的。呵呵,乍一看不知道是什么东东。我们先来分析一下container_of(ptr,type,member),这里面有ptr,type,member分别代表指针、类型、成员。看一个例子:Struct test        {

2013-05-05 19:57:41 617

原创 zfec源码解析与实例解析

zfec是一种前向纠删码,用于给原始数据增加冗余信息,以提高数据的安全性。zfec提供了诸如c、python等语言的接口。在这里只介绍有关c语言的接口。(这篇文章主要是参考学习博客http://www.dullgull.com/2012/07/zfec-%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/,但是代码部分是原创的并且保证是正确的)   zfec源代码的下

2013-05-05 18:59:17 1012

原创 单向链表的插入删除代码

#include#includetypedef struct NODE{ struct NODE*link; int data; }Node,*Nodep;Nodep CreateListH(int n) //创建有包含头结点的链表{ int i; Node *L=NULL; Node *p=NULL; Node *r=NULL; L=(N

2013-05-04 16:36:31 838

原创 c语言内存分配之局部变量内存分配

局部变量内存分配情况:局部变量保存在栈中(保存地址由高地址到低地址)。先定义先分配内存。         由此可见局部变量分配空间的顺序和变量的声明顺序直接相关,同时按照内存地址由高到低的顺序进行空间分配.先定义,先分配,地址由高到低数组越界问题(看图3和图4)     由于首先声明的是数组a[4],于是在高位

2013-04-26 14:44:42 1910

原创 c程序内存分配及全局变量内存分配

测试环境 VC++6.0 C程序由下面5部分组成:  1)栈——增长方向:自顶向下增长;存放局部变量和函数的参数值。在程序运行时由编译器自动分配释放。 2)堆——动态存储区(由malloc,new分配)。是向高地址扩展的数据类型,是自下向上的扩展方式。一般由程序员释放,若程序员不释放,在程序执行结束时由OS收回。 3)未初始化数据段(bss段)——存放未初始化的全局变量和未初始化的

2013-04-26 14:35:58 1517

转载 两个结构体ifconf和ifreq

用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq,它们对于大多数人来说都是比较陌生的,这里给大家一种比较简单的理解方法,当然只一种帮助理解的方法,在描述中可能会有一些地方与真实定义有所出入,仅供参考.首先先认识一下ifconf和ifreq://ifconf通常是用来保存所有接口信息的//if.hstruct ifconf {

2013-04-17 14:39:59 5958

转载 我使用的linux命令之clear——清除屏幕终端信息

用途说明clear命令是用来清除终端屏幕的(clear the terminal screen),使用过DOS或者Windows的cmd的人知道有个cls命令,可以用来清除屏幕,但Linux底下没有这个命令,我们可以通过使用别名的方式来使Linux系统也具有这个cls命令。另外,按Ctrl+L也可以达到同样的效果,当我们使用vi/vim编辑文件时,如果发现屏幕显示有些混乱,也可以按Ctrl

2013-04-17 09:55:52 9317

原创 ssh远程文件传输命令scp

PS:偶很喜欢用scp这个命令来传输数据。scp命令跟cp命令类似,只不过cp命令是在同一台机器上用的,scp是在两台机器上复制传输数据的命令。scp实质相当于利用SSH协议来传输数据的cp命令。scp 命令   scp 命令是 SSH 中最方便有用的命令了,试想,在两台服务器之间直接传送文件,仅仅用 scp 一个命令就完全解决了。 你可以在一台服务器上 以 root 身份运行#scp

2013-04-15 10:08:03 940

原创 linux下如何解压bz2文件

*.tar.bz2解压命令bzip2 -d    *.tar.bz2上面执行完之后执行下面的命令tar  -xvf    *.tar解压之后就会出现相应的文件夹 *

2013-03-03 16:40:45 1950

原创 ubuntu下启动终端的快捷键

Ctrl+Alt+t这个快捷键貌似很多人还不知道,分享一下,这样就不必每次都得(应用程序->附件->终端)了

2013-03-03 15:06:39 718

原创 一台电脑可以同时安装两个版本的virtual box虚拟机软件吗?

一台电脑可以同时安装两个版本的virtual box虚拟机软件吗?答案是否定的。如果安装了一个版本的虚拟机软件,再安装另一个版本时,系统会自动删掉之前安装的那个版本。而以新安装的版本取代。但是我们可以先安装虚拟机软件(比如:VMWare Workstation或者VirtualBox),然后新建两台虚拟机,分别为它们安装系统即可。注意虚拟机软件只需要装一个,只要在里面新建不同的虚拟机就好了

2013-03-03 13:18:45 13712 1

转载 Struts2 中 Hibernate 关联类 JSON 序列化

通过ajax 的方式请求 action 。返回type='json'的result 。此时不需要物理视图。但返回的JSON格式的值会将Action类中的所有的属性全部遍历序列化。即转换成{属性:值}的格式返回给回调函数。有些Action类中的属性我们并不想序列化。解决方案:在返回类型为json的Result 中配置 子元素的属性 includePropert

2013-02-28 20:50:43 1475

转载 Hibernate关联关系配置(一对多、一对一和多对多)

第一种关联关系:一对多(多对一)"一对多"是最普遍的映射关系,简单来讲就如消费者与订单的关系。一对多:从消费者角的度来说一个消费者可以有多个订单,即为一对多。多对一:从订单的角度来说多个订单可以对应一个消费者,即为多对一。 一对多关系在hbm文件中的配置信息:消费者(一方):xml version="1.0" encoding="utf-

2013-02-26 18:14:24 1074

原创 Navicat for MySQL使用手记(上)--创建数据库和表

Navicat for mysql 是个人使用了几款mysql客户端工具中不错的一款,比较偏向轻量级.之前使用的mysql adminstrator等工具都不怎理想,操作不够人性化. 下面智容信息技术介绍一下这款工具的使用.打开Navicat for mysql 之前,要确保你的mysql是启动状态,因为无非就是要用这个客户端工具管理mysql,如果mysql没有启

2013-01-09 18:39:54 44681 7

原创 Navicat for MySQL使用手记(下)--实现自动备份数据库

备份和还原MySQL数据库 在数据库的管理中,备份和还原是必须做认真做的事情,如果疏忽或者做粗糙了,那么一旦数据库故障后果不堪设想,所以Navicat同样也有备份和还原的功能,相比较创建功能,其备份功能则非常的简单。1、备份数据库在主视图窗口中选择【备份】功能按钮后,在下面的导航栏中点击【新建备份】弹出其提示窗口,在提示窗口中点击【开始】按钮执行备份命令。图

2013-01-09 18:38:38 1817

原创 Navicat for MySQL使用手记(中)--导入/导出数据表

管理和维护数据表和数据库1.   当我们设计完表以后,肯能投入最多时间的就是优化和维护了.Navicat同样给我们提供了一个【维护表】的便捷工具,右键选择表students,在右键菜单靠下的位置有个一个【维护表】的选项,其选项下包括分析表、检查表、优化表、修发表4个命令供我们使用。图: 82.  导出数据表与phpMyAdmin和Mysql-Front相

2013-01-09 18:34:17 1403

原创 myeclipse8.6下安装与配置Spket提示功能

理论上,在MyEclipse8.6的MyEclipse Configuration Center中可以直接下载和安装,但前提是你有合法的LICENSE并且可以访问MyEclipse的网站;否则,安装之后就别想再调试WebProject。。。 一、安装各种方法试了一天,终于发现一个方法可以安装并能正常使用:1。到http://spket.com/download.html下载

2013-01-07 16:03:37 597

原创 SSH所需的jar文件及最后项目目录

编写struts时要用到的jar包:编写hibernate时要用到的jar包:编写spring整合时的jar包。此时spring是2.x最终项目图:

2012-12-13 18:00:46 474

原创 Struts和Hibernate的整合策略

在整合Struts和hibernate时,采用四层架构.其中最上一层为表现层.该层主要负责和用户进行交互,并通过调用业务逻辑层代码实现判断等操作.第二层为业务逻辑层,该层专注于实现业务逻辑功能,通过调用持久层代码来操作数据库.第三层为持久层,该层专注于持久化操作,而不用涉及业务逻辑.第四层为数据库层,即为使用的数据库.  广义的持久层包括DA

2012-12-13 16:40:16 478

原创 Myeclipse8.6下Hibernate框架的配置

Myeclipse8.6下Hibernate-3.6.10Hibernate框架配置: 第一步:在myeclipse下新建项目,并导入Hibernate框架所需的JAR文件。所需JAR文件如下 第二步:添加hibernate配置文件。在项目的src目录下新建hibernate.cfg.xml文件。第三步:创建持久化类XX.java。持久化类主要是与数据表

2012-12-13 16:22:18 988

json-lib-2.4-jdk15及其依赖jar包

在编写extjs用到json时需要加入的jar包

2013-01-19

extJs帮助文档

帮助我们查看extJs中的控件属性及函数。

2013-01-19

javaassist-3.7.ga.jar

编写struts时要用上的jar文件。由于在struts.jar包中不包含,所以需要们额外下载

2012-12-07

空空如也

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

TA关注的人

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