今年比去年好一些,很多知識(shí)還記得雕什,偶爾復(fù)習(xí)下還是有用的缠俺。下面是看到一些基礎(chǔ)題,記錄一下贷岸。
1. java基本數(shù)據(jù)類型有哪些壹士,int, long占幾個(gè)字節(jié)
1偿警、整數(shù):包括int,short,byte,long
2躏救、浮點(diǎn)型:float,double
3、字符:char
4螟蒸、布爾:boolean
int 占4個(gè)字節(jié)盒使,long 占8個(gè)字節(jié)
如果是c語(yǔ)言,int占2個(gè)字節(jié)七嫌,long 占4個(gè)字節(jié)少办。
如果是java,long 在32位系統(tǒng)中一般為4個(gè)诵原,但在64位系統(tǒng)一般位 8 個(gè)
int 一般占4個(gè)字節(jié)英妓,long 占8個(gè)字 512個(gè)漢字應(yīng)該是1KB 1KB=1024B(B是字節(jié))也就是說一個(gè)漢字就是兩個(gè)字節(jié)挽放。
2. == 和 equals有什么區(qū)別
==比較的是變量(棧)內(nèi)存中存放的對(duì)象的(堆)內(nèi)存地址,用來判斷兩個(gè)對(duì)象的地址是否相同鞋拟,即是否是指相同一個(gè)對(duì)象骂维。比較的是真正意義上的指針操作。
equals用來比較的是兩個(gè)對(duì)象的內(nèi)容是否相等贺纲,由于所有的類都是繼承自java.lang.Object類的,所以適用于所有對(duì)象褪测,如果沒有對(duì)該方法進(jìn)行覆蓋的話猴誊,調(diào)用的仍然是Object類中的方法,而Object中的equals方法返回的卻是==的判斷侮措。
3. hashcode 和 equals作用
1.equal()相等的兩個(gè)對(duì)象他們的hashCode()肯定相等懈叹,也就是用equal()對(duì)比是絕對(duì)可靠的。
2.hashCode()相等的兩個(gè)對(duì)象他們的equal()不一定相等分扎,也就是hashCode()不是絕對(duì)可靠的澄成。
具體講解可參照這篇文章:hashcode()和equals()的作用、區(qū)別畏吓、聯(lián)系
4. new String創(chuàng)建了幾個(gè)對(duì)象
具體講解可參照這篇文章:https://blog.csdn.net/w8998036/article/details/54893453
如下所示
String str = new String(“abc”) 到底創(chuàng)建了幾個(gè)對(duì)象蓉冈?
首先String str是定義了一個(gè)字符串變量森书,并未產(chǎn)生對(duì)象,=不產(chǎn)生對(duì)象,那么只有后面的new String("abc")了煌茴。把它拆分成"abc"和new String(),首先在字符串常量池去尋找有沒有"abc"這個(gè)字符串馅而,沒有就創(chuàng)建一個(gè)“abc”字符串對(duì)象在棧中瓜晤,然后new String把這個(gè)字符串對(duì)象拷貝一份到堆中,返回這個(gè)對(duì)象的引用饼煞。所以一共產(chǎn)生兩個(gè)對(duì)象
5. 位運(yùn)算符的一些計(jì)算
具體講解可參照這篇文章:https://www.cnblogs.com/gavanwanggw/p/7015620.html
6.java的拆裝箱
具體講解可參照這篇文章: https://www.cnblogs.com/qcblog/p/7670159.html
自動(dòng)裝箱與自動(dòng)拆箱為程序員提供了很大的方便源葫,而在實(shí)際的應(yīng)用中,自動(dòng)裝箱與拆箱也是使用最廣泛的特性之一砖瞧。自動(dòng)裝箱和自動(dòng)拆箱其實(shí)是Java編譯器提供的一顆語(yǔ)法糖(語(yǔ)法糖是指在計(jì)算機(jī)語(yǔ)言中添加的某種語(yǔ)法息堂,這種語(yǔ)法對(duì)語(yǔ)言的功能并沒有影響,但是更方便程序員使用芭届。通過可提高開發(fā)效率储矩,增加代碼可讀性,增加代碼的安全性)
- 自動(dòng)裝箱過程是通過調(diào)用valueOf方法實(shí)現(xiàn)(如Integer.valueOf(10))
- 而拆箱過程是通過調(diào)用包裝器的 xxxValue方法實(shí)現(xiàn)(如Integer.intValue(a))
7.compareable 和 compartor的區(qū)別
- compareable 如果一個(gè)對(duì)象實(shí)現(xiàn)了該接口褂乍,也就意味著可以通過Collections.sort and Arrays.sort 等排序方法進(jìn)行排序
-Comparator 強(qiáng)行對(duì)某個(gè)對(duì)象 collection 進(jìn)行整體排序 的比較函數(shù)持隧,它可以實(shí)現(xiàn)排列順序精確控制,或者為那些沒有自然順序的對(duì)象 collection 提供排序逃片。(也就是沒有實(shí)現(xiàn)Comparerable接口)
具體講解可參照下面文章:
https://blog.csdn.net/ted_cs/article/details/82713706
https://blog.csdn.net/venus321/article/details/80778242