你的synchronized將while循環(huán)都鎖住了,所以其中一個線程會將整個while循環(huán)執(zhí)行玩再走其他線程,但你的共享數(shù)據(jù)這時候已經(jīng)被循環(huán)至0了,所以只有一個線程在執(zhí)行
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、湘鄉(xiāng)ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的湘鄉(xiāng)網(wǎng)站制作公司
引言:java是在1990年初 ,被詹姆斯?高斯林等人開發(fā)的一門面向?qū)ο蟮木幊陶Z言。起初,java被稱為0ak,來經(jīng)過發(fā)展0ak改名為java,與1995年的五月份正式向大家發(fā)布。
一、java類的實例化順序
java的實例化順序在繼承沒有的情況
單獨一個類的場景下,初始化順序為依次為靜態(tài)數(shù)據(jù),繼承的基類的構(gòu)造函數(shù),成員變量,被調(diào)用的構(gòu)造函數(shù)。
其中靜態(tài)數(shù)據(jù)只會初始化一次。(靜態(tài)數(shù)據(jù)包括靜態(tài)代碼塊和靜態(tài)變量,每個類的靜態(tài)數(shù)據(jù)只會初始化一次)
在繼承的情況下
添加兩個基類,讓繼承父親,父親繼承祖父。
繼承的情況就比較復(fù)雜了。由繼承了基類,還將往上回溯,遞歸地調(diào)用基類的無參構(gòu)造方法。
在我們的例子中,在初始化靜態(tài)數(shù)據(jù)后,會先往上追溯,調(diào)用父的默認(rèn)構(gòu)造方法,此時再往上追溯到爺爺?shù)哪J(rèn)構(gòu)造方法。
二、信息技術(shù)的不斷發(fā)展
java也體現(xiàn)了現(xiàn)代社會下信息技術(shù)的不斷發(fā)展,科技水平的不斷進步,人們的工作也越來越便利,日常生活也越來越方便,越來越多的工具被人們所開發(fā)應(yīng)用 。科技的發(fā)展也要求我們掌握更多的知識,在探索的過程中,我們需要明白更方便的方法使用更便捷的方法來取得成就,我的方法會讓過程事半功倍??萍嫉陌l(fā)展也要求我們掌握越來越多的知識,我們可以通過學(xué)習(xí)來獲得更多的知識,來幫助我們在以后的工作生活,多些技能總是有好處的 。
無論是java還是什么別的東西他都體現(xiàn)了現(xiàn)代社會與信息技術(shù)的不斷發(fā)展,人們在進行進行技術(shù)開發(fā)時也有了越來越多的方法。程序類的工作也有了更為快捷的方法,這為信息技術(shù)的發(fā)展也提供了更好的發(fā)展方法
一般只有需要多個線程共享的變量才需要加同步鎖,這樣保持了數(shù)據(jù)的一致性。
從微觀上來看,即時不加同步代碼塊,同一時刻也只有一個線程在跑,只不過它們交替運行,間隔時間幾乎可以忽略,所以看上去是同步的。同理加了同步代碼塊,只是增加了一個線程訪問某一塊的等待時間,這種等待時間幾乎可以忽略不計,但是對數(shù)據(jù)的一致性來說又是非常重要的。
不知道這么說樓主能不能理解。