关键代码-2.docxVIP

  • 4
  • 0
  • 约3.1万字
  • 约 72页
  • 2016-12-03 发布于重庆
  • 举报
关键代码-2

冒泡排序:public static void bubbleSort(int[] arr){for(int x=0; xarr.length-1; x++){for(int y=0; yarr.length-x-1; y++)//-x:让每一次比较的元素减少,-1:避免角标越界。{if(arr[y]arr[y+1]){int temp = arr[y];arr[y] = arr[y+1];arr[y+1] = temp;}}}}选择排序:public static void selectSort(int[] arr){for (int x=0; xarr.length-1 ; x++){for(int y=x+1; yarr.length; y++){if(arr[x]arr[y]){int temp = arr[x];arr[x] = arr[y];arr[y]= temp;}}}}自定义异常:class Zidingyi extends Exception{Zidingyi (String message){super(message);}} //使用案例:throw new Zidingyi(“出现了自定义异常”);单例设计模式:用于保证类在内存中只有一个对象。饿汉式:开发用:class Student{private Student(){}//为了保证外部不能创建对象private static final Student s = new Student();//本身提供一个对象public static Student getInstance()//提供一个公共的访问方式{return s;}}class Test{public static void main(String[] args){Student s1 =Student.getInstance();Student s2 =Student.getInstance();System.out.println(s1.equals(s2)); //true}}懒汉式:延迟加载,线程安全问题。class Student{private Student(){}//为了保证外部不能创建对象private static Student s = null; //本身提供一个对象public static Student getInstance()//提供一个公共的访问方式{if(s==null){synchronized(Student.class){if(s==null)s = new Student();}}return s;}}线程同步:class Ticket implements Runnable{private int tick = 1000;Object obj = new Object();//创建一个锁。同步的前提:须是同一个锁,且是多个线程操作同一个资源。public void run(){while(true){synchronized(obj){ if(tick0){//try{Thread.sleep(10);}catch(Exception e){}System.out.println(Thread.currentThread().getName()+....sale : + tick--);}}}}}class TicketDemo{public static void main(String[] args) {Ticket t = new Ticket();Thread t1 = new Thread(t);//创建了一个线程;Thread t2 = new Thread(t);//创建了一个线程;Thread t3 = new Thread(t);//创建了一个线程;Thread t4 = new Thread(t);//创建了一个线程;t1.start();t2.start();t3.start();t4.start();死锁: public class DieLock extends Thread { private boolean flag; public DieLock(boolean flag)//提供构造函数 { this.flag=flag; } //重写run方法 public void run() { if(flag)//根据DieLockDemo生成的俩个线程,flag有两个值 { synchronized(MyLock.objA)//线程A进来了 { System.out.println(if ObjA); //此时需要线程B的锁 synchronized (MyLock.objB) { System.out.pri

文档评论(0)

1亿VIP精品文档

相关文档