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

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

?? day12.txt

?? 這是關于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一区二区三区免费野_久草精品视频
亚洲成人先锋电影| 亚洲欧美福利一区二区| 欧美日韩一区二区三区四区| 成人教育av在线| 99视频一区二区| 97久久精品人人做人人爽 | 亚洲精品中文在线影院| 亚洲国产高清aⅴ视频| 国产亚洲一区字幕| 日本一区二区三级电影在线观看 | 中文字幕va一区二区三区| 久久精品亚洲麻豆av一区二区| 久久久久久黄色| 中文字幕一区二区三区视频| 亚洲视频一区在线观看| 依依成人综合视频| 首页综合国产亚洲丝袜| 久久 天天综合| 成人激情小说乱人伦| 91福利国产成人精品照片| 欧美色图片你懂的| 欧美r级电影在线观看| 国产喷白浆一区二区三区| 亚洲图片另类小说| 性欧美疯狂xxxxbbbb| 激情六月婷婷综合| 99九九99九九九视频精品| 欧美日韩黄色一区二区| 精品国产成人在线影院 | 蜜臀久久99精品久久久久久9| 日韩一区精品字幕| 高清在线成人网| 欧美写真视频网站| 久久日韩粉嫩一区二区三区| 一区二区在线观看免费视频播放 | 日本一区二区三区久久久久久久久不 | 日本亚洲电影天堂| 国产成人精品免费在线| 色婷婷av一区二区三区大白胸| 欧美一级xxx| 亚洲精品视频自拍| 国内外成人在线视频| 欧美性生活大片视频| 国产视频一区不卡| 亚洲一区二区三区四区在线观看 | 国产色产综合色产在线视频| 五月婷婷综合激情| 成人av电影在线播放| 日韩欧美国产精品一区| 最近日韩中文字幕| 国产成人精品午夜视频免费| 91麻豆精品国产自产在线| 亚洲乱码一区二区三区在线观看| 久草这里只有精品视频| 欧美视频一区二区三区在线观看| 欧美激情一区二区三区不卡| 久久精品国产免费| 在线电影一区二区三区| 亚洲自拍偷拍综合| 色综合久久综合网97色综合 | 欧美网站大全在线观看| 国产精品女人毛片| 国产精品一区二区你懂的| 欧美电影免费提供在线观看| 五月激情丁香一区二区三区| 欧美在线一二三四区| 国产精品久久久久久久久久久免费看 | 肉肉av福利一精品导航| 欧美日韩一卡二卡三卡| 亚洲午夜久久久久久久久电影院| 99精品一区二区三区| 国产精品久久久久久久久免费桃花 | 色综合久久久久网| 日韩一区在线播放| av中文字幕不卡| 亚洲欧洲精品一区二区三区不卡| 国产一区不卡在线| 国产日韩一级二级三级| 国产精品羞羞答答xxdd| 欧美精品一区二区在线观看| 久久国内精品视频| 精品国产不卡一区二区三区| 黄色资源网久久资源365| 26uuu亚洲综合色欧美| 国产露脸91国语对白| 国产校园另类小说区| 成人午夜精品在线| 成人免费一区二区三区视频 | 在线成人高清不卡| 另类调教123区| 久久久精品综合| av在线不卡电影| 亚洲国产一区二区视频| 欧美肥大bbwbbw高潮| 久久91精品国产91久久小草| 国产精品网友自拍| 色婷婷久久综合| 日韩成人一级大片| 国产色爱av资源综合区| 一本色道久久综合精品竹菊| 亚洲电影欧美电影有声小说| 日韩女同互慰一区二区| 波多野结衣91| 午夜亚洲国产au精品一区二区| 欧美mv日韩mv亚洲| 91蝌蚪porny九色| 日本美女一区二区三区视频| 欧美激情在线一区二区| 欧美日韩一区中文字幕| 国产成人在线视频播放| 亚洲黄网站在线观看| 精品国产一区二区三区不卡| 色噜噜狠狠色综合欧洲selulu| 久久福利视频一区二区| 亚洲日本护士毛茸茸| 欧美一级二级三级乱码| av成人免费在线| 七七婷婷婷婷精品国产| 亚洲欧洲精品一区二区三区| 91精品国产乱| 色婷婷av一区二区三区之一色屋| 美国av一区二区| 亚洲色图在线看| 国产亚洲一区二区三区在线观看 | 99re这里都是精品| 久久国产精品72免费观看| 亚洲一区在线免费观看| 国产日韩精品一区二区浪潮av | 99精品欧美一区二区蜜桃免费 | 国产精品国产三级国产普通话99| 正在播放亚洲一区| 91国产免费看| 成人av电影在线观看| 国产一区二区三区四| 日本大胆欧美人术艺术动态| 亚洲夂夂婷婷色拍ww47| 国产精品乱人伦| 中文字幕精品—区二区四季| 精品福利在线导航| 欧美一区二区高清| 欧美日韩精品免费观看视频 | 精品久久久三级丝袜| 欧美精品一二三四| 欧美精品一二三区| 欧美精品日韩精品| 欧日韩精品视频| 在线亚洲精品福利网址导航| 99免费精品在线观看| 国产成人久久精品77777最新版本| 美腿丝袜亚洲色图| 免费观看日韩av| 日本一道高清亚洲日美韩| 午夜精品一区二区三区免费视频| 亚洲美女视频在线观看| 亚洲精品美国一| 亚洲欧美激情小说另类| 亚洲精品亚洲人成人网在线播放| 《视频一区视频二区| 成人欧美一区二区三区1314| 亚洲天堂2016| 一区二区三区在线视频免费| 亚洲精品va在线观看| 亚洲国产欧美一区二区三区丁香婷| 亚洲精品免费播放| 五月激情丁香一区二区三区| 免费在线观看一区二区三区| 激情综合五月天| 岛国精品在线播放| 91电影在线观看| 欧美一区二区视频观看视频| www国产成人| 亚洲欧洲精品成人久久奇米网| 国产精品美日韩| 亚洲一区二区三区自拍| 免费成人av在线| 国产成人av影院| 91老师国产黑色丝袜在线| 欧美精品成人一区二区三区四区| 日韩欧美国产电影| 国产精品丝袜一区| 亚洲自拍偷拍图区| 国产一区二区免费看| 成人天堂资源www在线| 日本精品视频一区二区| 欧美一区二区人人喊爽| 久久综合九色综合欧美就去吻| 国产精品福利一区二区| 亚洲va国产va欧美va观看| 国产乱码精品一区二区三区忘忧草 | 久久综合网色—综合色88| 成人免费在线播放视频| 免费成人在线网站| 99riav久久精品riav| 精品日韩一区二区三区| 中文字幕一区在线观看视频| 五月婷婷综合激情| a级高清视频欧美日韩| 91精品国产综合久久久久久久| 国产亚洲综合性久久久影院| 亚洲电影你懂得|