摘要: Linuxshell命令目录(?)[-]Shell介绍目录操作信息显示用户间通信备份压缩信息显示Shell介绍Shell就是用户与操作系统内核kernal2.4之间的接口 ,是一个命令解释器。Shell的主要版本:bash shell(bsh,Linux的默认shell)Korn shell(ksh)tcsh(tsh)目录操作ls 显示文件和目录列表touch 生成一个空文件或更改文件的时间cp 复制文件或目录mv 移动文件或目录、文件或目录改名rm 删除文件或目录cat、tac 显示文本文件内容more、less 分页显示文本文件内容ln 建立链接文件whereis 查找系统文件所在路径fi 阅读全文
posted @ 2013-09-26 16:16 红宝石 阅读(319) 评论(0) 推荐(0) 编辑
摘要: ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一。你可以从这里查看全部的Java面试系列。这篇文章介绍的常见面试题是关于重载(overloading)方法和重写(overriding)方法的。Q.下面代码片段的输出结果是什么?[java]view plaincopypublicclassMethodOverrideVsOverload{publicbooleanequals(MethodOverrideVsOverloadother){System.out.println("MethodOverrideVsOverloadequalsmethodr 阅读全文
posted @ 2013-09-26 16:08 红宝石 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 算法导论(第2版)代码大全(第2版)C++ Primer中文版(第4版)设计模式:可复用面向对象软件的基础浪潮之巅Java编程思想(第4版)Java核心技术卷1:基础知识Java核心技术卷2:高级特性人月神话Linux内核编程C程序设计语言(第2版新版)黑客与画家:硅谷创业之父Paul Graham文集编程之美:微软技术面试心得代码之美软件随想录:程序员部落酋长Joel谈软件架构之美国外计算机科学经典教材:Unix & Linux大学教程深入理解计算机系统(原书第2版)UNIX网络编程 卷1:套接字联网APIUNIX网络编程 卷2:进程间通信自动机理论、语言和计算导论软件架构的艺术Ef 阅读全文
posted @ 2013-09-26 16:06 红宝石 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 一个大型的应用系统,往往需要众多进程协作,进程(Linux进程概念见附1)间通信的重要性显而易见。本系列文章阐述了Linux环境下的几种主要进程间通信手段,并针对每个通信手段关键技术环节给出详细实例。为达到阐明问题的目的,本文还对某些通信手段的内部实现机制进行了分析。序linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的。而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同。前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了“system V IPC”,通信进程局 阅读全文
posted @ 2013-09-26 14:29 红宝石 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 快排最核心的思想就是划分,确定一个枢轴元素(pivot),每一趟划分的目的就是把待排序列分为两部分,前一部分比枢轴小(序列A),后一部分比枢轴大(序列B)。经过一趟划分之后序列变为:{A} pivot {B}。以下是具体步骤:1、确定每一次划分的枢轴元素为当前待排序列的头节点。2、设置Slow和Fast两个游标,Slow指向序列A中的最后一个元素,初始化为枢轴本身(待排序列头节点)。让Fast遍历一遍待排序列,当所指元素比枢轴小时,将Slow往前游一格,交换Slow和Fast所指元素的值,这样仍能保证Slow指向的元素是序列A中的最后一个元素。3、交换Slow所指元素和枢轴元素的值。4、对序列 阅读全文
posted @ 2013-09-26 14:25 红宝石 阅读(687) 评论(0) 推荐(0) 编辑
摘要: 二分查找算法基本思想二分查找算法的前置条件是,一个已经排序好的序列(在本篇文章中为了说明问题的方便,假设这个序列是升序排列的),这样在查找所要查找的元素时,首先与序列中间的元素进行比较,如果大于这个元素,就在当前序列的后半部分继续查找,如果小于这个元素,就在当前序列的前半部分继续查找,直到找到相同的元素,或者所查找的序列范围为空为止.用伪代码来表示, 二分查找算法大致是这个样子的:left=0,right=n-1while(leftt:right=mid-1;return-1;第一个正确的程序根据前面给出的算法思想和伪代码, 我们给出第一个正确的程序,但是,它还有一些小的问题,后面会讲到int 阅读全文
posted @ 2013-09-26 13:57 红宝石 阅读(195) 评论(0) 推荐(0) 编辑
摘要: I、关系数据库设计范式介绍1.1 第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如 果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一 个实例的信息。简而言之,第一范式就是无重复的列。说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。1.2 第二范式(2NF)属性完全依赖于主键[消除部分子函数依赖] ... 阅读全文
posted @ 2013-09-26 13:30 红宝石 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 题目:编一二分法递归查找函数 BinSearch(a(),low, high,n,key)对递减有序数组a中查找key值,查找到返回数组的下标,找不到返回-1。思路:1: 如果待查找的元素比数组中间的元素小 ,那么(此时递归)调用该方法本身的时候,新的“数组”的界限就变成了从low到mid-1 ,也就是“左半端”,然后一直找下去一直到找到了或者是low》high了(没招到,返回-1),方法体结束。 2 同理是右半段。 3就是恰好找到了,此时返回mid,该方法体结束。时间复杂度O(2log2(n));using System;using System.Collections.Generic;us 阅读全文
posted @ 2013-09-26 13:27 红宝石 阅读(237) 评论(0) 推荐(0) 编辑
摘要: Observer还是比较常见的东西,这里我们主要介绍C# Observer设计模式,包括介绍Subject:监视对象和Observer:监视者等方面。我们来看一个新的范例,因为有很多相关的内容,所以本文的进度会稍微快一些:假设我们有个高档的热水器,我们给它通上电,当水温超过95度的时候:1、扬声器会开始发出语音,告诉你水的温度;2、液晶屏也会改变水温的显示,来提示水已经快烧开了。现在我们需要写个程序来模拟这个烧水的过程,我们将定义一个类来代表热水器,我们管它叫:Heater,它有代表水温的字段,叫做temperature;当然,还有必不可少的给水加热方法BoilWater(),一个发出语音警报 阅读全文
posted @ 2013-09-26 11:27 红宝石 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 数组是在我们编程当中经常用到的,想来大家对数组都有一定的概念,这部分内容将给大家详细讲解数组在C#中是如何来定义及使用的。定义:数组是具有同一类型的一组值,数组是引用类型的,因此存在内存堆中。数组中的元素值可以在定义数组时赋予,也可以在定义数组后对单个元素进行赋值。一维数组例:publicstaticvoidMain() { //一维数组 int[]inti=newint[3]{1,2,3}; //定义一个数组inti并定义其只能有3个元素,值分别为1,2,3 inti[1]=4;//改变inti[1]也就是第二个元素的值为4. Console.WriteLine(inti[0],inti[1 阅读全文
posted @ 2013-09-26 11:24 红宝石 阅读(847) 评论(0) 推荐(0) 编辑
摘要: C#提供了一个lock关键字,它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行,而其他线程必须等待。在C#中,C# lock关键字定义如下:lock(expression) statement_blockexpression代表你希望跟踪的对象,通常是对象引用。◆如果你想保护一个类的实例,一般地,你可以使用this;◆如果你想保护一个静态变量(如互斥代码段在一个静态方法内部),一般使用类名就可以了。而statement_block就是互斥段的代码,这段代码在一个时刻内只可能被一个线程执行。下面是一个使用C# lock关键字的典型例子,在 阅读全文
posted @ 2013-09-26 11:15 红宝石 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 一:这里介绍C#内部类能够使用外部类定义的类型和静态方法,但是不能直接使用外部类的实例方法,直接看来,外部类对于内部类的作用更像是一个命名空间。C#语言有很多值得学习的地方,这里我们主要介绍C#内部类,包括介绍instance方法和private方法等方面。C#内部类能够使用外部类定义的类型和静态方法,但是不能直接使用外部类的实例方法,直接看来,外部类对于内部类的作用更像是一个命名空间,在C#中,始终可以用(只要访问控制允许)Sys.Model.Key key = new Model.Key();来创建一个内部类的实例,这个实例与外部类的任何实例没有任何直接的关系。类似于Java中的静态内部类 阅读全文
posted @ 2013-09-26 11:12 红宝石 阅读(9201) 评论(0) 推荐(1) 编辑
摘要: 这次在工作之余用C#写了一个简单的贪吃蛇程序,一般的都是WinForm形式的,这次弄了个控制台版本的,因为C# Console全部都是输入输出流,要在CMD窗口做这种有前台UI界面的程序应该是不适合的,但是想起之前的DOS版本的系统,我觉得应该是可以做到了,所以就花了几个晚上弄了这么一个东西,先上个截图:界面比较简单,一个CMD窗口,其他的就是由字符构成的各种形状,做这种Console的贪吃蛇有以下几个需要注意的地方:1.理解Console这个东西,它是一个标准的I/O输入输出流;2.控制台有2个术语 :屏幕缓冲区和控制台窗口,我们一般获取的大小是控制台大小而不是缓冲区大小,这个可以看看MSD 阅读全文
posted @ 2013-09-26 10:36 红宝石 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 创建型结构型行为型类Factory MethodAdapter_ClassInterpreterTemplate Method 对象Abstract FactoryBuilderPrototypeSingleton Adapter_ObjectBridgeCompositeDecoratorFacadeFlyweightProxy Chain of ResponsibilityCommandIteratorMediatorMementoObserverStateStrategyVisitor 概览 名称Factory Method结构意图定义一个用于创建对象的接口,让子类决定实例化哪一个类。F 阅读全文
posted @ 2013-09-26 08:46 红宝石 阅读(154) 评论(0) 推荐(0) 编辑