亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java編程中靜態內部類與同步類的寫法示例

2019-11-26 14:58:49
字體:
來源:轉載
供稿:網友

java靜態內部類
將某個內部類定義為靜態類,跟將其他類定義為靜態類的方法基本相同,引用規則也基本一致。不過其細節方面仍然有很大的不同。具體來說,主要有如下幾個地方要引起各位程序開發人員的注意。
    (一)一般情況下,如果一個內部類不是被定義成靜態內部類,那么在定義成員變量或者成員方法的時候,是不能夠被定義成靜態成員變量與靜態成員方法的。也就是說,在非靜態內部類中不可以聲明靜態成員。
    (二)一般非靜態外部類可以隨意訪問其外部類的成員變量以及方法(包括聲明為private的方法),但是如果一個內部類被聲明為static,則其在訪問包括自身的外部類會有諸多的限制。靜態內部類不能訪問其外部類的非靜態成員變量和方法。
    (三)在一個類中創建非靜態成員內部類的時候,有一個強制性的規定,即內部類的實例一定要綁定在外部類的實例中。然后要在一個外部類中定義一個靜態的內部類,不需要利用關鍵字new來創建內部類的實例。即在創建靜態類內部對象時,不需要其外部類的對象。
    java在實現LinkedList時使用了如下內部類:

public class LinkedList<E>   extends AbstractSequentialList<E>   implements List<E>, Deque<E>, Cloneable, java.io.Serializable {   ........   private static class Entry<E> { E element; Entry<E> next; Entry<E> previous; Entry(E element, Entry<E> next, Entry<E> previous) {   this.element = element;   this.next = next;   this.previous = previous; }   }   private Entry<E> addBefore(E e, Entry<E> entry) { Entry<E> newEntry = new Entry<E>(e, entry, entry.previous); newEntry.previous.next = newEntry; newEntry.next.previous = newEntry; size++; modCount++; return newEntry;   }   ........ } 

這里即靜態內部類的典型用法


java同步工具類

/**  * 需要啟動多個線程把接口數據分批導入目標,要求  * 每次執行的時候必須保證前一次任務已結束,處理這個需求的方式有很多種,其實質即  * 線程間同步問題,正好這兩天我也在關注線程同步相關的東東,jdk提供了不少的線程  * 同步工具類,CountDownLatch:一個同步輔助類,在完成一組正在其他線程中執行的  * 操作之前,它允許一個或多個線程一直等待。  * 用給定的計數 初始化 CountDownLatch。由于調用了 countDown() 方法,所以在當前計數到達零之前,  * await 方法會一直受阻塞。之后,會釋放所有等待的線程,await 的所有后續調用都將立即返回。  * 這種現象只出現一次――計數無法被重置(這點很重要哦)。如果需要重置計數,請考慮使用 CyclicBarrier。  * 下面是一個簡單的例子來模擬該需求,當然可能因為為了模擬場景,會有一些不合理的地方,這里主要闡述  * CountDownLatch同步,關于CountDownLatch的源碼將在后面來分析,其主要涉及AbstractQueuedSynchronizer  * 這個類,他的類容相對比較復雜  * **/  import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.CountDownLatch;  public class Driver {  static List<Integer> strList = null;  int k = 0;  static {  //模擬數據  strList = new ArrayList<Integer>();  for (int i = 0; i < 50; i++) {   strList.add(i);  }  }   public static void main(String args[]) {  boolean isEnd = true;  //為了驗證正確性,只執行20次  int count=0;  Driver d = new Driver();  while (isEnd && strList.size() > 0&&count<20) {   CountDownLatch startSignal = new CountDownLatch(1);   final CountDownLatch doneSignal = new CountDownLatch(5);   for (int i = 0; i < 5; ++i)   {   new Thread(d.new Worker(startSignal, doneSignal,i)).start();   }   //計數減1 子線程Worker可以執行   startSignal.countDown();   try {   new Thread(new Runnable() {    Random r = new Random();    @Override    public void run() {    try {     //主線程阻塞 知道所有子線程將doneSignal清零     doneSignal.await();    } catch (InterruptedException e) {     e.printStackTrace();    }    while(strList.size()<=0){     int pos = r.nextInt(1000);     strList.clear();     for (int i = pos; i < pos + 50; i++) {     strList.add(i);     }    }    }   }).start();   isEnd = true;   } catch (Exception e) {   e.printStackTrace();   }   count++;  }  }   class Worker implements Runnable {  private final CountDownLatch startSignal;  private final CountDownLatch doneSignal;  private int i;   Worker(CountDownLatch startSignal, CountDownLatch doneSignal,int i) {   this.startSignal = startSignal;   this.doneSignal = doneSignal;   this.i=i;    }   public void run() {   try {   // 等待主線程執行countDown   startSignal.await();   doWork();   //計數減1   doneSignal.countDown();   } catch (InterruptedException ex) {   } // return;  }   void doWork() {   synchronized (strList) {   int start=(i)*(50/5);   int end=(i+1)*(50/5);   for (int i = start; i < end; i++) {    System.out.println(strList.get(i) + "---" + "已被刪除");   }   }  }  } } 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线视频导航| 91九色国产在线| 日韩福利视频在线观看| 日韩中文字幕第一页| 欧美日韩裸体免费视频| 成人精品在线视频| 日韩国产欧美精品一区二区三区| 久热在线中文字幕色999舞| 在线看片第一页欧美| 精品露脸国产偷人在视频| 精品视频久久久久久久| 久久久久亚洲精品成人网小说| 国产精品成人一区二区| 久久久久国产精品免费| 欧美精品生活片| 亚洲精品v天堂中文字幕| 日韩精品中文字幕视频在线| 久久久免费在线观看| 疯狂蹂躏欧美一区二区精品| 国产日韩欧美夫妻视频在线观看| 亚洲国产精彩中文乱码av在线播放| 精品久久久一区二区| 性日韩欧美在线视频| 国产精品美女视频网站| 国产午夜精品全部视频在线播放| 亚洲人免费视频| 国产精品久久久久免费a∨| 成人国产精品色哟哟| 国产精品久久久久久久av电影| 日韩欧美在线观看视频| 日韩中文字幕精品视频| 亚洲肉体裸体xxxx137| 欧美大片免费观看| 国产精品久久久久久久久男| 美女视频黄免费的亚洲男人天堂| 97超级碰碰碰久久久| 欧美视频第一页| 伊人久久久久久久久久久久久| 亚洲人成网站999久久久综合| 国产精品盗摄久久久| 国产欧美亚洲精品| 亚洲人成伊人成综合网久久久| 亚洲美女免费精品视频在线观看| 久久99国产综合精品女同| 一区二区三区回区在观看免费视频| 精品国产一区久久久| 亚洲天天在线日亚洲洲精| 国产精品一区二区在线| 一区二区三区 在线观看视| 亚洲夜晚福利在线观看| 欧美大片在线免费观看| 久久精品亚洲热| 狠狠躁夜夜躁人人躁婷婷91| 青草热久免费精品视频| 国产精品九九久久久久久久| 亚洲一区二区黄| 色婷婷久久av| 欧美影院久久久| 亚洲韩国日本中文字幕| 亚洲精品国精品久久99热| 国产欧美精品日韩精品| 久久国产精品视频| 92版电视剧仙鹤神针在线观看| 成人欧美一区二区三区黑人| 亚洲成人网在线观看| 欧美激情videos| 国产精品美女久久久免费| 国产精品黄色影片导航在线观看| 国产精品精品久久久| 色偷偷88888欧美精品久久久| 国产精品第一视频| 成人黄色免费在线观看| 91精品国产综合久久香蕉| 国产成人高清激情视频在线观看| 91精品国产综合久久久久久久久| 国产精品网址在线| 欧美性精品220| 成人久久久久久久| 亚洲欧美在线一区二区| 日本乱人伦a精品| 色偷偷91综合久久噜噜| 久久av在线看| 色综合伊人色综合网站| 欧美成人高清视频| 亚洲一区二区三区xxx视频| 欧美高清videos高潮hd| 91精品在线一区| 欧美成人午夜激情在线| 91免费精品国偷自产在线| 成人动漫网站在线观看| 欧美日韩性生活视频| 成人a在线视频| 久久久久久香蕉网| 96pao国产成视频永久免费| 亚洲国产精品va在线看黑人动漫| 亚洲2020天天堂在线观看| 国产日韩欧美视频在线| 51精品国产黑色丝袜高跟鞋| 国产在线播放91| 国产精品igao视频| 国产精品av免费在线观看| 国产香蕉精品视频一区二区三区| 国语自产精品视频在线看抢先版图片| 国产91精品久久久久久久| 久久男人av资源网站| 欧美有码在线观看视频| 中文字幕精品久久久久| 在线视频亚洲欧美| 中文日韩电影网站| 欧美亚洲另类在线| 日韩在线视频观看正片免费网站| 国产这里只有精品| 久久精品亚洲94久久精品| 国产亚洲精品久久久优势| 秋霞成人午夜鲁丝一区二区三区| 欧美在线一级视频| 久久免费视频观看| 欧美野外猛男的大粗鳮| 亚洲精品免费av| 揄拍成人国产精品视频| 日韩国产欧美精品一区二区三区| 国产精品久久在线观看| 午夜精品福利电影| 国产精品av在线播放| 欧美日本亚洲视频| 欧美精品videosex极品1| 日韩精品亚洲元码| 国产精品扒开腿爽爽爽视频| 中文字幕久久久| 2019亚洲日韩新视频| 欧美日韩一区二区三区在线免费观看| 国产一区视频在线播放| 精品国产一区二区在线| 日韩成人中文字幕在线观看| 国产精品扒开腿爽爽爽视频| 亚洲精品按摩视频| 国产亚洲精品成人av久久ww| 欧美性感美女h网站在线观看免费| 亚洲国产欧美一区| 久久精品国产综合| 亚洲第一视频在线观看| 国产91色在线| 91免费国产视频| 亚洲成人免费在线视频| 欧美激情奇米色| 色狠狠久久aa北条麻妃| 在线观看欧美日韩| 国产精品美腿一区在线看| 成人黄色av免费在线观看| www.久久久久| 久久久久女教师免费一区| 97在线视频观看| 久久精品国产亚洲7777| 性欧美长视频免费观看不卡| 在线免费看av不卡| 色999日韩欧美国产| 精品女厕一区二区三区| 欧美又大又硬又粗bbbbb| 91免费的视频在线播放| 色综合亚洲精品激情狠狠| 国产精品99久久久久久久久久久久| 91精品久久久久久综合乱菊| 中文字幕精品国产| 亚洲a在线播放|