- 浏览: 73965 次
文章列表
尽管Object是一个具体类,但是设计它主要是为了扩展。它所有的非final方法(equals、hashCode、toString、clone和finalize)都有明确的通用约定,因为它们被设计成是要被覆盖的。
任何一个类,它在覆盖这些方法的时候,都有责任遵 ...
目录权限与文件权限的区别:
Linux系统内文件的三种身份(拥有者、群组与其他人),每种身份都有三种权限(rwx),
能够使用chown, chgrp, chmod去修改这些权限与属性,当然,利用ls -l去观察文件也没问题。
文件权限
文件是实 ...
从程序完成的功能来看,函数库提供的函数通常是不需要操作系统的服务,函数是在用户空间内执行的,除非函数涉及到I/O操作等,一般是不会切到核心态的。
这样程序员可以只要写一次代码就能够在不同版本的linux系统间 ...
1、动态库的编译
下面通过一个例子来介绍如何生成一个动态库。这里有一个头文件:so_test.h,三个.c文件:test_a.c、test_b.c、test_c.c,我们将这几个文件编译成一个动态库:libtest.so。
--------------------------------------
so_test.h:
#include <stdio.h>
#include <stdlib.h>
void test_a();
void test_b();
void test_c();
--------------------------------- ...
rpm命令
(一)查询系统装已经安装的软件信息
对于一个rpm包来说,都是有"-"和"."构成的,基本上有以下几部分组成: * 包名 * 版本信息 * 发布版本号 * 运行平台,当出现noarch,代表的是软件可以平台兼容
1)查询 ...
在Linux中,如果你要使用储存设备 (硬盘、光驱等) ,就得先将它挂上 (Mount),而当储存设备挂上了之后,就可以把它当成一个目录来进行访问。
挂上一个设备使用mount命令。
在使用mount这个指令时,至少要先知道下列三 ...
在Linux环境下使用GNU的make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。
不过这需要我们投入一些时间去完成一个或者多个称之为Makefile 文件的编写 ...
GCC编译流程
GCC的编译流程分为4个步骤,分别为:
1)预处理(Pre-Processing)
在该阶段,编译器分析处理源代码文件中的各种宏指令,如#include,#if等。
2)编译(Compiling)
在该阶段,GCC首先要检查代码的规范性、是否有语法错误等,在检查无误后,GCC把代码翻译为汇编语言。
3)汇编(Assembling)
在该阶段,编译器把编译生成的汇编代码转成二进制目标代码。
4)链接(Linking)
在该阶段,编译器把汇编阶段生成的二进制代码、程序中用到的库文件链接起来,生成可执行文件。
函数库分为:静态库和动态库。
静态库:在链接 ...
1、vi的基本概念
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),
各模式的功能区分如下:
1) 命令行模式command mode)
用户在用Vi编辑文件时,最初进入的模式为命令行模式。在该模式中,可以通过上下移动光标进行“删除”、“复制”、“粘贴”等操作,但无法编辑文字。
2) 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
3) 底行模式(last line mode)
将文件保存或退出vi,也可 ...
源码安装的好处有以下两点:
1、软件根据用户的需要加以定制。
2、二次开发。注:要根据软件的许可证书约定为准,开发者许可二次开发才行。
1)源码包的打包格式
源代码一般以file.tar.gz file.tar.bz2或file.src.rpm打包;file.tar.gz和file.tar.bz2格式的解包命令如下:
tar -jxvf file.tar.bz2
tar -zxvf file.tar.gz
我们解开一个包后,进入解压包,一般都能发现readme、install或doc目录,看名字就知道个差不多,
比如我们下载一个比较新的fcitx 的软件包,比如是 f ...
线下日志可以通过vi查看,但是线上日志最好不要用vi,因为vi可能会修改日志文件。
动态显示查看就用tail -n 50 -f example.txt
普通查看就用less 用法跟vi类似
1、cat命令:
功能:1)显示整个文件。
示例: $ cat fileName
2)把文件串连接后传到基本输出,如将几个文件合并为一个文件或输出到屏幕。
示例: $ cat file1 file2 > file
说明:把档案串连接后传到基本输出(屏幕或加 ...
学习linux,一定要学会查看man。
我们先以mkdir命令来解释读man手册的一些入门知识。
首先第一行 MKDIR(1),显然,MKDIR是命令的大写,那么为什么有个(1)呢,那是因为man手册页有如下的规定:
Section 名称 说明
1用户命令可由任何人启动的
2系统调用即由内核提供的函数
3例程即库函数
4设备即/dev目录下的特殊文件
5文件格式描述例如/etc/passwd
6游戏不用解释啦
7杂项例如宏命令包、惯例等
8系统管理员工具只能由root启动
9其他(Linux特定的)用来存放内核例行程序的文档
l(小写L)本地文档与本特定系统有关的
...
redhat linux有i386 、x86-64 、ppc 三个版本
i386是32位的系统,64位的CPU是可以装i386版的。
x86_64确实是专门为64位CPU设计的,但在其中运行32位程序比较慢。
ppc是用于Mac之类的。
IA32 : 32 bits Intel Architecture (32位带宽Intel构架)
IA64 : 64 bits Intel Architecture (64位带宽Intel构架)
i386 : Intel 386 ( 老的386机器,也泛指IA32体系的CPU)
i486 : Intel 486
i586 : ...
使用原型模式来复制一个对象,从而克隆出多个与原型对象一模一样的对象。
在某些系统中,有些对象的创建过程很昂贵很复杂,而且有时候需要频繁创建。
可以用原型模式解决。
原型模式(Prototype Pattern):原型模式是一种对象创建型模式,用原型实例,指定创建对象的种类,并且通过复制这些原型,创建新的对象。
在原型模式结构中定义了一个抽象原型类,所有的Java类都继承自java.lang.Object,而Object类提供一个clone()方法,可以将一个Java对象复制一份。因此在Java中可以直接使用Object提供的clone()方法来实现对象的克隆(浅拷贝),J ...
复合模式:结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题。
男人、机器人、狗。人都可以说话,狗不会说话。
通过适配器模式,让狗也可以说话。
通过装饰者模式,统计说话次数。
通过工厂模式,来创建人。
通过组合模式,管理一群人。
通过观察者模式,观察机器人说话。
package com.ez.biz;
import com.ez.AbstractPersonFactory;
import com.ez.Person;
import com.ez.impl.Android;
import com.ez.impl.Dog;
imp ...