- 博客(9)
- 收藏
- 关注
原创 for循环的初始化用了哪个指令?
xor指令(异或操作)会对左起第一个操作数和右起第二个操作数进行XOR运算,然后把结果存储在第一个操作数中。由于这里把第一个操作数和第二个操作数都指定为了ebx,因此就变成了对相同数值进行XOR运算。也就是说,不管当前ebx寄存器的值是什么,结果肯定都是0。虽然用mov指令的mov ebx,0也会得到同样的结果,但与mov指令相比,xor指令的处理速度更快。这里,编译器的最优化功能也会启动。for语句初始化中的i=0;被转换成了xor ebx, ebx这一处理。总结:异或操作真的很神奇。
2023-04-26 10:19:22 78
原创 java.lang.ArrayIndexOutOfBoundsException: arraycopy: length -1 is negativ
解决办法:第一种:在那个为空的.txt文件里填上一些内容第二种:read,write的时候,不要read和write一个数组。而是一个字节一个字节的read和write
2023-04-14 15:36:03 527
原创 java.lang.ClassCastException
当TreeSet集合中的元素是某个类时,这个类一定要实现Comparable接口,要不然就会报错。因为TreeSet只能对实现了Comparable接口的类对象进行排序,因为Comparable接口中有一个`compareTo(Object o)方法用于比较两个对象的大小。
2023-04-13 15:48:25 327
原创 构建二叉堆时,为什么大家都用从最后一个非叶子结点开始逐个进行下沉调整,而不采用从根节点开始逐个进行下沉调整,它们的时间复杂度有没有差异?
事实上,从最后一个非叶子结点开始逐个进行下沉调整和从根节点开始逐个进行下沉调整的时间复杂度化简后都是O(nlogn)。因此,在时间复杂度方面,它们并没有本质上的区别。
2023-03-25 15:13:13 144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人