平时总会遇到很多问题,然后百度,看完之后觉得懂了,关掉立马就忘记了,所以决定把这些零碎的知识点也都记录下来,方便自己复习,之后补深入学习的博客;
1.JAVA中的’transient’和’volatile’关键字
粗略的说:transient可用于对象序列化,volatile用于线程同步;
transient是类型修饰符,只能用来修饰字段,在对象序列化的时候,被transient修饰的字段不会被序列化;
volatile也是变量修饰符,只能用来修饰变量,volalite修饰的变量每次在被线程访问的时候,都会强迫去共享内存中重读该变量的值,每次变量的值发生改变时,也会写到共享内存中去;
2.System类中的数组拷贝方法(本地方法)
记录一个高效的数组拷贝方法,System类中的arrayCopy()方法,一个静态的本地方法,效率很高;
public static native void arrayCopy(Object src, int srcPos, Object dest, int destPos, int length);
分别解释一下每个参数的含义:
Object src:源数组( 必须是数组)
int srcPos:拷贝的起始位置(必须大于等于0而且小于源数组的长度)
Object dest:拷贝的目的数组(必须是数组,且类型必须和源数组保持一致,否则会报存储异常)
int destPost:存放的起始位子(必须大于等于0而且小于目的数组的长度)
int length:拷贝的元素个数(必须大于等于0)
3.把svn上下载的项目转成maven项目
有的时候,maven项目从svn上下载之后,变成了普通项目,而不是maven项目,此时就需要修改配置使其变成maven项目;
(1)点击项目,右键configure,点击convert to maven project 即可;
(2)在某些情况下,这样还是不行,则点击项目,右键configure,点击convert into faceted form,这时应该会变成普通Java工程并且报错,再右键该工程->maven->enabled dependency management,如果还有报错,应该是依赖出错,则右键项目->maven->update project Configuration;