文章列表
JAVA={$JAVA_HOME:-/usr/local/jdk/bin}
if [ -z `echo $PATH` | grep $JAVA_HOME ]; then
export PATH=$PATH:$JAVA_HOME
fi
if[! -n "$myVar" ]; then
echo "$myVar is empty"
exit 0
fi
这样的语句,-z的意思其实是"空串",这段shell的意思是,寻找$PATH环境变量里有没有JAVA这个路径,如果 ...
命令重定向:
ls /var/html/ >list.txt
“>”:一个大于符号的管道是用来创建一个新的文件
list.txt,如果已经有了同名的文件就复盖掉以前的内容;
ls
/var/html/ >> list.txt
“>>”:两个大于符号的管道是用来在已经存在的文件后面追加新的内容,如果没有这个文件就创建
它。
管线命令
ls
/var/html/ | less
管线命令使用的是”|”界定符号
管线命令”|”仅能 ...
shell学习总结
单引号和双引号都能关闭shell对特殊字符的处理。
不同的是,双引号没有单引号严格:
单引号关闭所有有特殊作用的字符;
双引号只要求shell忽略大多数,下面3种特殊字符不被忽略:
①美元符号
②反引号
③反斜杠
不忽略美元符号意味着shell在双引号内部也进行变量名替换。
1.grep [options]
atching a pattern (将符合样式的该行列出)
◎语法: grep [options]
PATTERN [FILE...]
grep用以在file内文中比对相对应的部分, 或是当没有指定档案时,
由标准输入中去比对。 ...
ArrayList 转换成数组
ArrayList提供public <T> T[] toArray(T[] a)方法返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列 表元素的数组。否则,将根据指定数组的运行时类型和此列表的大小分配一个新的数组。
如果指定的数组能容纳列表并有剩余空间(即数组的元素比列表的多),那么会将数组中紧跟在集合末尾的元素设置为 null。这对确定列表的长度很有用,但只 在调用方知道列表中不包含任何 null 元素时才有用。
String[] array = (Strin ...
java.sql.SQLException: Io 异常: Invalid Packet Lenght 出错原因:
查看oracle的驱动包是否是class12.jar,如果是的话很可能是它造成的。
class12.jar数据库驱动包版本比较低,只适用于JDK 1.2和JDK 1.3 ,在适用连接池多线程并发的情况下,就会可能报错
而我们portal适用的JDK本版为JDK1.42 ,一般使用ojdbc14.jar数据库驱动包
另外即使使用的是ojdbc14.jar,最好换上最新版本的ojdbc14.jar,查看它的版本可以解压缩 发现里面有个叫META-TNF的文件 用记事本打开里面的文件 ...
在看版本代码的时候,发现有如下的代码,我们在平时的编码中可能也会遇到,很容易造成句柄没有关闭的问题:
finally
{
try
{
if (null != in)
{
in.close();
}
if (null != out)
{
out.close();
}
if (null != out)
{
socket.close();
}
}
...
# %m 输出代码中指定的讯息,如log(message)中的message
# %n 输出一个换行符号
log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n
#输出到文件(这里默认为追加方式)
log4j.appender.appender2=org.apache.log4j.FileAppender
#设置文件输出路径
#【1】文本文件
log4j.appender.appender2.File=c:/Log4JDemo07_Dao.log
#设置文件输出样式
lo ...
4. -com.coderdream.log4j.HelloLog4j.main(HelloLog4j.java:18) -This is info message.
5. 31 [main] [ERROR] - com.coderdream.log4j.HelloLog4j
6. -com.coderdream.log4j.HelloLog4j.main(HelloLog4j.java:20) -This is error message.
【示例6】 多目的地、自定义样式
Properties 代码
#设置级别和目的地
log4j.rootLogger=debug,append ...
Porperties 代码
#设置级别:
log4j.rootLogger=debug,appender1
#输出到文件(这里默认为追加方式)
log4j.appender.appender1=org.apache.log4j.FileAppender
#设置文件输出路径
#【1】文本文件
#log4j.appender.appender1.File=c:/Log4JDemo02.log
#【2】HTML文件
log4j.appender.appender1.File=c:/Log4JDemo02.html
#设置文件输出样式
#log4j.appender.appender1.layou ...
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
二、在代码中使用Log4j
1.得到记录器
使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息。其语法为:
public ...
2.配置日志信息输出目的地 Appender,其语法为:
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
…
log4j.appender.appenderName.option = valueN
其中,Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender( ...
Logger - 日志写出器,供程序员输出日志信息
Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去
ConsoleAppender - 目的地为控制台的Appender
FileAppender - 目的地为文件的Appender
RollingFileAppender - 目的地为大小受限的文件 ...
log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j。
首先当然是得到log4j的jar档,推荐使用1.2.X版,下载地址:
http://logging.apache.org/log4j/1.2/download.html
我们先看一个最简单的示例:
【示例1】
项目结构:
【注:由于这里的多个项目公用一个jar档,我们可以创建一个专门放置 jar档的Java工程,然后将jar档放到lib目录下。在要使用的工程中按图所示进行引用 】
Java代码:
package com.coderdream.log4j;
import org.apache. ...
Oracle时间日期操作
sysdate+(5/24/60/60) 在系统时间基础上延迟5秒
sysdate+5/24/60 在系统时间基础上延迟5分钟
sysdate+5/24 在系统时间基础上延迟5小时
sysdate+5 在系统时间基础上延迟5天
add_months(sysdate,-5) 在系统时间基础上延迟5月
add_months(sysdate,-5*12) 在系统时间基础上延迟5年
上月末的日期:select last_day(add_months(sysdate, -1)) from dual;
本月的最后一秒:select trunc(add_months(sysdat ...