2009年2月20日星期五

Linux之FTP

ftp 命令表
序号 命 令 功 能
1 ! 执行本地 shell 命令
2 $ 执行宏功能
3 account 发送帐号口令到远程服务器
4 append 附加到文件中
5 ascii 设置 ASCII 码传输类型
6 bell 命令完成时响铃
7 binaey 设置二进制码传输类型
8 bye 结束并退出 ftp
9 case 触发远程文件名大小写变化功能
10 cd 改变远程工作目录
11 cdup 把远程工作目录改为其父目录
12 close 结束 ftp
13 cr 触发回车换行功能
14 delete 删除远程文件
15 debug 触发调试方式
16 dir 列远程目录
17 disconnect 结束 ftp
18 form 设置文件传输格式
19 get 取文件
20 glob 触发本地文件名元字母扩展功能
21 hash 为每个传输缓区触发#号打印功能
22 help 显示求助信息
23 lcd 改变本地工作目录
24 ls 列远程工作目录内容
25 macdef 定义宏功能
26 mdelete 删除远程主机上的多个文件
27 mdir 列多个远程目录的内容
28 mget 取多个文件
29 mkdir 在远程主机上建新目录
30 mls 列多个远程目录的内容
31 mode 设置文件传输方式
32 mput 发送多个文件
33 nmap 设置或取消文件名映射机制
34 ntrans 设置或取消文件名字符变换机制
35 open 连接远程主机
36 prompt 触发交互提示功能
37 proxy 在辅助控制连接上执行一条 ftp 命令
38 put 发送一个文件
39 pwd 显示远程机器上的工作目录
40 quit 结束并退出 ftp
41 quote 发送任意 ftp 命令
42 recv 取文件
43 remotehelp 取远程主机的求助信息
44 rename 重新命名远程文件
45 reset 清除应答队列
46 rmdir 删除远程主机的一个目录
47 runique 触发用本地唯一文件名存储功能
48 send 发送一个文件
49 sendport 为每个数据连接触发使用 PORT
50 status 显示当前状态
51 struct 设置文件传输结构
52 sunique 触发远程唯一主机文件存储功能
53 tenex 设置 tenex 文件传输类型
54 trace 触发分组跟踪功能
55 type 设置文件传输类型
56 user 发送新的用户信息
57 verbose 触发 verbose 方式
58 xmkdir 生成远程主机目录
59 xpwd 显示远程主机工作目录
60 xrmdir 删除远程主机目录
61 ? 显示本地 ftp 求助信息
不同的系统,上述命令可能有所差异,可用“?”获得帮助!

2009年2月19日星期四

Class.forName()与ClassLoader.loadClass()

Class.forName()与ClassLoader.loadClass()都可以装载一个类,区别如下

1. ClassLoader.loadClass()更加底层

2. Class.forName()除了会load这个类一下还会clazz.newInstance()

3. 因此 Class.forName()保证了class里面的static块会执行或者初始化

4. JDBC driver的驱动注册正是在class的static块中完成的

2009年2月18日星期三

AOP术语

Aspect :切面是要实现的交叉功能,是应用系统模块化的一个切面或者领域。切面的最常见的例子是日至记录。
Join point:连接点是应用程序执行过程中插入切面的地点。这个地点可以是方法调用、异常抛出等
Advice:通知是切面的具体实现。它通知应用系统新的行为。如日至文件通知包含了实现日至功能的代码。
Point cut:切入点定义了通知应该应用在哪些连接点。一些AOP框架允许动态创建切入点
Introduction:引入允许你已存在类添加新的方法和属性。可以在不更改类的前提下引入。
Target:目标对象是被通知对象。
Proxy:代理是通知应用程序到目标对象后创建的对象。
Weaving:织入是将切面应用到目标对象从而创建一个新的代理对象的过程。

不忙的时候才是最重要的时候!

最近两个月被手头的工作弄的晕头转向,学习和作息计划经常被打乱,如果之前不忙的时候抓紧时间把该看该学该做的事情都解决了,现在能好过的多啊

忙的时候就应该专心致志的做好手上的事情,不忙的时候也一定要抓紧时间做好准备

2009年2月17日星期二

各种数据库的分页查询

DB2
SELECT * FROM (Select 字段1,字段2,字段3, rownumber() over (ORDER BY 排序用的列名 ASC) AS rn from 表名) AS a1 WHERE a1.rn BETWEEN 10 AND 20

Oracle
SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40) WHERE RN >= 21

SQL Server
select top @pagesize * from table1 where id not in (select top @pagesize*(@page-1) id from table1 order by id) order by id

MySQL
select * from table LIMIT 5,10

SQLPlus登陆

方法一:(注意必须用双引号把后面的引上)
sqlplus "user/pwd@dbname as sysdba"

方法二:
sqlplus /nolog
conn user/pwd@dbname as sysdba

2009年2月16日星期一

Shell脚本

参考:http://www.gbunix.com/htmldata/2005_04/14/18/article_1149_1.html

1.Linux中有好多中不同的shell,但是通常我们使用bash.
程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。

2.当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
chmod +x filename

3.注释,
在进行shell编程时,以#开头的句子表示注释


4.
变量

在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:

变量名=值

取出变量值可以加一个美元符号($)在变量前面, 在字符串里用${a}