11 2013 档案

摘要:/* * enum类型不允许继承 * 除了这一点,我们基本上可以将enum看作一个常规的类 * 我们可以添加自己的方法与属性,我们也可以覆盖其中的方法。 * 不过一定要在enum实例序列的最后添加分号 */enum Hot{ LITTLE("litele hot"), MEDIEM("mediem hot"), HOT("very hot"); /* * 添加自己的属性和方法 */ private String des; private Hot(String s) { des = s; } public String getDes() 阅读全文
posted @ 2013-11-30 16:03 E_star 阅读(354) 评论(0) 推荐(0) 编辑
摘要:HDUFibonacci again and again思路:把整个游戏看成三个子游戏,然后求游戏的和关键理解g(x) = mex(g(y), y€f(x)) , f(x)表示由x点可达的点,import java.util.Arrays;import java.util.Scanner;public class Main { public int[] fib = new int[20]; public boolean[] vt = new boolean[20]; public static int[] g = new int[1002]; public vo... 阅读全文
posted @ 2013-11-29 20:10 E_star 阅读(352) 评论(0) 推荐(0) 编辑
摘要:我们仔细研究了Nim游戏,并且了解了找出必胜策略的方法。但如果把Nim的规则略加改变,你还能很快找出必胜策略吗?比如说:有n堆石子,每次可以从第1堆石子里取1颗、2颗或3颗,可以从第2堆石子里取奇数颗,可以从第3堆及以后石子里取任意颗……这时看上去问题复杂了很多,但相信你如果掌握了本节的内容,类似的千变万化的问题都是不成问题的。现在我们来研究一个看上去似乎更为一般的游戏:给定一个有向无环图和一个起始顶点上的一枚棋子,两名选手交替的将这枚棋子沿有向边进行移动,无法移动者判负。事实上,这个游戏可以认为是所有Impartial Combinatorial Games的抽象模型。也就是说,任何一个IC 阅读全文
posted @ 2013-11-29 19:26 E_star 阅读(528) 评论(0) 推荐(0) 编辑
摘要:记得大二的时候还研究过,后来一直放着也没弄过。 不过今天做TC的时候自己分析到了博弈,发现怎么都不记得了。复习一下.......... 以后工作可能要与Java 打交道了,所以 ......还是练练Java实现吧....寻找平衡状态(也称必败态, 奇异局势),(满足:任意非平衡态经过一次操作可以变为平衡态)(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜.n = (m+1)r+s , (r为任意自然数,s≤m), 即n%(m+1) != 0, 则先取者肯定获胜hdu 4674import java.util.Sc 阅读全文
posted @ 2013-11-29 15:17 E_star 阅读(3390) 评论(0) 推荐(0) 编辑
摘要:我们知道对象的持持久化有三种方式:1: 对象序列化2: XML3: 数据库技术序列化可以帮助使得对象的生命周期不取决与程序是否正在执行,它可以生存于程序的调用之间。 只要将任何对象序列化到单一流中,就可以恢复出与我们写出时一样的对象网,并且没有任何重复复制的对象。序列化技术包括序列化和饭序列化我们可以通过实现Serializable接口来实现对象的序列化。class Data implements Serializable{ private int n; public Data(int i) { n = i; } @Override public String toString() { r.. 阅读全文
posted @ 2013-11-28 19:58 E_star 阅读(337) 评论(0) 推荐(0) 编辑
摘要:文件加锁:文件加锁机制允许我们同步访问某个作为共享资源的文件。public class Test { public static void main(String[] args) throws IOException { FileOutputStream fos = new FileOutputStream("test.txt"); /* * 通过tryLock 或者 lock 获得整个文件的FileLock * tryLock(position, size, shared) 对文件进行部分加锁 */ FileLock fileLock = fos.getChannel() 阅读全文
posted @ 2013-11-27 22:14 E_star 阅读(531) 评论(0) 推荐(0) 编辑
摘要:给出一个学习的链接讲的很全。。http://ifeve.com/java-nio-all/上边的是中文翻译的这里是原地址:http://tutorials.jenkov.com/java-nio/overview.htmlChannel:FileChannelDatagramChannelSocketChannelServerSocketChannelBuffer:ByteBufferCharBufferDoubleBufferFloatBufferIntBufferLongBufferShortBufferMappedyteufferSelector:利用Channel与Buffer对文件的 阅读全文
posted @ 2013-11-26 20:25 E_star 阅读(444) 评论(0) 推荐(0) 编辑
摘要:public class Test{ /* * 标准的I/O重定向 * System.setIn(InputStream) * System.setOut(PrintStream) * System.setErr(PrintStream) */ public static void main(String[] args) throws IOException { PrintStream console = System.out; BufferedInputStream in = new BufferedInputStream(new FileInputStream("/home/.. 阅读全文
posted @ 2013-11-26 14:52 E_star 阅读(283) 评论(0) 推荐(0) 编辑
摘要:import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.FilenameFilter;import java.io.IOException;import java.io.PrintWriter;import java.io.ObjectInputStream.GetField;import java.lang.ref.PhantomReferen 阅读全文
posted @ 2013-11-26 14:36 E_star 阅读(290) 评论(0) 推荐(0) 编辑
摘要:File我们出看可能会根据字面意思理解为文件,其实它既代表文件又代表目录。这里有一个例子可以列出指定目录下的所有文件或目录, 以及我们可以过滤得到我们想要的文件import java.io.File;import java.io.FilenameFilter;import java.lang.ref.PhantomReference;import java.lang.ref.Reference;import java.lang.ref.ReferenceQueue;import java.lang.ref.SoftReference;import java.lang.ref.WeakRefer 阅读全文
posted @ 2013-11-25 21:47 E_star 阅读(366) 评论(0) 推荐(1) 编辑
摘要:Java中没有指针,到处都是引用(除了基本类型)。所以,当然,你肯定知道java的引用,并用了很久,但是是不是对此了解地比较全面?而这些引用有什么作用,且有什么不同呢?Java中有个java.lang.ref包,这里面都是描述引用对象的,包括了Reference,SoftReference,WeakReference和PhantomReference。其中,Reference是基类其他三个类的基类。下面就这几种引用对象做个说明。强引用(Strong References)我们每天都在用强引用(如果你每天都在用java的话),一段如下的代码:HashMap mapRef = new HashMa 阅读全文
posted @ 2013-11-25 16:58 E_star 阅读(16260) 评论(0) 推荐(0) 编辑
摘要:我们通过Collections.unmodifiableX来得到只读容器,因为容器被设为只读的,所以必须填入有意义的数据之后才进行设置import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;import java.util.Collections;import java.util.HashSet;import java.util.List;import java.util.Set;/* * 创建只读容器 */public class Test{ public static Collection 阅读全文
posted @ 2013-11-25 15:29 E_star 阅读(582) 评论(0) 推荐(0) 编辑
摘要:import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;import java.util.Collections;import java.util.List;public class Test{ public static void main(String[] args) { /* * Arrays 提供了很多对数组操作的函数 * 这里只演示几个常用功能呢个 */ System.out.println("-----------Arrays-------------... 阅读全文
posted @ 2013-11-25 11:41 E_star 阅读(434) 评论(0) 推荐(0) 编辑
摘要:我们可以通过Arrays.asList() 产生一个List,但是要记住,我们通过Arrays.asList产生的list是基于一个固定大小的数组的, 仅支持那些不会改变数组大小的操作。所以我们在使用时要时刻记住,以免出现不可预料的错误。如果我们想要得到一个可以操作的List可以通过将Arrays.asList获得的list作为构造器的参数传进ArrayList中,或者通过使用addAll方法添加进去,即可。示例:import java.util.AbstractList;import java.util.AbstractMap;import java.util.ArrayList;impor 阅读全文
posted @ 2013-11-24 16:16 E_star 阅读(1012) 评论(0) 推荐(0) 编辑
摘要:昨天晚上看了一下关于iBatis的一个讲解的视频,讲的和我的这个简单的总结差不多....思考了一下还是把主要操作都总结一下吧,当然这里也不是全的,知识简单的CRUD。。。首先我觉得持久层的操作主要就是这几个:public interface IPersonDao { //添加 public boolean addPerson(Person person); //更新 public boolean updatePerson(Person person); //删除 根据ID删除, 批量删除 public boolean deletePersonById(int id); public boole 阅读全文
posted @ 2013-11-23 20:10 E_star 阅读(415) 评论(0) 推荐(0) 编辑
摘要:转载自:http://blog.csdn.net/panxueji/article/details/9852795一、ibatis介绍ibatis始于2002年,2010年更名为mybatis,并迁移到了googlecode.com里。ibatis最初侧重于密码软件的开发,现在是一个基于Java的持久层框架。Hibernate与ibatis相比而言:1、Hibernate是“一站式”ORM解决方案而言,ibatis是一种“半自动化”的ORM实现。2、Ibatis需要手写sql语句,也可以生成一部分,Hibernate则基本上可以自动生成,偶而需要写一些Hql。3、维护性方面:iBatis 的 阅读全文
posted @ 2013-11-23 15:56 E_star 阅读(1230) 评论(0) 推荐(0) 编辑
摘要:insert into t_person( id, name, age ) values( #id#, #name#, #age# ) 注意:LAST_INSERT_ID 是与table无关的。 1、如果向表a插入多条数据后,LAST_INSERT_ID返回的是第一条插入的record的Id; 2、如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID就会改变。 一般情况下获取刚插入的数据的id,使用select max(id) ... 阅读全文
posted @ 2013-11-23 11:07 E_star 阅读(1311) 评论(0) 推荐(0) 编辑
摘要:1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql3.导出一个数据库结构mysqldump -u wcnc -p -d –add-drop-table smg 阅读全文
posted @ 2013-11-23 10:23 E_star 阅读(397) 评论(0) 推荐(0) 编辑
摘要:概述: Java泛型在使用过程有诸多的问题,如不存在List.class, List不能赋值给List(不可协变),奇怪的ClassCastException等。 正确的使用Java泛型需要深入的了解Java的一些概念,如协变,桥接方法,以及这篇笔记记录的类型擦除。Java泛型的处理几乎都在编译器中进行,编译器生成的bytecode是不包涵泛型信息的,泛型类型信息将在编译处理是被擦除,这个过程即类型擦除。编译器如何处理泛型:通常情况下,一个编译器处理泛型有两种方式: 1.Code specialization。在实例化一个泛型类或泛型方法时都产生一份新的目标代码(字节码or二进制代码)。例如. 阅读全文
posted @ 2013-11-22 21:44 E_star 阅读(611) 评论(0) 推荐(0) 编辑
摘要:Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。对于泛型概念的引入,开发社区的观点是褒贬不一。从好的方面来说,泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误,因为编译器可以在编译时刻就发现很多明显的错误。而从不好的地方来说,为了保证与旧有版本的兼容性,Java泛型的实现上存在着一些不够优雅的地方。当然这也是任何有历史的编程语言所需要承担的历史包袱。后续的版本更新会为早期的设计缺陷所累。开发人 阅读全文
posted @ 2013-11-22 20:32 E_star 阅读(841) 评论(0) 推荐(0) 编辑
摘要:生成器是一种专门负责创建对象的类,实际上这是工厂方法设计模式的一种应用, 当时用生成器创建对象时,它不需要任何参数,而工厂方法一般需要参数。import java.util.Iterator;import java.util.Random;//一般来说一个生成器只定义一个方法,该方法用以产生新的对象interface Generator { public T next();}//一个继承体系class Coffee { private static long counter = 0; private final long id = counter++; @Override public St. 阅读全文
posted @ 2013-11-21 21:50 E_star 阅读(436) 评论(0) 推荐(0) 编辑
摘要:代理模式代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。按照代理的创建时期,代理类可以分为两种。静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。动态代理:在程序运行时,运用反射机制动态创建而成。静态代理:interface IBase{ public void 阅读全文
posted @ 2013-11-21 20:22 E_star 阅读(324) 评论(0) 推荐(0) 编辑
摘要:什么是反射在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。反射有什么用1,在运行时判断任意一个对象所属的类;2,在运行时构造任意一个类的对象;3,在运行时判断任意一个类所具有的成员变量和方法;4,在运行时调用任意一个对象的方法;5,生成动态代理。实现Java反射的类1)Class:它表示正在运行的Java应用程序中的类和接口2)Field:提供有关类或接口的属性信息,以及对它的动态访问权限3)Constructor:提供关于类的单个构造方法的信息以及对它 阅读全文
posted @ 2013-11-21 17:24 E_star 阅读(306) 评论(0) 推荐(0) 编辑
摘要:RTTI可以帮助我们在运行时识别对象和类的信息。一般传统的RTTI有三种实现方式:1. 向上转型或向下转型(upcasting and downcasting),在java中,向下转型(父类转成子类)需要强制类型转换2. Class对象(用了Class对象,不代表就是反射,如果只是用Class对象cast成指定的类,那就还是传统的RTTI)3. instanceof或isInstance()通过Class对象实现RTTI interface HasBatteries{}interface Waterproof{}interface Shoots{}class Toy{ Toy() {} Toy 阅读全文
posted @ 2013-11-20 18:47 E_star 阅读(546) 评论(0) 推荐(0) 编辑
摘要:一般来说比起功能有限的String类,我们更愿意构造功能强大的正则表达式。我们可以通过Pattern 与 Matcher 来构建功能强大的正则表达式import java.io.File;import java.io.FileNotFoundException;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;public cl 阅读全文
posted @ 2013-11-19 22:00 E_star 阅读(508) 评论(0) 推荐(0) 编辑
摘要:首先正则表达式在处理字符串问题时,真的非常强大。正则可以帮助我们处理字符串的: 匹配, 选择, 编辑, 验证等问题。正则中"\\"表示插入一个"\"这里仅是记录String 与 正则的结合:1:验证:import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner cin = new Scanner(System.in 阅读全文
posted @ 2013-11-19 19:06 E_star 阅读(453) 评论(0) 推荐(0) 编辑
摘要:来自: Java编程思想P287public class Main { /** * @param args */ @Override public String toString() { return "Main" + this; // 这里我们调用this的话,就默认调用了toString() 无限递归了 } public static void main(String[] args) { // TODO Auto-generated method stub Main a = new Main(); System.out.println(a); }} 阅读全文
posted @ 2013-11-19 17:09 E_star 阅读(328) 评论(0) 推荐(0) 编辑
摘要:1.首先你需要到oracle官网下载最新版本的JDK。跑到oracle官网,自己到Download下面找找吧2.转到下载路径,对下载后的文件解压缩,比如我下载的文件名为jdk-7u7-linux-i586.tar.gzcdxxx(你的下载路径)sudotar zxvfjdk-7u7-linux-i586.tar.gz3.要将解压缩出来的文件夹拷贝到/usr/lib/jdk中,假设我解压出来的文件夹为jdk1.7.0_07sudocp -rjdk1.7.0_07/usr/lib/jdk注意:如果/usr/lib/jdk不存在,就自己手动建一个,名字叫jdk或者jvm啥的都可以sudomkdir 阅读全文
posted @ 2013-11-18 18:20 E_star 阅读(295) 评论(1) 推荐(0) 编辑
摘要:如果在一个构造器的内部调用正在构造的的对象的某个动态绑定的方法,会发生什么情况?我们来看一个例子:class Glyph{ public void draw() { System.out.println("Glyph draw"); } Glyph() { System.out.println("Glyph before draw"); draw(); //调用动态绑定的方法 System.out.println("Glyph after draw"); }}class RoundGlyph extends Glyph{ privat 阅读全文
posted @ 2013-11-16 10:03 E_star 阅读(334) 评论(0) 推荐(0) 编辑
摘要:一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。final类不能被继承,没有子类,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承,重载。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。final不能用于修饰构造方法。注意:父类的private成员方法是不能被子类方法覆盖的,因此private类型的方法默认是final类型的。1、final类 final类不能被继承,因此final类的成员方法没有机会 阅读全文
posted @ 2013-11-15 11:39 E_star 阅读(310) 评论(0) 推荐(0) 编辑
摘要:1. 垃圾回收的意义 在C++中,对象所占的内存在程序结束运行之前一直被占用,在明确释放之前不能分配给其它对象;而在Java中,当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。JVM的一个系统级线程会自动释放该内存块。垃圾回收意味着程序不再需要的对象是"无用信息",这些信息将被丢弃。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。事实上,除了释放没用的对象,垃圾回收也可以清除内存记录碎片。由于创建对象和垃圾回收器释放丢弃对象所占的内存空间,内存会出现碎片。碎片是分配给对象的内存块之间的空闲内存洞。碎片整理将所占用的堆内存移到堆的 阅读全文
posted @ 2013-11-14 18:23 E_star 阅读(417) 评论(0) 推荐(0) 编辑
摘要:System.gc :告诉垃圾收集器打算进行垃圾收集,而垃圾收集器进不进行收集是不确定的。只是建议进行回收System.runFinalization():网上搜了一下很多人都说强制调用已经失去引用的对象的finalize方法。但是我用下边的程序测试了一下class Chair{ public int i; public static int created = 0; public Chair() { i = ++created; } @Override protected void finalize() throws Throwable { System.out.println(" 阅读全文
posted @ 2013-11-14 18:16 E_star 阅读(2260) 评论(1) 推荐(1) 编辑
摘要:转载:http://blog.csdn.net/weizhee/article/details/562833析构函数在下边3种情况时被调用:1.对象生命周期结束,被销毁时;2.delete指向对象的指针时,或delete指向对象的基类类型指针,而其基类虚构函数是虚函数时;3.对象i是对象o的成员,o的析构函数被调用时,对象i的析构函数也被调用。情况1请看下边代码:#includeclass A{public:A(){coutclass A{public:A(){coutclass A{public:A(){cout<<"constructing A"<&l 阅读全文
posted @ 2013-11-13 17:29 E_star 阅读(537) 评论(0) 推荐(0) 编辑
摘要:首先this作为关键字其实是随着对象的创建而产生的,当我们调用对象的一个方法的时候:例如:A a = new A();a.f(1) 其实我们可以理解为a.f(a,1) 编译器默默的把所操作的对象的引用作为第一个参数传递给了f()。 而this就代表了这个引用。 this只能在方法内部使用,表示“调用该方法的那个对象的引用”this调用类中的属性就不多说了,就表示传进来的对象调用属性。重点记录一下this语句, 如果想在构造函数里面调用构造函数的话就必须用到了this语句。给出一个例子来说明this语句的用法import java.math.BigInteger;import java.util 阅读全文
posted @ 2013-11-13 17:08 E_star 阅读(450) 评论(0) 推荐(0) 编辑
摘要:首先不带标签的break,continue 就不介绍了。大家平时用的最多的也就是这样的情况了。首先Java中没有goto,但是可以利用带标签的break, continue来实现类似的跳转。首先来看一个例子: label: for (int i = 0; i < 10; ++i) { for (int j = 0; j < 10; ++j) { System.out.println(j); continue label; } } label: for (int i = 0; i < 10; ++i) { for (int j = 0; j < 10; ++... 阅读全文
posted @ 2013-11-13 10:38 E_star 阅读(509) 评论(0) 推荐(0) 编辑
摘要:流控制语句: for…done语句 格式:for 变量 in 名字表 do 命令列表 done 例子: #!/bin/shfor DAY in Sunday Monday Tuesday Wednesday Thursday Friday Saturdaydoecho "The day is : $DAY"done select 变量 in 关键字do command 1 ... ... command ndoneselect把关键字中的每一项做成类似表单,以交互的方式执行do和done之间的命令。case…esac语句,格式: case 变量 in... 阅读全文
posted @ 2013-11-09 23:06 E_star 阅读(425) 评论(0) 推荐(0) 编辑
摘要:首先来一个小程序,来查看所在目录,以及该目录下的文件#!/bin/sh # “#!”指定用sh执行shell脚本#this is to show workstation # “#” 表示注释echo "We are currently in the following directory" # echo 表示输出/bin/pwd #输出用户所在目录echo # 换行echo "This directory contains the following files"/bin/ls #列出该目下的文... 阅读全文
posted @ 2013-11-09 20:34 E_star 阅读(437) 评论(0) 推荐(0) 编辑
摘要:计划任务: 为什么要设置计划任务 : 实现数据库备份,发送系统通知神马的..... 计划任务的命令: 一: at : 安排作业在某一时刻执行一次 nbatch 安排作业在系统负载不重时执行一次 cron : 安排周期性运行的作业 at命令的功能和格式: 功能:安排一个或多个命令在指定的时间运行一次 at的命令格式及参数: at [-f 文件名] 时间 at -d or atrm 删除队列中的任务 at -l or atq 查看队列中的任务 at命令指定时间的方式: 绝对计时方法: midnight noon teatime hh:mm [... 阅读全文
posted @ 2013-11-08 13:00 E_star 阅读(306) 评论(0) 推荐(0) 编辑
摘要:基本概念: 进程和程序的区别 : 1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。 2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。 父进程与子进程: 1、子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程。 2、在Linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。 3、父进程终止子进程自然终止。 (避免出现孤儿进程, 僵尸进程) 前台进程和后台进程: 前... 阅读全文
posted @ 2013-11-08 12:26 E_star 阅读(348) 评论(0) 推荐(0) 编辑
摘要:主要讲两个用户管理的案例:1:限制用户su为root,只允许某个组的的用户su # groupadd sugroup 首先添加我们的用户组 # chmod 4550 /bin/su 改变命令的权限 # chgrp sugroup /bin/su 改变命令的所属组# ls -l /bin/su 查看命令的权限-r-sr-x--- 1 root sugroup 18360 Jan 15 2010 /bin/su设定后,只有sugroup组中的用户可以使用su切换为root# useradd helen# passwd helen# usermod -G sug... 阅读全文
posted @ 2013-11-08 00:14 E_star 阅读(410) 评论(0) 推荐(0) 编辑
摘要:用户组管理命令: groupadd -g 888 webadmin创建用户组webadmin,其GID为888删除用户组: groupdel 组名修改用户组信息 groupmodgroupmod -n apache webadmin修改webadmin组名为apache gpasswd 设置组密码及管理组内成员: -a 添加用户到用户组-d 从用户组中删除用户-A 设置用户组管理员-r 删除用户组密码-R 禁止用户切换为该组 groups 查看用户隶属于哪些用户组newgrp 切换用户组grpck 用户组配置文件检测chgrp 修改文件所属组vigr ... 阅读全文
posted @ 2013-11-07 22:00 E_star 阅读(351) 评论(0) 推荐(0) 编辑
摘要:其实如果我们了解了Linux中用户管理的配置文件之后,完全可以手工管理用户:添加用户: useradd 设置选项 用户名 -D 查看缺省参数u:UIDg:缺省所属用户组GIDG:指定用户所属多个组d:宿主目录s:命令解释器Shellc:描述信息e:指定用户失效时间 删除用户:userdel -r 用户名 -r:删除用户目录手工删除:使用find命令查找属于某个用户或用户组的文件find选项-user、-uid、-group、-gid 1、对需要保留的文件进行移动和备份 2、对不需要的文件进行删除 3、清除用户文件中的相关表项 4、清除用户宿主目录 修改用户信息:... 阅读全文
posted @ 2013-11-07 21:51 E_star 阅读(253) 评论(0) 推荐(0) 编辑
摘要:Linux用户分为三种: 1:超级用户(root,UID=0) 2:普通用户(UID 500-60000) 3:伪用户(UID 1-499) 伪用户: 1、伪用户与系统和程序服务相关 :nbin、daemon、shutdown、halt等,任何Linux系统默认都有这些伪用户 mail、news、games、apache、ftp、mysql及sshd等,与Linux 系统的进程相关 2、伪用户通常不需要或无法登录系统 3、可以没有宿主目录 用户组: 每个用户都至少属于一个用户组 每个用户组可以包括多个用户 同一... 阅读全文
posted @ 2013-11-07 21:38 E_star 阅读(328) 评论(0) 推荐(0) 编辑
摘要:Linux中的是那种软件包: (这里学习是基于redHat的Cent-OS)1:二进制软件包管理(RPM、YUM)2:源代码包安装3:脚本安装(Shell或Java脚本)一: 二进制软件包:RPM包管理: RPM软件包的一个例子: sudo-1.7.2p1-5.el5.i386.rpm 其中包括软件名(sudo),版本号(1.7.2pl),发行号(5.el5),和硬件平台(i386)。 (1) 卸载 : # rpm -e sudo 注意:如果其它软件包有依赖关系,卸载时会产生提示信息,可使用--nodeps强行卸载。 (yum就会自动检测) (2) 装载 :# rpm -ivh sud... 阅读全文
posted @ 2013-11-07 20:49 E_star 阅读(211) 评论(0) 推荐(0) 编辑
摘要:GRUB的配置文件默认为 :/boot/grub/grub.conf # ls -l /etc/grub.confGRUB配置选项:default定义缺省启动系统timeout定义缺省等待时间splashimage定义GURB界面图片hiddenmenu隐藏菜单title定义菜单项名称root设置GRUB的根设备即内核所在的分区kernel定义内核文件所在位置initrd命令加载镜像文件 GRUB命令:e: 编辑当前的启动菜单项c: 进入GRUB的命令行方式b: 启动当前的菜单项d: 删除当前行Esc: 返回GRUB启动菜单界面,取消对当前单项所做的的任何修改 案例:... 阅读全文
posted @ 2013-11-07 20:11 E_star 阅读(707) 评论(0) 推荐(0) 编辑
摘要:开启电源:固件 firmware(CMOS/BIOS) → POST 加电自检 对硬件就行检查↓自举程序 BootLoader(GRUB) → 载入内核↓载入内核 Kernel 1:驱动硬件↓2:启动进程 init↓读取执行配置文件/etc/inittab ↓initdefalut 系统默认运行级别 ↓/etc/rc.d/rc.sysinit 执行该脚本 ↓etc/rc.d/rc 该脚本判断initdefault ↓/etc/rc.d/rcN.d N = 0 -- 6 然后执行对应的启动目录,启动需要的服务程序一: date 显示系统时间 、 hwc... 阅读全文
posted @ 2013-11-05 12:59 E_star 阅读(388) 评论(0) 推荐(0) 编辑
摘要:Vim/Vi是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。Vim/Vi 没有菜单,只有命令。 早前也用过Vim变过C++/C的代码,后来一不用,命令全都忘了,本来就没记多少。这里给出基本的一些操作指令,算是方便以后查看吧。本人是小白.......处于学习阶段。大神勿喷..... 主要的就是vim的三种工作模式:插入命令: a 在光标后附加文本A 在本行行末附加文本i 在光标前插入文本I 在本行开始插入文本o 在光标下插入新行O 在光标上插入新行定位命令:h、方向左键j、方向下键... 阅读全文
posted @ 2013-11-05 11:44 E_star 阅读(362) 评论(0) 推荐(0) 编辑
摘要:本人是看的lamp兄弟连的视频,学习的知识做一下简单,如有错误尽情拍砖。命令补齐 命令补齐允许用户输入文件名起始的若干个字 母后,按键补齐文件名。命令历史 命令历史允许用户浏览先前输入的命令并重新 调用它们,用history命令可以显示命令列表, 按方向键↑和↓可查找以前执行过的命令。别名: 命令别名定义: 范例: alias copy=cp alias xrm= “rm -r ” 如果有参数就要加双引号 查看别名信息:alias 删除别名:unalias copy输入/输出重定向: 同标准I/O一样,Shell... 阅读全文
posted @ 2013-11-04 20:47 E_star 阅读(229) 评论(0) 推荐(0) 编辑
摘要:关机: 命令名称:shutdown 命令所在路径:/usr/sbin/shutdown 执行权限:root 语法:shutdown 功能描述:关机 范例:# shutdown -h now重启: 命令名称:reboot 命令所在路径:/usr/sbin/reboot 执行权限:root 语法:reboot 功能描述:重启系统 范例:# reboot 真正linux作为服务器时,其实开关机很少使用的。。 阅读全文
posted @ 2013-11-04 19:49 E_star 阅读(250) 评论(0) 推荐(0) 编辑
摘要:一: 指令名称:write 指令所在路径:/usr/bin/write 执行权限:All User 语法:write 功能描述:向另外一个用户发信息,以Ctrl+D作 为结束 范例: $ write webmaster(在线用户才能收到消息)二: 指令名称:wall 指令所在路径:/usr/bin/wall 执行权限:All User 语法:wall [message] [文件名] 功能描述:向所有用户广播信息 范例: $ wall Happy New Year!三: 命令名称:ping ... 阅读全文
posted @ 2013-11-04 19:46 E_star 阅读(197) 评论(0) 推荐(0) 编辑
摘要:一: 命令名称:gzip 命令英文原意:GNU zip 命令所在路径:/bin/gzip 执行权限:所有用户 语法:gzip 选项 [文件] 功能描述:压缩文件 压缩后文件格式:.gz 1:只能压缩文件 2:不保留原文件 解压: gunzip 或者 gzip -d 二: 命令名称:tar 命令所在路径:/bin/tar 执行权限:所有用户 语法:tar 选项[cvf] [目录] -c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 功能描述:打包目录 压缩后文件格式:.tar.... 阅读全文
posted @ 2013-11-04 16:12 E_star 阅读(338) 评论(0) 推荐(0) 编辑
摘要:Linux帮助命令简单学习笔记:一: 命令名称:man 命令英文原意:manual 命令所在路径:/usr/bin/man 执行权限:所有用户 语法:man [命令或配置文件] 功能描述:获得帮助信息 范例: $ man ls 查看ls命令的帮助信息 $ man services 查看配置文件services的帮助信息 man 1 默认命令 5配置文件二: 指令名称:info 指令英文原义:information 指令所在路径:/usr/bin/info 执行权限:All User 语法:info [任何关键字] 功能描述:获得帮助信息 范例: $ info ls 查看ls指令的帮助信... 阅读全文
posted @ 2013-11-04 15:59 E_star 阅读(476) 评论(0) 推荐(0) 编辑
摘要:一: 命令名称:which 命令所在路径:/usr/bin/which 执行权限:所有用户 功能描述:显示系统命令所在目录 范例:$ which ls 还有一个whereeis ls 命令二: 命令名称:find 命令所在路径:/usr/bin/find 执行权限:所有用户 语法:find [搜索路径] [搜寻关键字] 功能描述:查找文件或目录 范例: $ find /etc -name init 在目录/etc中查找文件init 这里就涉及到了通配符匹配 *匹配任意字符 >= 0 ?匹配单个字符 -type 文件类型 f二进制... 阅读全文
posted @ 2013-11-04 13:13 E_star 阅读(381) 评论(0) 推荐(0) 编辑
摘要:首先linux中的权限分为三种rwx 代表字符权限对文件的含义对目录的含义r读权限可以查看文件内容 (cat, more, head, tail)可以列出目录中的内容 (ls)w写权限可以修改文件内容(echo, vi)可以在目录中创建、删除文件 (mkdir, touch , rm)x执行权限可以执行文件可以进入目录 (cd )一: 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户 语法:chmod [{ugo}{+-=}{rwx}] [文件或目录] ... 阅读全文
posted @ 2013-11-04 11:20 E_star 阅读(525) 评论(0) 推荐(0) 编辑
摘要:linux中一共有三种用户:1: 所有者u(User) 2: 所属组g(group) 3: 其他用户o(other)linux中权限一共分三种:1: r read 读权限 2: w write 写权限 3: x execute 执行权限 linux中的一切都是文件(视频里面说的,也不知道对不对)命令就是文件中的二进制文件。所有普通用可以使用的命令一般存在 /bin 或者 /usr/binroot 使用的命令 /sbin 或者 /usr/sbin linux中的文件管理是一颗倒树的形式/ 是这可树的根首先特殊的. 表示当前目录.. 表示父节点,父目录 硬链接 与 软... 阅读全文
posted @ 2013-11-03 23:20 E_star 阅读(301) 评论(0) 推荐(0) 编辑
摘要:250pt:直接枚举跳过的位置求和即可。int n,m; int ABS(int a) { if (a p) { n = p.size(); int ans = 0; for (int i = 1; i tmp) ans = tmp; } return ans; } }; View Code 500pt:很简单的O(n^2)的DP:const int inf = 0x7fffffff; int n,m; int dp[N]; boo... 阅读全文
posted @ 2013-11-02 11:50 E_star 阅读(526) 评论(0) 推荐(0) 编辑
摘要:一、简 介工厂设计模式主要是为创建对象提供过度接口,以便将创建对象的具体过程封装起来,达到提高灵活性的目的工厂模式在《Java与模式》中分为三类: 1) 简单工厂模式(Simple Factory) 2) 工厂方法模式(Factory Method) 3) 抽象工厂模式(Abstra... 阅读全文
posted @ 2013-11-01 10:05 E_star 阅读(230) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示