java集合框架复习

集合的由来

  • A:集合的由来
    • 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少

理解Java对象序列化

引言

本文是理解及应用Java序列化的一个总结。此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制。在撰写本文时,既参考了Thinking in Java, Effective Java,JavaWorld,developerWorks中的相关文章和其它网络资料,也加入了自己的实践经验与理解,文、码并茂。

java IO流复习二

1_IO流(字符流FileReader)

  • 1.字符流是什么
    • 字符流是可以直接读写字符的IO流
    • 字符流读取字符, 就要先读取到字节数据, 然后转为字符. 如果要写出字符, 需要把字符转为字节再写出.
  • 2.FileReader
    • FileReader类的read()方法可以按照字符大小读取
1
2
3
4
5
6
7
FileReader fr = new FileReader("aaa.txt"); // 创建输入流对象,关联aaa.txt
int ch;
while ((ch = fr.read()) != -1) { // 将读到的字符赋值给ch
System.out.println((char) ch); // 将读到的字符强转后打印
}

fr.close(); // 关流

java IO流复习一

1_IO流(IO流概述及其分类)

  • 1.概念
    • IO流用来处理设备之间的数据传输
    • Java对数据的操作是通过流的方式
    • Java用于操作流的类都在IO包中
    • 流按流向分为两种:输入流,输出流。
    • 流按操作类型分为两种:
      • 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的
      • 字符流 : 字符流只能操作纯字符数据,比较方便。

SSH下的分页功能的实现

前言
分页功能是WEB开发中经常用到的功能点,分页主要是对当前页和总页面最大的显示数量进行简单的计算,在SQL中使用
limit关键字(SSH 中使用Hibernate中的HQL实现)可查询到分页的数据,将数据遍历显示到页面中即可,下面介绍使用SSH实现分页的一个小demo,话不多说,直接上代码。

JAVA内存泄露分析

引言
java的一个重要特性就是通过垃圾收集器(GC)自动管理内存的回收,而不需要程序员自己来释放内存。理论上Java中所有不会再被利用的对象所占用的内存,都可以被GC回收,但是Java也存在内存泄露,但它的表现与C++不同。

解决跨域问题的几种手段

前言:首先纠正一个误区,跨域并非浏览器限制了发起跨站请求的这种能力,恰恰相反,我们可以发出请求,服务端也可以接收到请求并正常返回数据,只不过在返回之后浏览器会阻止非同源数据(response),从而在控制台打出一系列报错信息。

Java Web学习之JSP

JSP基础

JSP概念介绍

JSP:Java Server Page, Java 服务器端网页. 在 HTML 页面中编写 Java 代码的页面.

JSP 是简化 Servlet 编写的一种技术, 它将 Java 代码和 HTML 语句混合在同一个文件中编写,
只对网页中的要动态产生的内容采用 Java 代码来编写,而对固定不变的静态内容采用普通静态 HTML 页面的方式编写。

Linux小结

linux系统入门

1.退出shell:
在系统提示符下,按 Ctrl+D 组合键(不用回车)或者,输入exit命令(需要回车)

2.会话:用户使用一次计算机的全过程:从登录开始——->到退出结束

3.普通用户$
超级用户#
普通用户切换到超级用户:sudo su/su root
超级用户切换到普通用户:su + 用户名/exit

4.linux字符终端:ctrl+alt+F1~F6
linux图形终端:ctrl+alt+F7~F12

5.命令行格式:$ <命令名> [-<选项>] [<参数>] <回车>(命令行字母大小写敏感)
行尾反斜线符号“\”,表示命令行未完,后面还有续行

6.最基础命令

who命令:查看系统信息
who -H
who –heading

cal命令:日历命令

  • cal 2016:显示2016年所有的月份日历
  • cal 5 2016:只显示2016年5月的日历
  • cal -m 2:当前年的2月的日历
  • cal -3:连续显示3个月的日历(当前月居中)
  • cal -3 -m 2:连续显示3个月的日历(2月居中)

man命令:联机手册
man + 命令名
man -k <keyword> 关键词查找命令

Linux 文件系统基础

1.linux系统的文件组成:

  • 普通文件 Regular Files
  • 目录文件 Directory Files
  • 特殊文件 Special Files:设备、管道、套接字等

2.“/”字符不能用于一般文件名中,根目录的名字只能是“/”

3.针对目录的操作:

  • 显示工作目录的目录名:pwd
  • 改变工作目录:cd
  • 创建目录:mkdir
  • 删除目录:rmdir
  • 目录列表:ls

4.特殊的文件名:“.”开头的文件,每个目录中都有的两个特殊文件:. 和..

5.d r w x r w x r w x
第1位:文件类型(- 普通文件 d 目录 l 符号链接 b 块设备 c 字符设备)
权限:r:可读 w:可写 x:可执行
第2-4位:u 文件所有者
第5-7位:g 文件组用户
第8-10位:o 其他用户

6.改变文件权限的命令chmod:

  • chmod 600 blabla
  • chmod g+w foo
  • chmod go-x foo
  • chmod u=rw,go-x foo
  • chmod a=rwx foo

7.针对文件的其他操作:

  • 显示文件内容:cat
  • 打印命令:lp, lpr
  • 取消打印:cancel
  • 打印机状态:lpstat
  • 删除文件:rm

深入Linux文件系统

1.cp命令

命令格式cp originalfile copiedfile

cp 命令的风险:如已经存在同名的目标文件,将会被覆盖!

cp的命令行参数:

  • −b 备份目标文件
  • −i 覆盖确认提示
  • −r 连同目录复制

2.删除命令:

  • rm 文件 删除文件
  • rm -r 目录(空或非空) 删除目录
  • rmdir 目录 删除空目录

3.链接

含义:指向文件的一个名字

类型:
a.链接(硬链接):硬链接是有着相同 inode 号仅文件名不同的文件,因此,删除一个硬链接文件并不影响其他有相同 inode 号的文件。

b.符号链接(软链接):删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接就变成了死链接。

c.创建:

  • a)创建链接:ln existed_file new_name
  • b)创建符号链接:ln -s existed_file another_name

文件内容操作

1.查看文件内容
(1)vim命令查看文件内容:vim -R fileNameview fileName命令一致
(2)cat命令查看文件内容:cat fileName

  • 若文件内容过多,采用滚屏阅读:ctrl+Q 恢复 ctrl+S 暂停
  • cat 查看多个文件内容:cat fileA fileB fileC

2.分页查看文件内容
(1)pg longfile
(2)more longfile
(3)less longfile
(4)h 帮助 q 退出 回车 下一行 空格 下一屏 b 回滚一屏

3.查看文件局部内容

(1)查看文件头部内容命令head:
a.head longfile:显示文件的头10行

b.head -n 26 longfile:显示文件的前26行

c.head -n -9 longfile:从头开始显示文件,除了尾部最后的9行

(2)查看文件尾部内容命令tail
a.tail longfile:显示文件的末尾10行

b.tail -n 26 longfile:显示文件的末尾26行

c.tail -n +9 longfile:跳过前部,从第 9 行开始显示文件

(3)查看文件中间内容的命令(head与tail命令的结合)
a.没有一个专用的命令

b.联合使用 head 和 tail 命令

c.显示文件的第 24 行到第 26 行:head -n 26 longfile | tail -n 3另一种方法tail -n +24 longfile | head -n 3

4.cut命令,输出指定的列(具体用法百度之)

5.合并文件内容cat
a.常用格式:cat fileA fileB fileC > file_all_in_one(符号“>”表示输出重定向符号“>>”表示输出重定向,追加方式)

b.按行合并文件paste命令:paste one two > one_and_two_side_by_side

6.复制文件的两种方式
a.cp fileA fileB

b.cat fileA > fileB

7.文件改名的三种方式
a.mv fileA fileB

b.cp fileA fileB
rm fileA

c.ln fileA fileB
rm fileA

vi编辑器初始

vi常用操作:

vi新建文件:vi newFile

vi以只读的方式打开文件:vi -R fileName

vi进入编辑模式:i

vi进入命令模式:ESC

vi保存文件并退出vi编辑器: :wq <回车> 或者 ZZ

vi退出编辑器

a.保存文件(不退出,继续编辑): :w <回车>

b.退出编辑器(若已保存,将退出;若有改动未保存,将拒绝退出)::q <回车>

c.保存文件并退出 vi 编辑器::wq <回车>

d.有改动,但不想保存,放弃所做的修改,坚决退出::q! <回车>

e.注意:编辑发生在缓冲区中,未经保存,文件内容不会变化

启动vi

a.通常启动 vi 的命令:vi <文件名>

b.在 vi 内打开原有文件::e <文件名>

c.在保存文件时,指定文件名:
:w <文件名>
:w! <文件名> 强制覆盖已有的同名文件
:wq <文件名>
:wq! <文件名>

vi中常用的编辑命令:

a.光标移动:
左:h 下: j 上: k 右: l

b.增:

  • i:进入编辑模式,进行插入文本(将内容插入到光标位置之前)
  • I:进入编辑模式,进行插入文本(将光标移动到行首,然后进行插入)
  • a:进入编辑模式,进行插入文本(将内容插入到光标位置之后)
  • A:进入编辑模式,进行插入文本(将光标移动到行尾,然后进行插入)
  • o:在当前行的下面开辟一行进行插入数据(相当于i+回车进行插入内容)
  • O:在当前行的上面一行进行插入数据

c.删除:

  • x:删除光标所在的字符(5x表示向右删除5个字符,从光标开始,并且包括光标)
  • X:删除光标前的一个字符(5x表示向左删除5个字符,不包括光标所在的字符)
  • dd:删除当前行(一整行)
  • D:从光标开始(包括光标),删除到行尾(光标往前移动一个字符)

d.改:

  • r:例如rA表示将当前光标的字符替换为A,4rA便是从当前光标开始(包括光标),往后的4个字符都变成A(即:AAAA)
  • R:例如5RAA:表示将AA覆盖光标内容,按ESC,会继续重复四次AA,但是以后面追加的形式插入(原数据:sOfdss假设光标在O字符上执行5RAA后:sAAAAAAAAAAdss)
  • c:c6G:表示将光标移动到第六行,将该行删除(变成一行空白),进行插入数据
  • cc:将当前行删除(变成一行空白),进行插入数据 + C:5C:从当前行开始,包括当前行的下面5行进行删除((变成一行空白)),相当于 5cc

5.vi中移动光标常用的手段

  • a.按单词移动光标:
  • w:将光标移动到下一个单词的开头(特殊符号算一个单词例如< , / >)
  • W:移动到非空白的单词的开头(例如:ds.aaa vdo 按w跳转到. 按W跳转到v )
  • e:与w相反将光标移动到单词的结尾
  • E:与W相反将光标移动到单词的结尾
  • ge:将光标移动到光标所在单词的开头,若光标本身就在单词的开头,那么光标 移动到上一个单词的结尾(相当于b)
  • b.移动到行首与行末
  • 0:将单词移动到行首(若行首为空格,光标移动到空格处)
  • ^:将单词移动到行首(若行首为空格,光标移动到空格后的第一个字符)
  • $:将单词一共到行末
  • c.移动到上一段、下一段:{, }
  • d.本行内移动到特定字符:(x 代表特定字符)
  • fx:向后查找特定字符x,查到到光标落在x上(只限于当前行查找)
  • Fx:向前查找特定字符x,查到到光标落在x上(只限于当前行查找)
  • tx:向后查找特定字符x,查到到光标落在x的前一个字符上(只限于当前行查找)
  • Tx:向前查找特定字符x,查到到光标落在x的后一个字符上(只限于当前行查找)
    执行完上面四条命令后,若当前行还有其他的x,可以使用,(后)或:(前)来代替该命令

6.组合命令:

a.动作类:
    d:删除
    y:复制(yank)
    p:粘贴(到光标右/下)
    P:粘贴(到光标左/上)
    c:更改
    s:替换

b.范围类:
    0:到行首
    `$`:到行尾
    e:到词尾
    w:到下一词首(包含词后的空)
    b:(退)到词首
c.进行组合(动作+范围):
    d$:删除到行尾
    d0:删除到行首
    d5G:将光标所在的行到第五行都删除
    ce:改变到词尾(删除到词尾,并进入文本输入模式)
    yw:复制到下一词首(包含本词后的空)
    yb:向后退方向复制到词首
d.动作字符重复
    dd:删除一行
    yy:复制一行
    cc:改变一行
    e.数字 + 动作 + 范围
    3dd:删除三行
    5yw:复制五个词
    4p:把临时寄存器中的内容在当前位置后,复制 4 次
    12P:把临时寄存器中的内容在当前位置前,复制 12 次
f.数字用于光标移动命令之前
    23l:向右移动 23 个字符
    5j:向下移动 5 行
    7w:向右移动 7 个单词
    4fe:本行之内,向右移到第 4 个字母 e 上
g.动作 + 数字 + 范围
    c3w:更改 3 个单词
    d2d:删除两行(本行及下方一行)
    y2w:复制 2 个单词
    5p:临时寄存器的内容在右方或本行下方复制 2 次
    3d2d:删除 6 行

7.搜索字符串(搜索字符使用fx,Fx,tx,Tx):

  • /string:向前搜索
  • ?string:向后搜索
  • *:向前搜索光标处的单词
  • #:向后搜索光标处的单词
  • n:下一匹配处
  • N:上一匹配处

8.undo机制:

  • u:取消上一次的改动(回退一步)
  • Ctrl-R:撤销一次回退操作
  • U:一次性取消最近在本行上的全部改动

深入vi编辑器

1.编辑命令的组合:

a.移动行: dd 删除一行 移动到目标处 p 贴上去
b.复制行: yy 复制一行到临时缓冲区 移动到目标处 p 贴上去
c.移动单词:dw 删除一个词 ⇒ 光标移动到恰当位置 ⇒ p 或 P 贴上去
d.复制单词:yw 复制一个词 ⇒ 光标移动到恰当位置 ⇒ p 或 P 贴上去

2.更大范围的光标移动

  • 到达指定行:gg(文首), 1G(=gg), G(文末), 58G(58行)
  • 滚屏:Ctrl-U Ctrl-D (半屏)Ctrl-F Ctrl-B (全屏)
  • 移动到配对的括号: %
  • 按句子移动:(, )
  • 按段落移动:{, }
  • 搜索:使用 / 或者 ? 搜索命令
  • 搜索:使用 * 或者 # 搜索光标所在的单词

3.vi缓冲区

a.介绍
    无名缓冲区:d c s x y 等命令删去或复制的内容自动放入此缓冲区
    数字缓冲区:1 -- 9,9 个数字编号的缓冲区形成 FIFO 缓冲队列
    字母缓冲区:a -- z,26 个字母编号的缓冲区内容不滚动
    使用双引号作为引用缓冲区的标志:"1 "2 "3 …"9 ; "a "b "c …"z
b.使用
    相邻的两行复制到缓冲区 a 当中:"a2yy 或"ay2y
    把缓冲区 b 当中的内容,粘贴到光标之后:"bp
    把缓冲区 4 当中的内容粘贴到光标之前:"4P
    当前位置的 3 个单词删去,存放到缓冲区 c 之中,打算以后再用:"cd3w

4.多重文件编辑

  • :n 切换到下一个文件
  • :wn 保存当前文件,并切换到下一个文件
  • :n! 放弃当前文件的改变,并切换到下一个文件
  • :N 切换到上一个文件
  • :ar 列出在编辑队列中,有哪些文件
  • :e 开始编辑一个新文件
  • :sp 以多窗口的方式打开一个编辑窗
  • :wq 保存并结束一个文件
  • :wqa 保存并结束所有文件

5.使用 ex 兼容命令

a.基本知识
    .  当前行
    n  编辑器的第n行,行号从一开始顺序编排
    $  最后一行
    %(等同于1,$) 从第一行到最后一行,即所有行
    +n或者-n 表示当前行的位移
    (例如将当前行为100行定位到103行,可以表示为 .+3或者+3或者+++)
            g 表示所有
b.基本使用
    :15,100d                删除15到100行的正文
    :.,+5d                删除当前行和它后面的5行(注意一共删除了六行)
    :%s/oldstr/newstr/g    将所有的 oldstr 替换为 newstr。
    :%s/oldstr/newstr/gc    将所有的 oldstr 替换为 newstr。交互确认。
    :s/oldstr/newstr/g        将本行所有的 oldstr 替换为 newstr。
    :7,23s/oldstr/newstr/g    将 7 到 23 行所有的 oldstr 替换为 newstr。
    :.,$s/oldstr/newstr/    从当前行到最后一行,所有行第一个oldstr 替换为newstr

6.缩写和宏
a.缩写::ab i18n internationalization
b.取消缩写::unab i18n
c.录制宏::map Q kyypj
d.取消指定的宏::unmap Q

Linux shell

1.shell基础

a.shell是什么?
    本质上,shell 是 Linux 系统上的一个应用程序
    实际上,shell 已成为 Linux 系统的一个组成部分
    用户可以选择不同的 shell
b.shell功能
    命令行执行、文件名替换、I/O 重定向、管道、环境控制、后台处理、脚本支持
c.重定向
    > 输出重定向符号
    >> 输出重定向符号(添加方式)
    < 输入重定向
    << 输入重定向(脚本文件的嵌入文档)
    d.通配符
    ? 匹配任意单个字符
    * 匹配 0 到多个字符构成的串
    [list] 匹配所列出的字符
    [!list] 匹配未列出的字符

2.管道

a.管道是进程之间的一种通信机制,管道两侧的命令并发执行
b.管道运用实例
    a)目录/etc 下共有多少个文件?
    方法一:  ls -1 /etc > temp
    wc -l temp 
    rm temp
    方法二:  ls -1 /etc | wc -l 
    b)显示当前小时数
    date --rfc-3339=second | cut -c 12-13
    或者:date|cut -c 31-32
    c)文件名替换(你想删除所有以“report”开头的文件)
    rm -rf report*
    d)如果把 rm report*误打成 rm report *的后果(文件全部删除)

3.文件查找命令:find

a.find作用:find命令
   在目录树中查找文件或子目录的位置。可以使用文件通配符作为              查找的依据。
b.find命令格式:find 路径名 搜索选项 动作选项
c.find用法示例:
    find . -name "*.c" -print   将以后缀为.c的文件的名字打印输出至屏幕
    find . -name "*.bak" -exec rm {} \; 将查找到的后缀为.bak的文件进行删除

4.转义与引用

a.转义
    echo 3 < 5        输出:bash: 5: 没有那个文件或目录
    echo 3 \< 5        输出:3 < 5  
    echo 5 > 3         无输出,将5写入文件名为3的文件中
    echo 5 \> 3        输出:5 > 3
    echo 5 \\> 3        无输出,将5 \写入文件名为3的文件中
    echo 5 \\\> 3        输出:5 \> 3
    echo 5 \\\\> 3        无输出,将5 \\写入文件名为3的文件中
b.引用
    echo "5 > 3"        输出:5 > 3
    echo '5 > 3'       输出:5 > 3
    echo '5 \\\> 3'        输出:5 \\\> 3
c.单引号与双引号的细微差别
    双引号对括住的 shell 变量引用,被 shell 展开。
    单引号对所括住的一切内容,均严格保持原貌。
    echo "This is $HOME"        输出:This is /root
    echo ‘This is $HOME’        输出:‘This is $HOME’
    echo *                    输出所有文件名
    echo “*”                    输出:*
    echo ‘*’                输出:*

过滤程序和正则表达式

1.过滤

a.过滤作用的命令
    head, tail, cut,wc, more, less
b.分离输出:tee 命令
    ls /home > dir.list        无输出,但home下文件名全写入dir.list文件中
    ls /home | tee dir.list    ls正常输出,同时home下文件名全写入dir.list文件中
c.排序命令: sort
    a)sort 命令既可以对文件的内容排序,又可以对其他命令的输出排序。
      排序之后的内容,可以写入文件,也可送标准输出。
    b)注意以下有用的排序选项:
        -b 忽略前导空格
        -d 用字典顺序排序
        -f 忽略大小写的区别
        -n 数字以数值大小排序
        -r 逆序(缺省为升序)
        -o 输出改为指定文件,而非标准输出设备
        -k 指定排序的关键字位置
    c)举例:
        将/etc目录下文件名排序:ls /etc/|sort -d
d.滤除重复行:uniq(如何使用)
经过 uniq 的过滤,相邻的重复行,仅仅显示一次。
uniq 还有滤掉空行的功能
e.搜索命令:grep
    a)grep 命令可以从一个或一批文件之内容中,搜索含有特定字符串的
    行。
    b)grep命令格式:grep < 字符串模式 > < 接受搜索的文件名 >
    如果文件中含有与“字符串模式”相匹配的行,该行就会被显示出来。
    c)grep选项
        -c 显示每个文件中匹配的行数
        -i 不分大小写
        -l 显示具有相匹配行的文件名,而不是匹配行本身
        -n 显示匹配行的行号
        -v 显示不匹配的行(匹配的行不显示)
        -r 搜索范围包含以下各级子目录中的文件
d)举例:
    grep include ./sdn.c     显示存在include字符串的的行的具体信息
    grep --c include ./sdn.c     显示存在include字符串的的行的个数
    grep 'more'  *.tex | grep ' 格式' 若查找到信息过多,可进行两次筛选

2.正则表达式(Regular Expression)

a.组成:
    普通字符:A, B, …a, b …1, 2 …
    _(下划线)、␣(空格)…
    特殊字符(不可打印字符):换行符:\n,回车符:\r,制表符:\t,
    元字符:
    . 任意单个字符(除换行符外)
    ˆ 行的开头(或者表示逻辑非)
    $ 行的结尾
    \ 转义字符:    \$ 代表 $    \ˆ 代表 ˆ    \\ 代表 \ 自身

b.常用的字符集
    [a-z] 所有的小写字母
    [A-Z] 所有的大写字母
    [a-zA-Z] 所有的字母
    [0-9] 所有的数字
    [0-9\.\-] 所有的数字,句号和减号
    [ \f\r\t\n] 所有的白字符

c.基本用法
    ^ab        匹配以ab开头的字符串
    ab$        匹配以ab结尾的字符串
    [tT]he    匹配the或者The
    [^Tt]     匹配除T或t之外的其他单个字符(此时^代表NOT)

d.限定符(限定符指明在其前面的字符或子表达式出现的次数)
    a)*    之前的字符或子表达式重复零次或多次
    zo* 匹配 z, zo, zoo, zooo
    b)+ 一次或多次
    zo+ 匹配 zo, zoo,zooo   不匹配 z
    c)?    零次或一次
    do(es)? 匹配 do 或 does
    does? 匹配 doe 或 does
    d)
        {n}        匹配确定的 n 次
        o{2}    不匹配 Bob 中的 o 匹配 food 中的两个 o
        {n,} 至少 n 次
        {,m} 至多 m 次
        {n,m} n 到 m 次
        * 等价于 {0,}
        + 等价于 {1,}
        ? 等价于 {0,1}

e.定位符(定位符指明字符或子表达式所在的位置)
    a)构成
        ^ : 行首
        $ : 行尾
        \< : 单词的开始处
        \> : 单词的结尾处
        \b : 单词的边界(首或尾)
        \B : 不在单词的边界
    b)使用
        \<it\> 只匹配单词”it”,不匹配”sitting”当中的”t”

f.选择
    a)使用
    圆括号()表示一个组,某些应用场合中用 \(和 \) 代替
    竖线|表示 “OR”,用来表示选择的含义。
    b)举例
        ab+c     表示 a 后面有一个 b 或多个 b 并跟有 c,yabcw, abbc57 符合
        (ab)+c    表示一个或多个字符串 ab 并跟有 c,zabcd, ababc 符合
        industr(y|ies) 相当于 industry|industries,匹配 industry, 也匹配 industries

g.引用
    & : 整个正则表达式所匹配的内容
    \n : 第 n 个子表达式所匹配的内容
    \1 第一个子表达式匹配的内容
    \2 第二个子表达式匹配的内容
    h.vi编辑器中使用正则表达式
    025 nanjing
    027 wuhan
    命令:
    :%s/0[0-9]* \+[a-zA-Z]\+/X&Y/             在每一行前面加上X,末尾加上Y
    :%s/\(0[0-9]*\) \+\([a-zA-Z]\+\)/\2 \1/        将数字列和字母列互换

Linux shell(续)

1.命令序列:分号
同一个命令行中的多个命令,用分号分隔被分号隔开的命令,会依次执行

2.命令编组:括号对 ( )
( ls; date; pwd ) > outfile与ls; date; pwd > outfile区别

3.后台执行:元字符“&”

a.如果命令行的尾部,用 & 符号结束,表示,该命令放到后台执行。
b.什么命令适合放在后台执行;
    耗时较长
    运行时无交互
    数据往往来源于文件
    结果一般输出到文件
c.举例
    find . -name xyz.xyz -print > result &
    (date; find / | sort ; date) 2> /dev/null > result &

4.前后台作业控制

a.基础操作
    命令行末尾,加 & 字符,作业放到后台执行
    组合键 [Ctrl-Z]:把正在前台执行的作业挂起,并置于后台
    fg 命令:把后台作业调到前台执行:fg <作业号>
    bg 命令:让后台挂起的作业,继续在后台执行:bg <作业号>
    jobs 命令:了解当前作业情况
b.作业终止
    终止后台作业:kill <作业号>
    终止前台作业:[Ctrl-c]
    要想在用户退出后,作业继续运行:nohup <想要继续执行的命令>

5.进程状态显示命令:ps

  • a.UNIX 风格的常用选项:
  • ps -ef
  • -e 代表选择所有进程
  • -f 代表完整的输出格式
  • b.BSD 风格的常用选项:
  • ps auxw
  • a 代表选择所有进程
  • u 代表显示出进程所有者
  • x 代表包括不拥有终端的进程
  • w 代表输出更详尽的信息

6.进程控制
终止进程:kill 进程号
对顽固的进程,发出不同信号:kill -信号值 进程号
了解系统支持哪些信号值:kill -l

7.shell 变量

a.定义:通常,为用户的应用程序,提供关于运行环境信息的那些变量,被成为环境变量。
b.shell 的常用环境变量
    HOME 用户主目录        DISPLAY 当前显示器
    PWD 当前目录        SHELL用户缺省 shell
    TERM 终端类型        PATH 搜索路径            USER用户名
c.shell 变量操作
    set 显示全部的 shell 变量
    XYZ=10 设置 XYZ 变量的值为 10
    unset XYZ 清除 XYZ 变量
    echo $XYZ 引用 XYZ 变量的例子,变量之前的 $ 符号不能缺少
d.shell 的配置
    a)对 shell 的配置是通过配置文件进行的。
    全局配置文件 /etc/profile
    用户配置文件 $HOME/.profile
    b)Linux 缺省的shell是bash,bash的配置文件,是用户主目录之下的隐藏文件:.bash_profile

SVG学习笔记之基础篇

前言

前面论述了Canvas画布的运用,这几天又把HTML5中的SVG的知识点看了一下,通过对SVG的学习,感觉到SVG的强大和简单,SVG不像Canvas一样需要进行写JavaScript代码来描述所画图形,而是直接通过XML定义的标签来实现,特别方便,编码效率也不是Canvas能比的,而且SVG对于动画的设计也比较容易实现,下面正式来介绍一下SVG:

jQuery Mobile 学习笔记2

jQuery Mobile 弹窗

弹窗的基本写法

弹窗是一个非常流行的对话框,弹窗可以覆盖在页面上展示。
弹窗可用于显示一段文本,图片,地图或其他内容。

创建一个弹窗,需要使用 <a><div> 元素。在 <a> 元素上添加 data-rel=”popup” 属性, <div> 元素添加 data-role=”popup” 属性。 接着我们为 <div> 指定 id, 然后设置 <a> 的 href 值为<div> 指定的 id。 <div> 中的内容为弹窗显示的内容。
注意: <div> 弹窗与点击的 <a> 链接必须在同一个页面上。

Demo

jQuery Mobile 学习笔记1

jQuery Mobile 简介

jQuery Mobile 是一个用于创建移动端web应用的的前端框架;
jQuery Mobile 是针对触屏智能手机与平板电脑的网页开发框架;
jQuery Mobile 工作与所有主流的智能手机和平板电脑上;
jQuery Mobile兼容所有的移动设备,但是并不能完全兼容PC机(由于有限的CSS3支持)

jQuery Mobile 安装

可以通过以下几种方式将jQuery Mobile添加到你的网页中:

从 CDN 中加载 jQuery Mobile

CDN :CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。

Servlet与Ajax,jQuery综合运用实例

前言

Ajax通过异步模式,提升了用户体验,同时优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用,Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

JQuery是一个快速的,简洁的JavaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。

自定义HttpFilter

Filter接口

  • init(FilterConfig filterConfig)throws ServletException:在 web 应用程序启动时,web 服务器将根据 web.xml 文件中的配置信息来创建每个注册的 Filter 实例对象,并将其保存在服务器的内存中。Web容器创建 Filter 对象实例后,将立即调用该 Filter 对象的 init 方法。

,