发表于: 2017-09-19 23:17:13

1 644


今天完成的事
试着写了几个连接数据库的实例,然后试着对昨天的数据库插入进行了优化
原本需要44分钟插入的100万条数据,现在只要60秒就能插入完成
深度思考
Q:maven是什么,和Ant有什么区别?
A:Maven是一个软件项目管理和理解工具,个人理解为Maven给构建项目定义了一个标准,在标准范围内项目构建变得比以前更加清晰易懂,而Ant则没有固定的结构,不适合流动性大的公司,还有一个比较重要的区别就是Maven有集成依赖管理,而Ant没有,玩过老滚5的都有应该知道这是个需要打很多Mod的游戏,玩家一般都会用NMM或者MO管理Mod,因为如果没有一个集成管理Mod的软件,经常会导致Mod之间的冲突,安装和卸载Mod也是个很麻烦的问题。总结来说,再打个比方就好像苹果和安卓,苹果什么都给你安排得妥妥当当,但是用户的某些自由受到限制,而安卓优化需要靠用户自己来,可定制化程度高,不知道我这么理解是否有误呢?
Q:clean,install,package,deploy分别代表什么含义?
A:在回答这个问题之前有必要讲一下Maven的一个重要概念,即生命周期,这是Maven强大的原因之一。Maven有三套独立的生命周期,即Clean Lifecycle,Default Lifecycle,Site Lifecycle这三个。来讲讲这三个生命周期分别负责什么吧。
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
Site Lifecycle 生成项目报告,站点,发布站点。
clean:移除所有上一次构建生成的文件
install:接受编译好的代码,打包成可发布的格式,如 JAR
package:将包安装至本地仓库,以让其它项目依赖。
deploy: 将最终的包复制到远程的仓库,以让其它开发人员与项目共享
运行任何一个阶段的时候,它前面的所有阶段都会被运行
Q:怎么样能让Maven跳过JUnit?
A:方法一:把这一段加到POM
<plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-surefire-plugin</artifactId>
       <configuration>
         <skip>true</skip>
       </configuration>
 </plugin>
方法二:
 mvn package -DskipTests=true 或者 mvn package -Dmaven.test.skip=true;
那么我也想问一句,为什么要跳过Junit呢,网上只找得到跳过Junit的方法,没说为什么。
Q:为什么要用Log4j来替代System.out.println?
A:对Log4j用得不多,不是很明白
Q:为什么DB的设计中要使用Long来替换掉Date类型?
A:因为Date类型不方便做运算,Long也可以用来准确得计时
Q:自增ID有什么坏处?什么样的场景下不使用自增ID?
A:自增id不好的地方就是删除了一条记录后,id的位置依然会保留。要求数据同步时,这种自增ID就会出现严重的问题,因为你无法用该ID来唯一标识记录。
明天要做的事
完成剩余的深度思考,做任务一的收尾
从今天起,我决定每天给自己提出几个不理解的概念作为明天要学习的事
1.什么是实现类
2.什么是初始化
3.List类里的size
4.List类里的get
问题
收获
在过程中学到的几个知识点
关于next()方法和nextLine()方法
举个例子
有一段文本如下
abc def 
用next()第一次取到abc,第二次取到def
用nextLine()第一次就能取到abc def
next()是以空格和回车作为分隔符的,而nextLine()是为回车作为分隔符
toString()方法
toString()方法就是把对象转换成String类型,转换的算法根据类型和实际需要而定。
举个例子
String name;
String toString(){
return name;}
如果不用toString()方法返回,name就只是一个对象,不会显示所包含的字符串



返回列表 返回列表
评论

    分享到