linux常用命令备忘

当前日期
date +%Y%m%d%H%M%S

数组定义和遍历
paths=(“/root/dating/all2/process/dating” “/root/dating/all3/process/dating”)
for path in ${paths[*]}
do
gameDirs=ls -l $path |awk '/^d/ {print $NF}'
for i in $gameDirs
do
j=380
while [ $j -ge 8 ]
do
d=date -d "$j days ago" +%Y-%m-%d
echo “$path/$i/$d”
rm -rf “$path/$i/$d”
let j–
done
done
done

当前目录
DIR=$(cd dirname $0;pwd)

ctrf转lf

如果用 windows的 word 之类的工具编辑这两个文件,上传到 linux 服务器时,会出现格式问题,而导致运行错误。当然,可以用 dos2unix 修正格式,或者在 vi 的命令模式下,以“ :set ff=unix ”方式转换格式。

1
2
3
4
dos2unix 1.txt
dos2unix src/**/*
在vi里,按":"号,然后输入set fileformat=unix
notepad->编辑->档案格式转换

Java String 的 intern

String s1 = new String("abc");
String s2 = "abc";
System.out.println(s1 == s2);  // false

String s3 = new String("de") + new String("fg");
s3.intern();
String s4 = "defg";
System.out.println(s3 == s4); // jdk1.6 false, jdk1.7 true

字符串常量池:
jdk 1.6,在方法区中,属于永久代
jdk 1.7,放在堆中
jdk 1.8,取消了“永久代”,将常量池放在元空间,与堆独立

在jdk1.7后,执行intern()方法,会在常量池保存s3的引用,当定义s4时,发现”defg”已经存在,直接返回s3的引用,所以s3==s4。

桂山之行

今年因为各种原因,一直抽不出时间上桂山。
工作太忙,每个版本时间又紧,只能瞅着发完版本后,提前休好假,或者自己能提前把需求做完,挤个几天时间;
新房装修,时不时要去置办点新东西;
平时在外上班,周末才回广州家里,要陪陪家人,不敢太造次;
自己也是菜鸟一个,想约上大师同行。

查看更多