发表于: 2017-07-21 23:34:38

2 900


今天完成的事情:

1.学习配置连接池

2. 学习了log4j2一部分

3.讲小课堂


明天计划的事情:

1.回答深度思考

2.根据验收标准规范代码

3. 开始进行任务一收尾了


遇到的问题:

1. log4j2比log4j麻烦多了,学了一部分,看的有点疲劳,为了不影响进度和学习兴趣,先放下

2. 发现日志文件没有输出,是因为我还在用log4j的配置文件,两个版本并不兼容

3. 在服务器上main循环1000遍时莫名其妙的突然断开循环,在本地时没什么,一直运行好像是因为来不及输出卡了,我把log4j配置好了再运行看看


收获:

1. c3p0的连接池配置

<property name="password" value="`123QWEasd" />
<!--初始化时获取三个连接,取值应在minPoolSizemaxPoolSize之间。Default: 3 -->
<property name="initialPoolSize" value="5"/>
<!--连接池中保留的最小连接数。Default: 2 -->
<property name="minPoolSize" value="3"/>
<!--连接池中保留的最大连接数。Default: 15 -->
<property name="maxPoolSize" value="30"/>
<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
<property name="acquireIncrement" value="5"/>

<!-- 性能配置 -->
<!-- 控制数据源内加载的PreparedStatements数量。如果maxStatementsmaxStatementsPerConnection均为0,则缓存被关闭。Default: 0 -->

<property name="maxStatements" value="8"/>
<!-- maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0 -->
<property name="maxStatementsPerConnection" value="5"/>
<!--最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
<property name="maxIdleTime" value="1800"/>




2. durid的配置文件

<!-- 关键配置 -->
<!-- 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection-->

<property name="initialSize" value="5" />
<!-- 最小连接池数量 -->
<property name="minIdle" value="2" />
<!-- 最大连接池数量 -->
<property name="maxActive" value="30" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="10000" />
<!-- 性能配置 -->
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->

<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
<!-- 其他配置 -->
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->

<property name="timeBetweenEvictionRunsMillis" value="10000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />
<!--   建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis
         执行validationQuery检测连接是否有效。 -->

<property name="testWhileIdle" value="true" />
<!-- 这里建议配置为TRUE,防止取到的连接不可用 ,申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。-->
<property name="testOnBorrow" value="true" />
<!-- 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能 -->
<property name="testOnReturn" value="false" />


连接池的配置并没有理解好,只能小修小改,需要进一步进行深入学习



2. log4j2的部分配置

根节点 Configuration 
两个属性:status(指定输出日志的级别)
                monitorinterval(表示 重新刷新配置文件的时间)
有三个子节点: Appenders和logger和Properties
     
    Properties:可以指定日志输出的路径
     
       Appenders有三个子节点:Console、Rolling、File
                Console节点  属性name  指定Appender的名字
                                            target : SYSTM_OUT或者SYSTEM_ERR,一般默认为SYSTEM_OUT
                                            PatternLayout:指定输出到控制台格式
                RollingFile节点用定义
                                     name:指定Appender名字
                                     fileName:指定输出日志的路径+文件名
                                     PatternLayout:滚动日志输出格式
                                     filePattern:指定新建日志文件的名称格式、
                                     Policies : 指定滚动日志的策略,什么时候新建日志文件


以下的配置打算放下,以后再看



3. 深度思考

Q1.maven是一种项目管理工具,我在任务中碰到的就主要是maven会从pom.xml文件中配置jar,不需要自己下载

ANT与maven的区别:ant是项目的构建工具,maven则多了一个管理功能

Q2.clean是把现有的编译的.class文件删除

      install,package都是把项目打包,后者打包到target目录下,前者在此基础上还要放到本地仓库里去

      deploy 用于把Maven自动构建生成的版本发布到中央代理仓库

Q3. 让Maven 在打包时跳过junit

        在pom.xml的<pluigins>里面


<plugin>

       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-surefire-plugin</artifactId>
       <configuration>
         <skip>true</skip>
       </configuration>
 </plugin>


Q4.为什么要用Log4j来替代System.out.println

可以方便的查看到程序运行的每一步,而且可以根据情况分级,可以让程序员更轻松的找到想要的信息


Q5:为什么DB的设计中要使用Long来替换掉Date类型?

Date插入数据不友好,需要经过特定格式转换从spring转换为Date




ps:今天感觉没有学到知识。。。程序总是出各种问题,总是觉得理我的理想状态差一截



返回列表 返回列表
评论

    分享到