日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

hashcode的作用,方法的作用

Java后臺開發(fā)面試應(yīng)該如何準(zhǔn)備?

hashcode的作用,方法的作用


Java開發(fā)基本上都是進(jìn)行后端(服務(wù)端)開發(fā),根據(jù)方向不同開發(fā)的側(cè)重點(diǎn)還是有所區(qū)別,所以準(zhǔn)備面試之前需要對工作方向有一個大致的了解,這樣才能有針對性的進(jìn)行準(zhǔn)備 。Java開發(fā)很大一部分是從事Web后端開發(fā),做Web后端開發(fā)需要準(zhǔn)備的內(nèi)容比較多,大致分為以下幾個部分:Java Web開發(fā)的基本組件,包括Servlet、JSP、JavaBean,同時要了解Web容器(服務(wù)器)的功能細(xì)節(jié):清楚Web應(yīng)用程序的生命周期管理以及請求處理流程:MVC框架的功能劃分,包括每個部分的實現(xiàn)技術(shù)描述:清楚每個組成部分的具體代碼流程,比如控制端的操作流程細(xì)節(jié):接收用戶請求——驗證用戶數(shù)據(jù)——功能判斷——創(chuàng)建業(yè)務(wù)對象——功能調(diào)用——封裝對象——跳轉(zhuǎn)到視圖端:Java操作數(shù)據(jù)庫,了解JDBC的基礎(chǔ)類:了解基本的JDBC開發(fā)流程(驅(qū)動加載、數(shù)據(jù)源定義、連接創(chuàng)建、容器創(chuàng)建、執(zhí)行Sql、關(guān)閉資源):了解DAO的應(yīng)用(對象定義、接口定義、實現(xiàn)類定義、工廠類定義)、數(shù)據(jù)庫連接池的應(yīng)用等 。
Java常見開發(fā)模式,包括工廠模式、觀察設(shè)計模式、單例模式等等,掌握J(rèn)ava開發(fā)的常見模式對初級程序員來說是很重要的,Java中定義了23個模式,這些經(jīng)典模式能讓初級程序員構(gòu)建出穩(wěn)定的應(yīng)用 。消息中間件的概念及使用,比如JMS的使用 。JMS是Java中一個重要的概念,通過JMS能夠創(chuàng)建Java的消息中間件:分布式開發(fā)的概念及使用,比如RMI的使用:RMI包含三個大的組成部分:接口的定義、服務(wù)類的定義以及客戶類的定義,每一個部分都有固定的細(xì)節(jié)需要掌握(細(xì)節(jié)可以參考我之前在頭條上寫的關(guān)于RMI的文章) 。
開源框架的使用,比如SpringMVC 。目前在服務(wù)端使用SpringMVC進(jìn)行開發(fā)是很多程序員的選擇,所以掌握SpringMVC是很有必要的 。EJB的概念,比如會話Bean、實體Bean、消息驅(qū)動Bean的概念及應(yīng)用(選看):這部分內(nèi)容能了解更好,不了解也沒有太大影響 。Java除了做Web后端開發(fā)還可以做大數(shù)據(jù)以及android app的開發(fā),如果從事大數(shù)據(jù)開發(fā)需要對算法有深入細(xì)致的了解,比如常見的KNN算法、決策樹、樸素貝葉斯、回歸等 。
不同時重寫equals和hashCode又會怎樣?
hashcode的作用,方法的作用


如果問到 == 和 equals 的區(qū)別,相信很多程序員同學(xué)都能脫口而出:一個是判斷地址,一個是判斷內(nèi)容 。但是如果繼續(xù)追問:“你重寫過 equals 么?”,“重寫 equals 方法的時候,必須重寫 hashCode 方法么?”,“不同時重寫equals和hashCode又會怎樣?”你還能信心滿滿地回答上來么?== 與 equals1. ==如果比較的是兩個基本數(shù)據(jù)類型,那么 == 比較的是值;如果是兩個非基本數(shù)據(jù)類型的對象,那就是判斷它們的內(nèi)存地址是不是相同;2. equals如果類沒有覆蓋 equals 方法,那么 equals 等價于 == ;如果覆蓋了 equals 方法,那么就需要根據(jù) equals 方法的邏輯來判斷兩個對象是否相等 。
讓我們看看 String 中的 equals 方法是什么樣的:我們可以看到 String 的比較,是先比較內(nèi)存地址,如果兩個字符串指向的地址不一樣,那么再比較兩個字符串的值 。正確使用 equals 方法我們在使用 equals 方法的時候,容易發(fā)生空指針異常,所以在使用前需要判斷對象是否為 null,或者用常量來調(diào)用 equals:另外大家也可以使用 java.util.Objects 中的 equals 方法:從這個方法的源碼中可以看出,方法已經(jīng)幫我們考慮到控制值的問題了,所以可以放心使用 。

推薦閱讀