摘要: linux 很好,占用系统资源低,低端机都可以流畅的运行.但是偶尔也会遇到像windows下烦人的问题,那就是进程占用CPU100%. 最近我就遇到了这个问题,还好,我使用了一套组合拳,把占用CPU资源100%的进程给干掉了. 步骤是: 1)先top,查看进程运行状况,包括进程ID,CPU占用率等.Linux还是比较友好的,他会把CPU使用率最大的放在最上面,很快我就找到了罪魁祸首:ID:20641 ... 2)找到了进程,那再仔细看一下也无妨,然后ps ax,查看进程运行状况.可以查看到进程的ID号,那个用户在使用,进程命令是什么等. 3)情况了解了,原来是vi init在作怪,用kill. 阅读全文
posted @ 2011-05-13 11:01 Java爱 阅读(1042) 评论(0) 推荐(1) 编辑
摘要: 一、本地变量的使用本地变量就如同局部变量一样,只在本SHELL中起作用。它不会影响到其他SHELL中的变量。1。显示变量值可以使用echo命令。需要注意的是,使用变量的时候必须在变量名前加上$符号2。清除变量使用unset命令可以清除命令。3。显示所有本地SHELL变量SHELL中预定义了一些环境变量。要想显示这些命令,可以使用set命令。 另外,用户自己已经定义过的本地变量也会在其中显示。4。测试变量是否已经赋值${variable:-value}如果变量已经赋值,则使用该变量值。如果变量为空,则使用value。需要注意的是,value并不赋给variable。${variable:=val 阅读全文
posted @ 2011-05-12 08:07 Java爱 阅读(539) 评论(0) 推荐(1) 编辑
摘要: 首先查看虚拟内存的使用情况,使用命令 # free 查看当前系统的内存使用情况。 一般来说,linux的物理内存几乎是完全used。这个和windows非常大的区别,它的内存管理机制将系统内存充分利用,并非windows无论多大的内存都要去使用一些虚拟内存一样。这点需要注意。 Linux下面虚拟内存的默认配置通过命令 # cat /proc/sys/vm/freepages 可以查看,显示的三个数字是当前系统的:最小内存空白页、最低内存空白页和最高内存空白。 注意,这里系统使用虚拟内存的原则是:如果空白页数目低于最高空白页设置,则使用磁盘交换空间。当达到最低空白页设置时,使用内存交换(注:这. 阅读全文
posted @ 2011-05-09 10:59 Java爱 阅读(494) 评论(0) 推荐(1) 编辑
摘要: 我们都知道,内核把线性地址(大多数情况也叫虚拟地址)分为三个部分:物理内存映射区,VMALLOC映射区以及固定映射地址区。这里主要讨论前两种。 所谓的物理内存映射区是指与物理内存一一映射的区域。举个例子来说,如果系统有物理内存512M,那么从0xc0000000至0xc00000000+512M的线性地址就属于物理内存映射区。这块线性地址在系统初始化时就与物理内存建立起一一对应的关系。这里的一一映射是指物理地址和线性地址就差一个偏移量0xc0000000,函数__pa()就是直接把线性地址减去0xc0000000得到物理地址。所以该函数应用范围也就局限于物理地址映射区。对另两个地址区进行__. 阅读全文
posted @ 2011-05-07 11:14 Java爱 阅读(286) 评论(0) 推荐(1) 编辑
摘要: 当文件系统被破坏时,如果使用的是ext2fs类型的文件系统,就可从软盘运行e2fsck命令来修正文件系统中被损坏的数据。对于其他类型的文件系统,可以使用相应的fsck命令。当从软盘上检查文件系统时,最好不要mount安装。 注:文件系统被破坏的常见原因是超级块被损坏,超级块是文件系统的“头部”。它包含文件系统的状态、大小和空闲磁盘块等信息。如果损坏了一个文件系统的超级块(例如不小心直接将数据写到了文件系统的超级块分区中),那么系统可能会完全不识别该文件系统,这样也就不能安装它了,即使采用e2fsck命令也不能处理这个问题。 不过,ext2fs类型的文件系统将超级块的内容进行了备份,并存放于驱动 阅读全文
posted @ 2011-05-06 11:03 Java爱 阅读(444) 评论(0) 推荐(1) 编辑
摘要: #include #include #include #include #include //对输入的模式与待匹配的字符串进行匹配;成功返回0;//pattern : 模式// buf : 待匹配的字符串;int regexp(char *pattern, char * buf) { regex_t reg; int status = 0;int cflags = REG_EXTENDED|REG_NOSUB; char error[32];/* 编译正则表达式*/ status = regcomp (®, pattern, cflags); if (status != 0){ re 阅读全文
posted @ 2011-05-04 10:47 Java爱 阅读(374) 评论(0) 推荐(1) 编辑
摘要: 一、lib类型:与windows下静态库(.lib)和动态库(.dll)一样,linux同样存在静态库(static library 文件后缀为.a)和共享库(shared library 文件后缀为.so),在/usr/lib目录下同时存在一个库的静态版本和动态版本。"An archive (or static library) is simply a collection of object files stored as a single file.When you provide an archive to the linker, the linker searches th 阅读全文
posted @ 2011-05-04 10:35 Java爱 阅读(787) 评论(0) 推荐(1) 编辑
摘要: asmlinkage long sys_socketcall(int call, unsigned long __user *args); {unsigned long a[6];/* 从用户空间得到信息,该函数是SMP安全的 */if (copy_from_user(a, args, nargs[call]))return -EFAULT;switch (call) {case SYS_SOCKET:err = sys_socket(a[0], a[1], a[2]);break;case SYS_BIND:err = sys_bind(a[0], (struct sockaddr __us 阅读全文
posted @ 2011-04-30 20:09 Java爱 阅读(420) 评论(0) 推荐(0) 编辑
摘要: inode 译成中文就是索引节点。每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘 ... ... )被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。 做个比喻,比如一本书,存储设备或分区就相当于这本书,Block相当于书中的每一页,inode 就相当于这本书前面的目录,一本书有很多的内容,如果想查找某部份的内 阅读全文
posted @ 2011-04-25 16:30 Java爱 阅读(461) 评论(0) 推荐(1) 编辑
摘要: linux 软件安装的七种方法一、rpm包安装方式步骤: 1、找到相应的软件包,比如soft.version.rpm,下载到本机某个目录; 2、打开一个终端,su -成root用户; 3、cd soft.version.rpm所在的目录; 4、输入rpm -ivh soft.version.rpm 二、deb包安装方式步骤: 1、找到相应的软件包,比如soft.version.deb,下载到本机某个目录; 2、打开一个终端,su -成root用户; 3、cd soft.version.deb所在的目录; 4、输入dpkg -i soft.version.deb 三、tar.gz源代码包安装方式 阅读全文
posted @ 2011-04-24 19:17 Java爱 阅读(385) 评论(0) 推荐(1) 编辑
摘要: 如何通过网络安装linux?有时,安装linux的机器相当简易,可能没有软驱;或者不支持U盘、光盘启动。在这种情况下安装linux,成了一个FAQ(Freqently Asked Question)。本文介绍了一种安装方法,使得在一台安装了Windows(〉=2k)的机器上安装linux的过程变得简单,同时,这个过程不需要使用软驱、U盘或光驱启动。(下文以Fedora为例) 1、Grub for Dos这个软件是关键Grub for dos实际上包含了几个部分:grub for dos和grub for ntldr(作者好像是中国人)我们只需要grub for ntldr。首先,在window 阅读全文
posted @ 2011-04-23 21:24 Java爱 阅读(480) 评论(0) 推荐(1) 编辑
摘要: Java的GUI编程(Graphic User Interface,图形用户接口),是在它的抽象窗口工具箱(Abstract Window Toolkit,AWT)上实现的,java.awt是AWT的工具类库,其中包括了丰富的图形、用户界面元件和布局管理器的支持。 GUI主要用在两个地方: ◆Application; ◆Applet. 1)GUI界面: 在Java GUI中,用户与程序之间交互的一个控制面板,其内包含有菜单,控件(或组件),容器并能响应用户的事件。 现在有各种各样的窗口系统,不同的窗口系统提供给程序设计的程序库是大不一样的,例如,基于Windows的SDK,和基于Unix平台. 阅读全文
posted @ 2011-03-25 11:01 Java爱 阅读(451) 评论(0) 推荐(1) 编辑
摘要: 在做的的applet中用到了调用javascript程序 调用方法如下: 1 首先引入JSObject 包 // LiveConnect... for JavaScript import netscape.javascript.JSObject ; 2 在调用js的地方用: try { // 创创建JSObject JSObject.getWindow (this).eval ("javascript::window.open()")} catch (Exception ex) { 错误提示 } 注意这里的this指的是applet对象, 可以给你js传递参数 JSObje 阅读全文
posted @ 2011-03-18 11:30 Java爱 阅读(362) 评论(0) 推荐(1) 编辑
摘要: Swing API的设计目标是强大、灵活和易用。特别地,我们希望能让程序员们方便地建立新的Swing组件,不论是从头开始还是通过扩展我们所提供的一些组件。 出于这个目的,我们不要求Swing组件支持多线程访问。相反,我们向组件发送请求并在单一线程中执行请求。 本文讨论线程和Swing组件。目的不仅是为了帮助你以线程安全的方式使用Swing API,而且解释了我们为什么会选择现在这样的线程方案。 本文包括以下内容: 单线程规则:Swing线程在同一时刻仅能被一个线程所访问。一般来说,这个线程是事件派发线程(event-dispatching thread)。 规则的例外:有些操作保证是线程安全. 阅读全文
posted @ 2011-03-14 19:11 Java爱 阅读(288) 评论(0) 推荐(1) 编辑
摘要: 如何编写小应用程序(Applet)并把其嵌入到网页中去的问题在很多关于Java的书中均有讨论。在这里我们不再重复此类问题,而是讨论如何将一个小应用程序用做构件,并能让自己编写的应用程序正常地加载并运行Java小应用程序。 什么是小应用程序(Applet) “Applet”(小应用程序)通常被认为是能嵌入互联网网页的有安全防护的应用程序。应该说这样的定义并不是很精确。下面让我们先来看看小应用程序的内涵。 SimpleApplet”作为独立应用程序运行的情景 小应用程序的基础类是java.applet.Applet类,它扩充自java.awt.Panel类,所以可以说小应用程序是一些面板(Pan. 阅读全文
posted @ 2011-03-11 16:37 Java爱 阅读(267) 评论(0) 推荐(1) 编辑