JavaBasic-ThreadLocal

ThreadLocal

  • ThreadLocal和线程同步机制都是为了解决多线程中相同变量的访问冲突问题。
  • 同步机制中,通过对象的锁机制保证同一时间只有一个线程访问变量。这个时候该变量是多个线程共享的。
  • ThreadLocal中,会为每一个线程提供一个独立的变量副本,从而隔离了多个线程对数据的访问冲突。

JavaBasic-final关键字

关于final关键字

  • final的优点:
    • final提高了性能,JVM和Java应用都会缓存final变量。
    • final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销。
    • 使用final关键字,JVM会对方法变量及类进行优化。

算法

冒泡排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
* Created by Neko~ on 2017/4/10.
*/
public class alg1 {
private static int[] data={9,16,27,23,30,49,21,35};
public static void bubbleSort(){
System.out.println("开始排序");
int arraylength = data.length;
for(int i = 0; i<arraylength-1; i++){ //-1的原因是最大的数不用排了
boolean flag = false; //用于记录数组是否进行了排序,如果为false说明数组是按数字大小顺序排列的
for (int j = 0; j < arraylength-1 -i ;j++){//-1-i是因为这些数已经排好放在最后了,不用再排序
if (data[j] - data[j+1] > 0){
//如果前面的数比后面的数大,交换
int tmp = data[j + 1];
data[j + 1] = data [j];
data[j] = tmp;
flag = true;
}
}
System.out.println(java.util.Arrays.toString(data));
if(!flag){
System.out.println("没有进行排序");
}
}
}

public static void main(String[] args) {
bubbleSort();
}
}
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×