2 回答

TA貢獻1775條經(jīng)驗 獲得超11個贊
設想下你是java(確切地說,是jvm的設計者),你會遇到很多這樣的選擇:將程序做得很活,比如說方法體可以無限長度,或者方法參數(shù)可以無限多。
這種“很活”的東西如果要設計出來,那么也不是不可以,比如說,需要一個可以動態(tài)分配的存儲機制,比如說類似鏈表那樣可以無限長度的列表,比如說需要在每個方法的元數(shù)據(jù)上安排額外的標簽來表示它有多少參數(shù),或者多少長度。
然而這種設計,是以增加復雜度(jvm的復雜度,所有以java字節(jié)碼為目標的語言的編譯器的復雜度,等等)和時間開銷為代價的??墒菍嶋H上,從工程的角度看,這種需求存在,但是微乎其微地存在。結果就是,1000個人被1個人拖累。那么顯然java的設計者是為了這一個人呢,還是為了其他人呢,這就是一個值得思考的問題。
當然了,我們也有自作聰明的時候,比如說,在1970年代或者更早,我們用2個數(shù)字表示年份,比如1998年叫做98年。結果呢,結果我們遇到了所謂“千年蟲”問題,,我們不得不重新設計各種軟件。
所以說,合理性和不合理性是相對的,僅此而已。

TA貢獻1820條經(jīng)驗 獲得超10個贊
這個分為幾點回答:
Unicode本身只是一個標準,不是具體實現(xiàn),并沒有限定字節(jié)數(shù)。
目前用于實用的 Unicode 版本對應于 UCS-2,使用16位的編碼空間,因此最大能表示65535個字符。
Unicode是發(fā)展的,6萬個確實不夠,事實上現(xiàn)在的Unicode已經(jīng)支持超過10萬個字符(第10萬個于2005年被采納,為馬來亞拉姆語。當前的Unicode版本為6.3,2013年9月30日制定。
Java中使用的仍是UCS-2。
- 2 回答
- 0 關注
- 828 瀏覽
添加回答
舉報