- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 java并发工具类浅析:ReentrantLock、Semaophore、CountDownLatch、CyclicBarrier
AQSAbstractQueuedSynchronizer 下面所有的并发工具类都不同程度的依赖这个抽象类, 功能: 其中主要维护了一个同步等待队列的head节点和tail节点,以及一个表示资源数量的成员变量state 通过大量cas操作保证并发操作的原子性,以及通过unsafe类调用系统底层的park、unpark指令来完成线程阻塞、解除阻塞操作。 AQS有个内部类Condit...
2020-03-18 09:59:05
368
原创 在一串字符串中,已知左括号位置,获取相对应的右括号位置
public static void main(String[] args) { String a = "vab(c {a[d]}sa)"; Integer d = bracketsMatchedSearch(a.toCharArray(), 5); System.out.println(d); } /** * 得到匹配括号的位置 * * 返回对应坐标为正...
2018-11-22 15:34:25
2270
原创 java校验括号是否成对匹配
public class BracketsCheckTest { public static void main(String[] args) { System.out.println(bracketsCheck("a((()){khgg{[]sdfg}gdfg}")); System.out.println(bracketsCheck("}a((()){khgg{[]sdfg}gd...
2018-11-22 11:04:23
1270
原创 插入排序-希尔排序
/* * Java实现希尔排序(缩小增量排序) *两个步骤:1,建堆 2,对顶与堆的最后一个元素交换位置 */public class ShellSort { public static void main(String[] args) { int a[] = { 3, 1, 5, 7, 2, 4, 9, 6, 10, 8 }; System.out.print("初始...
2018-09-26 15:23:38
160
原创 选择排序-简单选择排序
public class SimpleSelectSort { public static void main(String[] args) { int a[] = { 3, 1, 5, 7, 2, 4, 9, 6, 10, 8 }; System.out.print("初始值:"); print(a); selectSort(a); System.out.print(...
2018-09-26 15:22:11
390
原创 交换排序-冒泡排序
public static void main(String[] args) { int a[] = { 3, 1, 5, 7, 2, 4, 9, 6, 10, 8 }; System.out.print("初始值:"); print(a); bubbleSort(a); System.out.print("\n排序后:"); print(a); } publi...
2018-09-26 15:20:50
137
原创 交换排序-快速排序
public static void main(String[] args) { int a[] = { 3, 1, 5, 7, 2, 4, 9, 6, 10, 8 }; System.out.print("初始值:"); print(a); shellSort(a); System.out.print("\n排序后:"); print(a); } public ...
2018-09-26 15:19:27
158
原创 插入排序-直接插入排序
public static void insertSort(int[] a) { // 排序方法 // 从头部第一个当做已经排好序的,把后面的一个一个的插到已经排好的列表中去。 for (int i = 1; i < a.length; i++) { if (a[i] < a[i - 1]) { int j; int x = a[i]; // x为待插...
2018-09-26 15:15:34
202
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人