2017.2.28 学习记录
2017-03-01 15:36
176 查看
1.Intelligent IDEAJ 复制粘贴等快捷键无法使用 的 解决方案:
菜单栏,tools->vim emulator2.Intelligent IDEAJ 某些JAR包无法导入 的 解决方案:
检查Maven的Setting文件检查File - Settings - Maven里面的Setting File和Local Repository是否配置正确
检查版本号和Jar包名称是否正确
一劳永逸解决IDEA的maven配置的问题
修改File - Other Settings - Default Settings - Maven里面的Setting File和Local
Repository
3.Maven有三套相互独立的生命周期:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
Site Lifecycle 生成项目报告,站点,发布站点。
mvn clean install site 命令可以运行完整的3套生命周期
4.一方库、二方库、三方库说明:
一方库:本工程中的各模块的相互依赖二方库:公司内部的依赖库,一般指公司内部的其他项目发布的jar包
三方库:公司之外的开源库,
比如apache、ibm、google等发布的依赖
5.IDE的text file encoding设置为UTF-8; IDE中文件的换行符使用Unix格式,不要使用windows格式。
6.所有的相同类型的包装类对象之间值的比较,全部使用equals方法比较。
说明:对于Integer var=?在-128至127之间的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象,这个区间内的Integer值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用equals方法进行判断。7.不要在foreach循环里进行元素的remove/add操作。
remove元素请使用Iterator方式或下标自减,如果并发操作,需要对Iterator对象加锁。 反例:List<String> a = new ArrayList<String>();
a.add("1");
a.add("2");
for (String temp : a) {
if("1".equals(temp)){
a.remove(temp);
}
}
说明:以上代码的执行结果肯定会出乎大家的意料,那么试一下把“1”换成“2”,会是同样的结果吗? 正例:
Iterator<String> it = a.iterator();
while(it.hasNext()){
String temp = it.next();
if(删除元素的条件){
it.remove();
}
}
不要在foreach循环里进行元素的remove/add操作。remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。
反例:
List<String> a = new ArrayList<String>();
a.add("1");
a.add("2");
for (String temp : a) {
if("1".equals(temp)){
a.remove(temp);
}
}
说明:以上代码的执行结果肯定会出乎大家的意料,那么试一下把“1”换成“2”,会是同样的结果吗? 正例:
Iterator<String> it = a.iterator();
while(it.hasNext()){
String temp = it.next();
if(删除元素的条件){
it.remove();
}
}
或者:在remove后,对下标进行“i--”操作