摘要:最近看到上面的一篇博客面試必備最常見的面試題全解析講解了關(guān)于體系的一些模塊以及面試中的一些常見問題雖然最近沒有要去找工作的需求但是鞏固一下這方面的知識還是很有必要的后面從作者提出的問題進(jìn)行自我的提問與解答有問題歡迎大家指出基礎(chǔ)部分和的區(qū)別我
Java基礎(chǔ)部分最近看到CSDN上面的一篇博客 面試必備:《Java最常見的200+面試題全解析》, 講解了關(guān)于Java體系的一些模塊以及面試中的一些常見問題; 雖然最近沒有要去找工作的需求, 但是鞏固一下這方面的知識還是很有必要的; 后面從作者提出的問題進(jìn)行自我的提問與解答, 有問題歡迎大家指出;
1、JDK 和 JRE 的區(qū)別
我的理解是: 首先JDK包含三部分: 1、程序員編程所需要的基本類庫等; 2、Java字節(jié)碼的運(yùn)行時(shí)環(huán)境(JRE); 3、用于對JVM進(jìn)行調(diào)優(yōu)查看等工具, 如 jconsole、jstack等; 而JRE僅僅為Java代碼的運(yùn)行提供運(yùn)行時(shí)環(huán)境而已;
2、== 和 equals 的區(qū)別
== 表示兩個(gè)對象的內(nèi)存地址是否相等, 即: ==兩遍比較的對象是不是同一個(gè)類的實(shí)例, 如果是同一個(gè)實(shí)例, 那么返回true, 如果不是則返回false; 默認(rèn)java.lang.Object中的equals是基于==來實(shí)現(xiàn)的; 而Object子類可以重寫equals方法, 來實(shí)現(xiàn)自己的邏輯上的等于判斷; 即使兩個(gè)對象不是同一個(gè)對象實(shí)例, 里面有一些數(shù)據(jù)相同也可以認(rèn)為它們是相同的;
** 3、HashCode 與 Equals是什么關(guān)系?
在不使用集合的情況下, hashCode與equals沒有直接關(guān)系; equals可以多帶帶進(jìn)行邏輯判斷, 即使兩個(gè)對象邏輯相等, hashCode也可以不一樣; 反過來也成立, 即使兩個(gè)對象的hashCode相同, equals方法返回值也可能不同; 但是在使用如HashMap、HashSet等結(jié)構(gòu)時(shí), 由于底層是基于桶的算法, 所以必須確保如果作為Key兩個(gè)對象的equals返回true, 它的hashCode一定要相等; 如果不相等, 那么對于邏輯相同的對象作為Key去檢索的時(shí)候找不到對應(yīng)的Value;
4、final 在 java 中的作用
final在Java中可以修飾 類、方法、變量; 修飾類: 表示該類是一個(gè)終態(tài)類, 不允許有子類; 修飾方法: 表示該方法不能夠被重寫; 修飾變量: 表示該變量指向的對象不能夠改變 一般定義不可變常量 如: LOGGER 或者在線程中需要引用外部變量, 則需要添加final修飾符;
5、String 屬于基礎(chǔ)的數(shù)據(jù)類型嗎
String不屬于基本數(shù)據(jù)類型, 它是Java中的內(nèi)置的類, 底層使用char[]實(shí)現(xiàn);
6、java 中操作字符串都有哪些類?它們之間有什么區(qū)別?
Java中操作字符串的類有3個(gè): String、StringBuffer、StringBuilder; String類每次對于字符串的CURD操作都會產(chǎn)生一個(gè)新的字符串常量; StringBuffer與StringBuilder不會; 而StringBuffer是線程安全的, StringBuilder是線程非安全的;
7、String 類的常用方法都有那些
indexOf, substring, lastIndexOf, chatAt, equals, startWith, endWith, concat, replace, split, toLowerCase等等;
8、抽象類必須要有抽象方法嗎?
這種就是更基礎(chǔ)的了, 抽象類不一定要有抽象方法, 可以全部是實(shí)現(xiàn); 不過一般沒有抽象方法的抽象類都會把a(bǔ)bstract修飾符給去掉
9、BIO、NIO、AIO 有什么區(qū)別
這個(gè)問題就比較大了, 涉及到的知識點(diǎn)比較多; BIO: 一般翻譯為同步阻塞IO, 一旦調(diào)用了同步方法, 那么必須等待數(shù)據(jù)到達(dá)之后才會返回; 否則一直等待; NIO: 一般翻譯為New IO, 或者 Non-Blocking IO; 其實(shí)也是阻塞IO, 增加了Channel、Selector以及事件機(jī)制來確保不是所有的IO操作都處于等待, 能夠更加合理的利用CPU資源; 具體表現(xiàn)為Selector監(jiān)聽各個(gè)IO操作的情況, 如果有IO可讀、可寫之后, 就直接返回; 然后遍歷所有的Channel, 哪個(gè)可讀可寫就調(diào)度誰; 該NIO實(shí)現(xiàn)依托于Linux IO模型中的多路復(fù)用機(jī)制 AIO: 就是異步非阻塞IO, 這個(gè)暫時(shí)還不是很了解實(shí)現(xiàn), 明天學(xué)習(xí)一下;
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/74452.html
摘要:哪吒社區(qū)技能樹打卡打卡貼函數(shù)式接口簡介領(lǐng)域優(yōu)質(zhì)創(chuàng)作者哪吒公眾號作者架構(gòu)師奮斗者掃描主頁左側(cè)二維碼,加入群聊,一起學(xué)習(xí)一起進(jìn)步歡迎點(diǎn)贊收藏留言前情提要無意間聽到領(lǐng)導(dǎo)們的談話,現(xiàn)在公司的現(xiàn)狀是碼農(nóng)太多,但能獨(dú)立帶隊(duì)的人太少,簡而言之,不缺干 ? 哪吒社區(qū)Java技能樹打卡?【打卡貼 day2...
摘要:我的是忙碌的一年,從年初備戰(zhàn)實(shí)習(xí)春招,年三十都在死磕源碼,三月份經(jīng)歷了阿里五次面試,四月順利收到實(shí)習(xí)。因?yàn)槲倚睦砗芮宄业哪繕?biāo)是阿里。所以在收到阿里之后的那晚,我重新規(guī)劃了接下來的學(xué)習(xí)計(jì)劃,將我的短期目標(biāo)更新成拿下阿里轉(zhuǎn)正。 我的2017是忙碌的一年,從年初備戰(zhàn)實(shí)習(xí)春招,年三十都在死磕JDK源碼,三月份經(jīng)歷了阿里五次面試,四月順利收到實(shí)習(xí)offer。然后五月懷著忐忑的心情開始了螞蟻金...
摘要:編程思想第版這本書要常讀,初學(xué)者可以快速概覽,中等程序員可以深入看看,老鳥還可以用之回顧的體系。以下視頻整理自慕課網(wǎng)工程師路徑相關(guān)免費(fèi)課程。 我自己總結(jié)的Java學(xué)習(xí)的系統(tǒng)知識點(diǎn)以及面試問題,目前已經(jīng)開源,會一直完善下去,歡迎建議和指導(dǎo)歡迎Star: https://github.com/Snailclimb/Java-Guide 筆者建議初學(xué)者學(xué)習(xí)Java的方式:看書+視頻+實(shí)踐(初...
閱讀 3250·2021-11-11 11:00
閱讀 2571·2019-08-29 11:23
閱讀 1453·2019-08-29 10:58
閱讀 2332·2019-08-29 10:58
閱讀 2959·2019-08-23 18:26
閱讀 2514·2019-08-23 18:18
閱讀 2047·2019-08-23 16:53
閱讀 3421·2019-08-23 13:13