java小知識

1.java獲取前端的IP等信息:網(wǎng)絡(luò)協(xié)議:request.getScheme();網(wǎng)絡(luò)ip:request.getServerName();端口號:request.getServerPort()

2.文件流和普通的數(shù)據(jù)類型是不能同時傳遞的险毁,因為文件流是異步上傳的;數(shù)據(jù)類型少的情況下直接將數(shù)據(jù)放到action的url接口中傳遞畔况,這樣能做到同時上傳少量數(shù)據(jù)和文件流

3.關(guān)于java.io.FileNotFoundException異常:在構(gòu)造一個File對象時鲸鹦,指定的文件路徑是什么都可以,就算不存在也能夠構(gòu)造File對象跷跪,但是馋嗜,現(xiàn)在你要對文件進行輸入輸出操作,也就是InputStream和OutputStream操作時吵瞻,如果填寫的路徑不存在葛菇,那么就會報系統(tǒng)找不到指定路徑,如果指定的是目錄時橡羞,就會報拒絕訪問異常眯停。FileOutputStream讀取流的時候如果是文件夾,就會出錯卿泽,無論怎么讀莺债,都拒絕訪問

4.想用相對路徑時,但是當我將images這個文件夾與我的.class文件(即要執(zhí)行的webservice)放在同一個目錄里時九府,發(fā)現(xiàn)運行失敗了椎瘟,提示找不到這個文件夾覆致。打印了一下當前目錄結(jié)果是tomcat的bin目錄侄旬,而并不是tomcat里所部屬的webservice目錄。所以當作為webservice部署到tomcat里時煌妈,若想使用當前目錄儡羔,最好先使用System.out.println(newFile(".").getAbsolutePath());查看一下當前目錄是什么,因為他不一定是你的.class文件存放的目錄璧诵,通常是tomcat的bin目錄汰蜘,所以需要根據(jù)這個目錄重新指定你想要到達的目錄。

5.mkdir()創(chuàng)建此抽象路徑名指定的目錄之宿,只會建立一級的文件夾族操;mkdirs()創(chuàng)建此抽象路徑名指定的目錄,包括創(chuàng)建必需但不存在的父目錄比被,可以建立多級文件夾色难。文件上傳到目的地創(chuàng)建路徑時還是用mkdir()為好,因為mkdirs()會創(chuàng)建不存在的父目錄

6.03年和03年之前版本的EXCEL后綴為xls,用HSSFWorkbook操作等缀;03年之后的用XSSFWorkbook操作

7.重載就是創(chuàng)建另一個有相同名字但參數(shù)不同的方法

8.String,StringBuilder和StringBuffer的區(qū)別:

? ? (1)String在字符串不經(jīng)常發(fā)生變化的業(yè)務(wù)場景優(yōu)先使用(代碼更清晰簡潔)枷莉,如常量的命名,少量字符串的 操作

? ? (2)StringBuilder在單線程情況下尺迂,如有大量的字符串操作笤妙,應(yīng)使用此類,以此來避免產(chǎn)生大量無用的中間對? ? 象噪裕,耗費空間且執(zhí)行效率低下(新建對象蹲盘,回收對象會花費大量時間),如json的封裝

? ? (3)StringBuffer在多線程膳音,如有大量的字符串操作辜限,如HTTP參數(shù)解析和封裝

9.HashMap的方法:hashMap是基于Map的實現(xiàn),并且允許null value和null key,它不保證存儲的數(shù)據(jù)的順序严蓖。特別要注意的是hashMap不是同步的薄嫡,要實現(xiàn)同步除了在外部實現(xiàn)同步外,還可以通過Map m = Collections.synchronizedMap(new HashMap())或者使用ConcurrentHashMap類颗胡。

HashMap<String,Integer> map = new HashMap<>();

HashMap<String,Integer> map2 = new HashMap<>();

存值:map.put("demo",1)? ? 取值:map.get("demo")

判斷是否為空:map.isEmpty()

判斷是否含有key:map.containsKey("demo")? ? 判斷是否含有value:map.containsValue(1)

刪除key下的value:map.remove("demo")? ? 刪除key->value對:map.remove("demo",1)

顯示所有的key:map.keySet()? ? 顯示所有的key->value:map.entrySet()

所有的values值:map.values()? ? 元素個數(shù):map.size()

添加另一個同一類型的map下的所有值:map.puAll(map2),使用時不能用表達式賦值毫深,而是變量賦值給變量

替換key下的value:map.replace("demo",2)? ? 清空:map.clear()

當前map不存在鍵key或者該key關(guān)聯(lián)的值為null,則執(zhí)行put(key,value);否則不變:map.putIfAbsent()

參數(shù)為key和逼函數(shù)(箭頭函數(shù))毒姨,作用是把箭頭函數(shù)返回的值賦給key:map.compute("demo",(k,v) -> 表達式哑蔫?a:b ),舉例如下:

????????map.compute(8, ((k,v) -> (v == null)? "hiu" : v.concat("hahahaha")));

? ? ? ? System.out.println(map.get(8));

? ? ? ? map.compute(8, ((k,v) -> (v == null)? "hiu" : v.concat("hahahaha")));

? ? ? ? System.out.println(map.get(8));

HashMap遍歷方法:

Iterator?iter?=?map.entrySet().iterator();???

while?(iter.hasNext())?{???

????Map.Entry?entry?=?(Map.Entry)?iter.next();???

????Object?key?=?entry.getKey();???

????Object?val?=?entry.getValue();???

}?

意思就是當Map集合中有這個key時,就使用這個key值,如果沒有就使用默認值defaultValue:map.getOrDefault(Object key,String defaultValue)

10.>>和>>>是位移運算符闸迷,其中>>為帶符號的位移嵌纲,>>>為不帶符號的位移。左移運算符是增大一個數(shù)腥沽,右移是減小逮走。正數(shù)不管是>>還是>>>操作,這兩者操作的結(jié)果一樣今阳。-2在二進制中為10000~00010(32位)师溅,進行>>>移位時,先移位成10000~000001(32位)盾舌,再將移位后的位置前的取相反墓臭。則為011111~1111(32位),即int最大值

11.java中 靜態(tài)方法不可以直接調(diào)用非靜態(tài)方法和成員妖谴,也不能使用this關(guān)鍵字(這就是這個問題的原因窿锉,我用靜態(tài)的main方法調(diào)用了非靜態(tài)的的get方法)。

原因解釋:類中靜態(tài)的方法或者屬性膝舅,本質(zhì)上來講并不是該類的成員嗡载,在java虛擬機裝在類的時候,這些靜態(tài)的東西已經(jīng)有了對象铸史,它只是在這個類中”寄居”鼻疮,不需要通過類的構(gòu)造器(構(gòu)造函數(shù))類實現(xiàn)實例化;而非靜態(tài)的屬性或者方法琳轿,在類的裝載是并沒有存在判沟,需在執(zhí)行了該類的構(gòu)造函數(shù)后才可依賴該類的實例對象存在。所以在靜態(tài)方法中調(diào)用非靜態(tài)方法時崭篡,編譯器會報錯(Cannot make a static reference to the non-static method func() from the type A)挪哄。

12.Java中實現(xiàn)多態(tài)的機制為“父類或接口中的引用變量指向的是具體實例對象的方法,而不是引用變量自身這個類中定義的方法”琉闪。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末迹炼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子颠毙,更是在濱河造成了極大的恐慌斯入,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛀蜜,死亡現(xiàn)場離奇詭異刻两,居然都是意外死亡,警方通過查閱死者的電腦和手機滴某,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門磅摹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滋迈,“玉大人,你說我怎么就攤上這事户誓”樱” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵帝美,是天一觀的道長碍彭。 經(jīng)常有香客問我,道長证舟,這世上最難降的妖魔是什么硕旗? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任窗骑,我火速辦了婚禮女责,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘创译。我一直安慰自己抵知,他們只是感情好,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布软族。 她就那樣靜靜地躺著刷喜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪立砸。 梳的紋絲不亂的頭發(fā)上掖疮,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天,我揣著相機與錄音颗祝,去河邊找鬼浊闪。 笑死,一個胖子當著我的面吹牛螺戳,可吹牛的內(nèi)容都是我干的搁宾。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼倔幼,長吁一口氣:“原來是場噩夢啊……” “哼盖腿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起损同,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤翩腐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后膏燃,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茂卦,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年蹄梢,在試婚紗的時候發(fā)現(xiàn)自己被綠了疙筹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片富俄。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖而咆,靈堂內(nèi)的尸體忽然破棺而出霍比,到底是詐尸還是另有隱情,我是刑警寧澤暴备,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布悠瞬,位于F島的核電站,受9級特大地震影響涯捻,放射性物質(zhì)發(fā)生泄漏浅妆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一障癌、第九天 我趴在偏房一處隱蔽的房頂上張望凌外。 院中可真熱鬧,春花似錦涛浙、人聲如沸康辑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疮薇。三九已至,卻和暖如春我注,著一層夾襖步出監(jiān)牢的瞬間按咒,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工但骨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留励七,地道東北人。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓嗽冒,卻偏偏與公主長得像呀伙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子添坊,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349