Sui

Sui

A programmer who loves life

设计模式-装饰者模式
设计模式-装饰者模式在JDK中,使用到了很多设计模式,例如装饰者模式、观察者模式,它广泛存在于Java I/O中,说实话,刚学习Java I/O时有点懵,他的类是在太多了,可供选择的就十多种,还有很多叫不上名字的IO类,当时一度怀疑自己不是学编程的选手。 今天重点所说的就是装饰者模式,也算是一个总结吧 场景这个场景很简单,为某冷饮店制造一个收费系统。 他的业务是这样的,主要的为饮品收费,其他的收费项目为配料收费,例如在点了饮品的基础上增加了珍珠、椰果等配料,然后计算总的费用。 问题解决大家的想法可能是这样:当购买哪一种类的饮料时,就创建出来这个对象,如果想另外增加配料,再创建出来配料类的...
设计模式-策略模式
设计模式-策略模式设计模式在我们的日常开发中十分重要,好的软件架构可以使软件更加强壮,使软件变得更易于维护,建立可以维护的软件系统,要诀就在于随时想到系统以后可能需要的变化以及应付变化的原则。相信大多数的人都学习过面向对象语言,c++、java、python,这些面向对象的语言精髓就在于抽象、继承、多态,但是只知道这三样是不能设计出好的软件的,里面需要设计模式的参与。 有过web开发经验的小伙伴可能对Spring、MyBatis这类的框架比较了解,这类框架的实现里面充满了设计模式,各种设计模式,从而它才能走的长远,想要走的长远就需要维护,想要维护就需要好的软件架构,再加上它功能的强大,因...
linux指令-which-whereis
linux指令-which-whereiswhichwhich指令用来搜索其他指令的详细位置,他搜索的路径是PATH环境变量中的的一系列路径 命令格式: 1which [options] [--] programname [...] 参数: 参数 解释 -a 将PATH下的搜索到的所有结果全部列出来 演示: 搜索ls所在的位置 123[sui@VM-8-14-centos ~]$ which lsalias ls='ls --color=auto' /bin/ls 可以看到出现了一个alias,这个是别名代表输入ls则等同于输入了后面的一...
linux指令-touch
linux指令-touchtouch指令用于创建一个空文件,以及用来修改文件的atime、mtime 在介绍touch指令之前,需要澄清三个概念,linux文件系统中的时间。 在linux文件系统中,每个文件或目录都有三个时间,关于这三个时间的查看,可以使用stat命令或者ls -time={atime, ctime, mtime}查看 最后的访问时间(atime,access time) 最后的修改时间(mtime,modification time) 最后的改变时间(ctime,status time) atime好理解,atime例如我们查看文件内容的时候,...
linux指令-nl
linux指令-nlnl可以将输出的文件内容自动加上行号,并且可以将行号做比较多的显示设计,包括位数与是否自动补齐0等等功能 命令格式: 1nl [OPTION]... [FILE]... 参数: 参数 解释 -b a 对空行同样列出行号 -b t 对空行不列出行号 -n ln 行号在自己字段的左侧显示 -n rn 行号在自己字段的右侧显示,且不自动加0 -n rz 行号在自己字段到的右侧显示,且自动补0 -w 指定行号占用的字节数 演示: -b a与-b t的区别 1234567[root@VM-8-14-centos blog]# nl -b a ...
linux指令-cat-tac
linux指令-cat-taccat指令以及tac指令用来查看文件的内容,使用也是十分便利 命令格式: 12345# catcat [OPTION]... [FILE]...# tactac [OPTION]... [FILE]... 参数: cat参数 解释 -b 列出行号,只列出非空白行,空白行不进行编号 -n 列出行号,空白行也进行编号 -E 将结尾的断行字符$打印出来 -T 将tab以^I打印出来 -v 列出一些看不出来的特殊字符 -A 相当于-vET的整合,列出特殊字符 演示: 查看/etc/man_db.conf 1234567[root@...
linux指令-mv-附带获取路径的文件名以及目录名称
linux指令-mv-附带获取路径的文件名以及目录名称mv指令的作用在于移动文件或目录,以及改名操作 命令格式: 123mv [OPTION]... [-T] SOURCE DESTmv [OPTION]... SOURCE... DIRECTORYmv [OPTION]... -t DIRECTORY SOURCE... 参数: 参数 解释 -f 强制执行,目标文件已经存在,也不会进行提示 -i 交互式进行,目标文件已经存在则会提示是否覆盖 -u 只有源文件比目标文件新时才会更新 演示: 将一个文件启动到其他文件夹中 1234567[root@VM-8-14-c...
shell脚本-判断变量是否为空
shell脚本-判断变量是否为空第一种方式 1234if [ -n $1 ]then echo '$1 is null1'fi 如果$1为空,则会返回true 第二种方式 1234if [ "" = "$1" ]then echo '$1 is null2'fi 第三种方式 1234if [ ! $1 ]then echo '$1 is null3'fi 第四种方式 1234if test -z $1then echo '$1 is null4'...
linux指令-rm
linux指令-rmrm指令通常用来删除文件或者目录,使用它删除文件或者目录,那么一切就没有了,世界就安静了,所以执行删除命令的时候一定要小心,否则会一失足成千古恨的。 命令格式: 1rm [OPTION]... [FILE]... 参数: 参数 解释 -f 强制删除,不会再出现确认删除信息 -i 互动模式,在删除时会再次询问是否删除 -r 递归删除,即可以删除目录 演示: 删除一个普通的文件 12[root@VM-8-14-centos test]# rm aaaarm:是否删除普通文件 "aaaa"?y 当真正的执行删除的操作时,会提示是否...
linux指令-cp
linux指令-cpcp指令我们一般用来进行文件的复制,全称为 copy files and directories。但是,不同的身份执行这个命令会得到不同的结果。 命令格式: 123cp [OPTION]... [-T] SOURCE DESTcp [OPTION]... SOURCE... DIRECTORYcp [OPTION]... -t DIRECTORY SOURCE... 参数: 参数 解释 -a 相当于-dr -d 若复制的文件为软链接文件,则会复制软链接所指的文件,而非软链接本身 -f 强制执行 -i 若目标文件存在,则询问是否覆盖 -l 对...
avatar
Sui
make it better
FRIENDS
Tech ruanyifeng