发表于: 2017-04-12 15:19:10
1 1342
今天完成的事情:
25.测试一下不关闭连接池的时候,在Main函数里写1000个循环调用会出现什么情况。
我设置的连接池的配置为:
初始化连接数5:setInitialPoolSize(5);
最小连接数1:setMinPoolSize(1);
最大连接数100:setMaxPoolSize(100);
最大空闲时间60毫秒:setMaxIdleTime(60);
单个连接所拥有的最大缓存Statement数:setMaxStatements(50);
总结:
连接池原理:预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。
JDBC原理:1.加载数据库驱动程序。2.建立数据库连接Connection。3.执行sql语句。4.关闭数据库资源。
每一次web请求都要建立一次数据库连接。建立连接是一个费时的活动,每次都得花费0.05s~1s的时间,而且系统还要分配内存资源。所以相比于JDBC,连接池提高了数据库连接的利用率,减小了内存吞吐的开销。
28.数据库里插入100万条数据,对比建索引和不建索引的效率查别。
CREATE INDEX idx_student on student(id);
CREATE INDEX nx_name on student(stu_name);
CREATE INDEX schx_name on student(stu_school);
有索引,数据库中插入了1000条
花费的时间为:133332毫秒。
DROP INDEX idx_stuid on student;
无索引,插入1000条数据。
花费的时间为:144349毫秒。
遇到的问题:我测试插入数据有索引要快,正常情况下不是无索引更快吗?三观尽毁!
深度思考:
1.maven是什么,和Ant有什么区别?
2.clean,install,package,deploy分别代表什么含义?
3.怎么样能让Maven跳过JUnit?
答:
1.
两者都是构建工具,用来构建项目。自己的理解:maven有一个本地库和中央仓库,这样开发人员不用每个项目都导jar包了。maven有一些基本命令方便开发人员编译、打包、部署。Ant没有了解过,就酱。
2.
clean:删除target文件夹里面的class文件。
install:把当前项目放在Maven的本地仓库中。
package:把项目打成jar包。
deploy:把包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
3.
学习了一波:https://www.zhihu.com/question/26760477/answer/33937123
①在测试用例上添加注解@Ignore,表示本次测试不运行该测试用例
②通过Maven命令mvn clean test -Dtest=ATest,BTest
③通过POM文件配置
15.什么是贫血模型,什么是充血模型?为什么我们会强制要求使用贫血模型?
答:
一个对象有行为和状态。行为指方法,状态指数据。
贫血模型(Value Object)是指只有状态(数据)的对象。
充血模型是指有行为和状态的对象。
收获:
评论