String內(nèi)部是以char數(shù)組的形式存儲(chǔ),數(shù)組的長(zhǎng)度是int類型,那么String允許的最大長(zhǎng)度就是Integer.MAX_VALUE = 2^31 - 1 = 2147483647。又由于java中的字符是以16位存儲(chǔ)的,因此大概需要4GB的內(nèi)存才能存儲(chǔ)最大長(zhǎng)度的字符串。
新巴爾虎左網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
不過(guò)這僅僅是對(duì)字符串變量而言,如果是字符串常量,如“abc”、”1234”之類寫在代碼中的字符串str,那么允許的最大長(zhǎng)度取決于字符串在常量池中的存儲(chǔ)大小,也就是字符串在class格式文件中的存儲(chǔ)格式:
CONSTANT_Utf8_info {
u1 ?tag;
u2 ?length;
u1 ?bytes[length];
}
u2是無(wú)符號(hào)的16位整數(shù),因此理論上允許的string str的最大長(zhǎng)度是2^16-1=65535。然而實(shí)際測(cè)試表明,允許的最大長(zhǎng)度僅為65534,超過(guò)就編譯錯(cuò)誤。
一、sql語(yǔ)句字符串長(zhǎng)度太長(zhǎng)導(dǎo)致的報(bào)錯(cuò)代碼
代碼A:
String str = "567890123456789...0123456789";//由于字符串長(zhǎng)度太長(zhǎng),所以省略一部分,長(zhǎng)度是65535;
System.out.println(str.length()); ? //編譯報(bào)錯(cuò):Error:(14, 22) java: 常量字符串過(guò)長(zhǎng)。
代碼B:
String str = "67890123456789...0123456789";//由于字符串長(zhǎng)度太長(zhǎng),所以省略一部分,長(zhǎng)度是65534;
System.out.println(str.length()); ? //編譯通過(guò),運(yùn)行結(jié)果為:65534。
代碼C:
String str = "67890123456789...0123456789";//由于字符串長(zhǎng)度太長(zhǎng),所以省略一部分,長(zhǎng)度是65534;
str = "5" + str;
System.out.println(str.length()); ? //編譯通過(guò),運(yùn)行結(jié)果為:65535。
參考資料
莊周夢(mèng)蝶.博客[引用時(shí)間2018-1-22]
錯(cuò)誤是讀boolean時(shí)出的。你的nextLine讀取了回車造成的空行,你輸入blue時(shí)被nextBoolean讀取了。
Triangle?Triangle=new?Triangle(input.nextDouble(),?input.nextDouble(),?input.nextDouble());
input.nextLine();//讀取掉多余的空行,加上這句就沒(méi)問(wèn)題了
Triangle.setColor(input.nextLine());
原因可能為:
1、運(yùn)行的用戶數(shù)過(guò)多,對(duì)服務(wù)器造成的壓力過(guò)大,服務(wù)器無(wú)法響應(yīng),則報(bào)HTTP500錯(cuò)誤。減小用戶數(shù)或者場(chǎng)景持續(xù)時(shí)間,問(wèn)題得到解決。
2、該做關(guān)聯(lián)的地方?jīng)]有去做關(guān)聯(lián),則報(bào)HTTP500錯(cuò)誤。進(jìn)行手工或者自動(dòng)關(guān)聯(lián),問(wèn)題得到解決。
3、錄制時(shí)請(qǐng)求的頁(yè)面、圖片等,在回放的時(shí)候服務(wù)器找不到,則報(bào)HTTP500錯(cuò)誤,若該頁(yè) 面無(wú)關(guān)緊要,則可以在腳本中注釋掉,問(wèn)題將會(huì)得到解決。例如:有驗(yàn)證碼的情況下,盡 管測(cè)試時(shí)已經(jīng)屏蔽了,但是錄制的時(shí)候提交了請(qǐng)求,但回放的時(shí)候不存在響應(yīng)。
4、參數(shù)化時(shí)的取值有問(wèn)題,則報(bào)HTTP500錯(cuò)誤??蓪?shù)化列表中的數(shù)值,拿到實(shí)際應(yīng)用系統(tǒng)中進(jìn)行測(cè)試,可排除問(wèn)題。
5、更換了應(yīng)用服務(wù)器(中間件的更換,如tomcat、websphere、jboss等),還是利用原先錄制的腳本去運(yùn)行,則很可能報(bào)HTTP500錯(cuò)誤。因?yàn)楦鞣N應(yīng)用服務(wù)器處理的機(jī)制不一樣,所錄制的腳本也不一樣,解決辦法只有重新錄制腳本。
6、Windows xp2 與ISS組件不兼容,則有可能導(dǎo)致HTTP500錯(cuò)誤。對(duì)ISS組件進(jìn)行調(diào)整后問(wèn)題解決。
7、系統(tǒng)開發(fā)程序?qū)懙挠袉?wèn)題,則報(bào)HTTP500錯(cuò)誤。例如有些指針問(wèn)題沒(méi)有處理好的,有空指針情況的存在。修改程序后問(wèn)題解決。
8、如果測(cè)試中所進(jìn)行的操作需要向數(shù)據(jù)庫(kù)中插入數(shù)據(jù),若大數(shù)據(jù)量的情況下導(dǎo)致數(shù)據(jù)庫(kù)中表空間已滿,或 緩沖池較小無(wú)法滿足數(shù)據(jù)的存取等,都有可能導(dǎo)致HTTP500錯(cuò)誤。調(diào)整數(shù)據(jù)庫(kù)、修改連接池大小,問(wèn)題解決。
500錯(cuò)誤出現(xiàn)的原因太多了,對(duì)于我來(lái)說(shuō),出現(xiàn)500錯(cuò)誤很都情況下都是代碼里有些關(guān)聯(lián)沒(méi)有做,然后導(dǎo)致出錯(cuò),當(dāng)然還有一小部分是有時(shí)候不注意,服務(wù)器開的時(shí)間過(guò)長(zhǎng),導(dǎo)致服務(wù)器崩潰,總之,很多地方都需要注意
需要配置一下idea的配置文件即可
首先找到idea的安裝目錄,然后找到bin目錄中的idea.properties文件
修改文件中這一行后面的值為9999
idea.max.intellisense.filesize=99991
重啟idea,就好啦