20201222-韩德云
2020.12.22日志
日志
1, 数组
数组元素只能在
复制数组
system.arraycopy(source,begin,target,start,size);
解析:
- source表示被复制的源数组
- begin表示从源数组中那个位置开始复制
- target表示目标数组,即要把数据复制到的那个数组
- 从源数组复制后的元素,放到目标数组后的其实位置(即从目标数组的那个位置开始存放)
- size表示复制的元素长度,即个数.
静态初始化
作用:声明数组变量和数组中个元素初始化时在一起的.
步骤:
-
在堆中开辟内存空间
-
使用数组常量对数组中各个位置进行初始化
-
将堆内存中数组的首地址赋值给变量
int[] array = new int []{1,2,3,4,6}; system.out.println(array);
system.out.println(array.toString());
system.out.println(System.identyHashCold(array));
system.out.println(Integer.toHexString(System.identyHashCold(array)));
system.out.println(Array.toString(array));
2, System.identityHashCode的作用:
- 使子类 重写了从Object继承的 hashCode方法
- 通过 System.identityHashCode方法来获取由Object 所提供的 hashCode 所返回的值 .
- System.identityHashCode( reference ) 可以获得任意引用变量所指向的对象对应的类在重写Object的hashCode之前hashCode方法返回的值
3, Object 类的 hashCode方法的作用
Object 类的 hashCode 方法用于返回对象的哈希码值 ,提高哈希表的性能.
4, 启动类 、JVM进程 、线程 、方法栈 、栈帧
启动类:
含有 public static void main( String[] ) 方法的类被称做 启动类( launch class ) 或 主类( main class
jvm进程和线程,方法栈:
运行 启动类 时首先会启动一个 JVM进程 ( process ),JVM 进程内部会创建一个名称为 main 的线程 (thread)
每个线程都私有地维护自己的方法栈
栈帧:
main线程 调用 StringTest1.main 方法并为其传入参数,同时会产生与该方法对应的 栈帧(stack frame)
方法的参数 和 在方法内部 声明的变量 都属于 方法的局部变量,与方法的 栈帧有关
遇到的问题
做三角形的练习题时,返回值s反不回去,仔细检查后发现前后返回值类型不一样,将void修改为double后程序可以正常运行.
吐槽
点赞
评论留言