发表于: 2017-07-21 23:34:38
2 899
今天完成的事情:
1.学习配置连接池
2. 学习了log4j2一部分
3.讲小课堂
明天计划的事情:
1.回答深度思考
2.根据验收标准规范代码
3. 开始进行任务一收尾了
遇到的问题:
1. log4j2比log4j麻烦多了,学了一部分,看的有点疲劳,为了不影响进度和学习兴趣,先放下
2. 发现日志文件没有输出,是因为我还在用log4j的配置文件,两个版本并不兼容
3. 在服务器上main循环1000遍时莫名其妙的突然断开循环,在本地时没什么,一直运行好像是因为来不及输出卡了,我把log4j配置好了再运行看看
收获:
1. c3p0的连接池配置
<property name="password" value="`123QWEasd" />
<!--初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。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数量。如果maxStatements与maxStatementsPerConnection均为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的部分配置
以下的配置打算放下,以后再看
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:今天感觉没有学到知识。。。程序总是出各种问题,总是觉得理我的理想状态差一截
评论