发表于: 2017-10-02 23:09:13

1 768


今天完成的事情:

1、Java字符串

在Java中,如何比较字符串?

以下示例通过使用 str.compareTo(string),str.compareToIgnoreCase(String)和compareTo(object string)的字符串类比较两个字符串,并返回比较字符串的第一个奇数字符的ascii差异。

2、instanceof运算符

该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。

instanceof运算符使用格式如下:

(Object reference variable) instanceof (class/interface type)

如果运算符左侧变量所指的对象,是操作符右侧类或接口(class/interface)的一个对象,那么结果为真。

下面是一个例子:

String name = "James";boolean result = name instanceof String; // 由于 name 是 String 类型,所以返回真

如果被比较的对象兼容于右侧类型,该运算符仍然返回true

3、了解了log4j

Log4j是Apache的一个开源项目,通过使用Log4j,可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。可能是我们最感兴趣的是这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

第一、log4j的配置

加入log4j-1.2.8.jar(可以选择log4j的更高版本)到lib下。如果使用maven项目,也可以选择在pom.xml中新增依赖:
<!-- 加入log4j支持 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>

</dependency>

在CLASSPATH下建立log4j.properties。内容如下(数字为行号):

log4j.rootCategory=INFO, stdout , 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=D:\\Tomcat 5.5\\logs\\qc.log
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%
log4j.logger.com.neusoft=DEBUG
log4j.logger.com.opensymphony.oscache=ERROR
log4j.logger.net.sf.navigator=ERROR
log4j.logger.org.apache.commons=ERROR
log4j.logger.org.apache.struts=WARN
log4j.logger.org.displaytag=ERROR
log4j.logger.org.springframework=DEBUG
log4j.logger.com.ibatis.db=WARN
log4j.logger.org.apache.velocity=FATA
log4j.logger.com.canoo.webtest=WARN
log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
log4j.logger.org.hibernate=DEBUG
log4j.logger.org.logicalcobwebs=WARN

相应的修改其中属性,在要输出日志的类中加入相关语句:

定义属性:static Logger logger = Logger.getLogger(LogDemo.class); //LogDemo为相关的类
在相应的方法中:
if (logger.isDebugEnabled()){
logger.debug(“System …..”);
}

明天计划的事情:

在看一遍try catch,看一些案列,多学习它的用法

在做一些连接池的问题,用不同的连接池查看运行的时间

遇到的问题

使用Connector/J连接MySQL数据库,程序运行较长时间后就会报以下错误:

Communications link failure,The last packet successfully received from the server was *** millisecond ago.The last packet successfully sent to the server was ***  millisecond ago。这个问题的原因:MySQL服务器默认的“wait_timeout”是28800秒即8小时,意味着如果一个连接的空闲时间超过8个小时,MySQL将自动断开该连接,而连接池却认为该连接还是有效的(因为并未校验连接的有效性),当应用申请使用该连接时,就会导致上面的报错。

收获:

学到了关于一些log4j的一些知识,怎么去配置log4j。

熟悉一些不同字符串的不同用法





返回列表 返回列表
评论

    分享到