亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? day12.txt

?? JAVA 高質量的學習筆記 JAVA 高質量的學習筆記
?? TXT
字號:
多線程:
	多線程的同步:	
		多線程并發訪問同一個對象(臨界資源),如果不對線程進行同步控制,破壞了原子操作(不可再分的操作),則會造成臨界資源(兩個線程同時訪問的資源)的數據不一致。   

		每一個對象都有一個互斥的鎖標記和一個鎖池。當線程擁有這個對象的鎖標記時才能訪問這個資源,沒有鎖標記便進入鎖池,保證在同步代碼塊中只有一個線程,解決了多線程同步控制的問題。
		
		關鍵字:synchronized	//線程在同步代碼中必須采用串行訪問
			synchronized修飾代碼塊:對括號內的對象object加鎖,只有拿到對象鎖標記的線程才能進入該代碼塊。
	   			public void push(char c){ 
	        			synchronized(object){ 	//object只要是對象就可以,但必須保證是同一對象
	        				……
	        				同步代碼 
	        				……
	        			} 
	   			}
	   			
			synchronized修飾方法:在整個方法范圍內對當前對象的加鎖,只有拿到對象鎖標記的線程才能執行該方法。盡可能的少用
	   			public synchronized void push(char c) {
					……
					同步代碼 
					……	
				}
	      			
		一個線程可以同時擁有多個對象的鎖標記,鎖標記如果過多,就會出現線程等待其他線程釋放鎖標記,而又都不釋放自己的鎖標記供其他線程運行的狀況,造成死鎖。				

		靜態方法可以是同步方法:但是它所鎖的并不是當前對象,是類對象。
		抽象方法不能是synchronized同步的方法。
		構造方法不能是synchronized同步的方法。
			
		線程因為未拿到鎖標記而發生阻塞進入鎖池(lock pool)。每個對象都有自己的一個鎖池的空間,用于放置等待運行的線程。由系統決定哪個線程拿到鎖標記并運行
		
		利用Collections類中的synchronizedXxxx(Xxxx ss)方法可以得到相應集合的線程安全的集合
		
		注意:
			在同步語句塊中不能直接操作對象鎖正在使用的對象。
			對象與鎖一一對應。
			同步依賴對象鎖,鎖對象相同,同步語句串行,鎖對象不同,同步語句并行。
			順序鎖,不要回調,反向打開。
			能不用同步就不用同步,有數據共享沖突時才使用同步。
		
	等待通知機制:
		線程間通信使用的空間稱之為對象的等待對列(wait pool),該隊列也是屬于對象的空間的。
		
		使用Object類中wait()的方法,在運行狀態中,線程調用wait(),此時表示線程將釋放自己所有的鎖標記和CPU的占用,同時進入這個對象的等待池。等待池的狀態也是阻塞狀態,只不過線程釋放自己的鎖標記。只有在對該對象加鎖的同步代碼塊里,才能掉用該對象的wait(),表示線程將會釋放所有鎖標記,進入等待隊列,線程將進入等待隊列狀態。
		
		一個線程進入了一個對對象加鎖的同步代碼塊,并對該對象調用了wait()方法,釋放自己擁有的所有鎖標記,進入該對象等待隊列,另一個線程獲得了該對象的鎖標記,進入代碼塊對該對象調用了notify()方法,就會從等待隊列里釋放出一線程,釋放出的這個線程要繼續運行就還要進入那個同步代碼塊,因為得不到要訪問代碼塊對象的鎖標記,而進入該對象的鎖池,等待鎖標記釋放。
		
		什么情況下釋放鎖:
			同類代碼執行完畢。
			異常未處理,錯誤退出。
			調用wait()。
		
		相關方法:
			1) wait():交出鎖和CPU的占用; 
			2) notify():將從對象的等待池中移走一個任意的線程,并放到鎖池中,那里的對象一直在等待,直到可以獲得對象的鎖標記。 
			3) notifyAll(): 將從等待池中移走所有等待那個對象的線程并放到鎖池中,只有鎖池中的線程能獲取對象的鎖標記,鎖標記允許線程從上次因調用wait()而中斷的地方開始繼續運行
			
		注意:
			用notifyAll()取代notify(),因為在調用notify()方法時,是由系統決定釋放出哪個線程。
			只能對加鎖的資源進行wait()和notify()。
			判斷是否進行等待wait()時,用while代替if來進行判斷。
			
I/O流
	字節輸入流:InputStream類為所有字節輸入流的父類
		三個基本的read()方法: 
	      		int read()
	      			從流里讀出的一個字節。不推薦使用
	      		int read(byte[] b)
	      			將數據讀入到字節數組中,并返回所讀的字節數
	      		int read(byte[] b, int off, int len)
	      			off  從哪里開始讀。
	      			len  讀取多少。
	      			將輸入流中最多 len 個數據字節讀入字節數組。
		其它方法: 
	      		void close() 
	      			關閉此輸入流并釋放與該流關聯的所有系統資源。
	      		int available()
	      			返回不受阻塞地從此輸入流讀取的字節數。
	      		long skip(long n)
	      			跳過和放棄此輸入流中的n個數據字節,該方法有可能失效。
	      		boolean markSupported()
	      			測試此輸入流是否支持 mark 和 reset 方法。
	      		void mark(int n)
	      			在此輸入流中標記當前的位置
	      		void reset()
	      			將此流重新定位到對此輸入流最后調用 mark 方法時的位置。 
 
	字節輸出流:OutputStream類是所有字節輸入流的父類
		三個基本的write()方法: 
			void write(int n)
				將指定的字節寫入此輸出流。
			void write(byte[] b) 
				將 b.length 個字節從指定的字節數組寫入此輸出流。
			void write(byte[] b, int off, int len)
				將指定字節數組中從偏移量off開始的len個字節寫入此輸出流。
		其它方法: 
			void close()
		      		關閉此輸出流并釋放與此流有關的所有系統資源。
			void flush()
		      		刷新此輸出流并強制寫出所有緩沖的輸出字節。 
		      		
	文件輸入輸出流:FileInputStream和FileOutputStream
		要構造一個FileInputStream,所關聯的文件必須存在而且是可讀的。
			如:
				FileInputStream fis = new FileInputStream("myfile.dat"); 
		要構造一個FileOutputStream,而輸出文件已經存在,則它將被覆蓋。		 	
			如:			
		   		FIleOutputStream fos = new FileOutputStream("results.dat"); 
		   	要想以追加的方式寫,則需要一個額外的參數,如:
				FileOutputStream outfile = new FileOutputStream("results.dat" ,true);	//參數為true時輸出為追加,為false時為覆蓋。  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品盗摄一区二区三区| 日本一区二区三区四区在线视频 | 激情久久久久久久久久久久久久久久| 最新热久久免费视频| 综合网在线视频| **网站欧美大片在线观看| 日韩美女久久久| 亚洲靠逼com| 午夜精品一区在线观看| 亚洲va国产va欧美va观看| 午夜精品国产更新| 蜜桃精品在线观看| 国产九九视频一区二区三区| 国产麻豆91精品| 成人av在线播放网站| jlzzjlzz国产精品久久| 色94色欧美sute亚洲线路二| 欧美性猛片aaaaaaa做受| 欧美日韩一区不卡| 欧美一级电影网站| 久久精品视频一区| 亚洲精品国产品国语在线app| 亚洲午夜三级在线| 久久99久国产精品黄毛片色诱| 国产乱子轮精品视频| 91在线看国产| 91精品国产乱码久久蜜臀| 2020国产精品| 一区二区三区四区在线| 免费观看成人av| 91女神在线视频| 日韩午夜精品电影| 国产精品国产精品国产专区不蜜| 亚洲一区二区三区四区不卡| 久久成人av少妇免费| 91视频一区二区三区| 日韩一级片在线观看| 亚洲私人影院在线观看| 久久国产精品第一页| 91浏览器入口在线观看| 日韩欧美一级在线播放| 曰韩精品一区二区| 国产综合久久久久影院| 欧美午夜电影网| 国产免费久久精品| 九一久久久久久| 欧美日韩免费一区二区三区| 中文字幕 久热精品 视频在线| 天天av天天翘天天综合网 | 在线视频一区二区三区| 欧美大片拔萝卜| 亚洲精品视频在线观看网站| 国产一区中文字幕| 欧美猛男超大videosgay| 久久九九久久九九| 日本欧美韩国一区三区| 欧美午夜片在线看| 亚洲乱码国产乱码精品精小说| 国产成人综合在线播放| 日韩欧美三级在线| 午夜精品福利视频网站| 色狠狠色狠狠综合| 国产精品美女久久久久久久久久久 | 国产精品中文有码| 欧美成人三级电影在线| 日日欢夜夜爽一区| 一本色道久久综合亚洲精品按摩 | 制服丝袜亚洲精品中文字幕| 欧美自拍偷拍一区| 中文字幕一区三区| 成人avav在线| 亚洲国产精品传媒在线观看| 国产麻豆日韩欧美久久| 精品久久久网站| 日本不卡中文字幕| 精品国产百合女同互慰| 美女视频网站久久| 欧美大白屁股肥臀xxxxxx| 日韩激情视频网站| 欧美一区二区三区四区高清| 日韩精品久久理论片| 欧美一区二区三区在线视频| 日精品一区二区| 欧美一区二区在线观看| 六月丁香婷婷久久| 久久亚洲综合色一区二区三区| 激情综合色丁香一区二区| 精品久久一区二区三区| 国产成人在线免费| 国产精品国产馆在线真实露脸 | 国产精品乱码一区二三区小蝌蚪| 成人影视亚洲图片在线| 亚洲欧美一区二区视频| 欧洲av在线精品| 经典三级一区二区| 国产精品天干天干在观线| 在线观看区一区二| 蜜臀av性久久久久蜜臀aⅴ四虎| 精品成人一区二区三区| 不卡的电视剧免费网站有什么| 亚洲综合在线第一页| 精品国产伦一区二区三区观看体验 | 国产真实精品久久二三区| 国产女同互慰高潮91漫画| 色哟哟日韩精品| 理论片日本一区| 国产精品电影一区二区| 欧美一区二区私人影院日本| 成人午夜在线免费| 婷婷久久综合九色综合绿巨人| 久久毛片高清国产| 欧美肥妇毛茸茸| 成人免费观看男女羞羞视频| 日韩成人午夜精品| 中文字幕在线观看不卡视频| 欧美一区二区三区免费大片| 97精品国产露脸对白| 国模少妇一区二区三区| 亚洲精品免费视频| 久久久久久久久久久电影| 在线电影院国产精品| 大胆亚洲人体视频| 久久99精品久久久久久动态图 | 国产一区欧美二区| 一区二区三区鲁丝不卡| 久久色在线观看| 欧美精品v日韩精品v韩国精品v| 成人综合在线观看| 久久99国产精品尤物| 日韩激情一二三区| 亚洲午夜精品一区二区三区他趣| 国产校园另类小说区| 欧美电影免费观看高清完整版在线 | 国产一区美女在线| 天天色图综合网| 亚洲国产精品一区二区久久| 中文字幕亚洲综合久久菠萝蜜| 久久一区二区视频| 欧美一卡二卡三卡四卡| 欧美日韩国产经典色站一区二区三区| 99久久精品情趣| 成人av电影观看| gogogo免费视频观看亚洲一| 国产精品一区二区三区四区| 狠狠色丁香久久婷婷综| 美女视频黄免费的久久| 日韩电影网1区2区| 男女男精品视频| 蜜桃精品视频在线| 麻豆精品久久久| 免费一级欧美片在线观看| 亚洲777理论| 亚洲18女电影在线观看| 亚洲一区二区在线免费观看视频| 亚洲人精品午夜| 亚洲欧美日韩成人高清在线一区| 国产精品素人视频| 国产精品电影一区二区| 最近日韩中文字幕| 亚洲欧美另类图片小说| 亚洲天堂免费在线观看视频| 亚洲视频综合在线| 一区二区三区在线观看欧美| 亚洲观看高清完整版在线观看| 午夜av一区二区| 精品在线视频一区| 国产成人激情av| caoporen国产精品视频| 色域天天综合网| 91精品国模一区二区三区| 日韩手机在线导航| 久久久激情视频| 亚洲精品成人悠悠色影视| 亚洲一区电影777| 日日夜夜免费精品| 国产精品自在在线| 色综合咪咪久久| 欧美一区二区人人喊爽| 国产性天天综合网| 亚洲一级不卡视频| 黄一区二区三区| 91片黄在线观看| 欧美xxx久久| 亚洲人成人一区二区在线观看| 午夜影院久久久| 国产精品123区| 欧美无人高清视频在线观看| 欧美电影精品一区二区| 亚洲天堂成人在线观看| 九九**精品视频免费播放| av激情成人网| 日韩一级片网址| 亚洲天堂免费看| 国产美女主播视频一区| 欧美日韩国产一二三| 久久久av毛片精品| 日韩精品成人一区二区三区| 国产黑丝在线一区二区三区| 欧美久久久久久久久久| 国产精品久久久久永久免费观看 |