finalint start = Integer.MAX_VALUE-100; finalint end = Integer.MAX_VALUE; int count = 0; for (int i = start; i <= end;i++) { count++; } System.out.println(count);
HashSet<Short> set = new HashSet<>(); for (short i = 0; i < 100; i++) { // set.add set添加的类型为short set.add(i); // 通过计算得知 int i1 = i - 1,i-1返回的是一个int类型的值,所以remove时找不到需要remove的值 set.remove(i-1); } // 从而size是100 System.out.println(set.size());
x = 10; // 操作1 y = x; // 操作2 x++; // 操作3 x = x + 1;//操作4
以上的操作中只有操作1属于原子性操作。
有序性
有以下这样的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
int x = 10; //volatile int x = 10; 如果x有volatile关键字修饰时,就可以保证有序性 voidcpu0(){ x = 100;// 此时x的状态变幻情况为:S(共享) -> M(修改),此时通过cpu0会通知其他cpu的x的值为I(失效),再取出最新值,会消耗一段时间才会将x的值修改完成 flag = true;// 当flag此时是E状态时,变化状态:E(独享) -> M(修改),此时flag的值会直接修改,并发送给其他cpu状态置为S(共享) }
publicstaticvoidprintArrays(List list){ list.forEach(o -> { if (o instanceofint[]) { printArrays((int[]) o); }else { System.out.println(o); } }); System.out.println(); }
publicstaticvoidprintArrays(Integer[] nums){ for (int i = 0; i < nums.length; i++) { int num = nums[i]; System.out.print(num+" "); } System.out.println(); } publicstaticvoidprintArrays(int[] nums){ for (int i = 0; i < nums.length; i++) { int num = nums[i]; System.out.print(num+" "); } System.out.println(); } }