JAVA基本概念題

一肠骆,面向?qū)ο笕筇卣?/p>

1算途,封裝 屬性私有化,同時給該屬性提供共有的get(獲仁赐取)和set(設(shè)置)方法

2嘴瓤,多態(tài) 一個對象可以有多個形態(tài)。父類的引用指向子類對象莉钙。(繼承普通類抽象類實現(xiàn)接口)

實現(xiàn)多態(tài):1廓脆,使用父類作為方法形參時 2,使用父類作為方法返回值

3磁玉,繼承 繼承子類是對父類的 重用 拓展 修改

4停忿,抽象 抽象是將一類對象的共同特征總結(jié)出來構(gòu)造類的過程,包括數(shù)據(jù)抽象和行為抽象兩方面蜀涨。(另一種說法四大特征就加上)

二瞎嬉,常用JAVA內(nèi)存分配

堆(存對象) 不存基本數(shù)據(jù)類型和對象引用? 被所有線程共享

常量池(存基本類型常量和字符串常量)

方法區(qū)(方法)又叫做靜態(tài)區(qū) 被所有線程共享 包含的都是程序中永遠(yuǎn)唯一的元素

方法棧(每個方法都有自己的棧,各個棧之間沒有關(guān)系 可存放基本數(shù)據(jù)類型的數(shù)據(jù))先進(jìn)先出方式


SVN服務(wù)器(軟件)所有成員的代碼上傳到一個SVN服務(wù)器上 是團(tuán)隊開法必須用的

三厚柳,GC垃圾回收機(jī)制

java提供了單獨(dú)的守護(hù)進(jìn)程,進(jìn)行自動回收垃圾 防止堆內(nèi)存存儲對象過多發(fā)生內(nèi)存溢出

垃圾:不存活的對象 判斷對象存活有兩種方式

? ? ? ? 1)引用計數(shù)法:給對象添加一個引用計數(shù)器沐兵,每當(dāng)被引用時 計數(shù)器+1别垮,引用失效時-1。當(dāng)記數(shù)為0時 該對象就是垃圾

? ? ? ? 2)可達(dá)性分析:重肯定能訪問的對象(GC Root)開始扎谎,向下遍歷能遍歷到的對象為可達(dá)對象碳想,不可達(dá)對象為垃圾

? ? ? ? ? ? ? 常用的GC Root:棧應(yīng)用的對象 方法區(qū)中的靜態(tài)屬性和常量

1常見的清理方法

? ? ? ? 1)標(biāo)記-清理

? ? ? ? ? ? 通過可達(dá)性分析將垃圾和存貨的對象,進(jìn)行標(biāo)記毁靶,然后清理垃圾

? ? ? ? ? ? 優(yōu)缺點(diǎn):方便簡潔? 但容易產(chǎn)生內(nèi)存碎片

? ? ? ? 2)標(biāo)記-整理

? ? ? ? ? ? 把存活對象通過挪動位置胧奔,讓其扎堆存放

? ? ? ? ? ? 優(yōu)缺點(diǎn):防止產(chǎn)生大量碎片 適合垃圾對象少的情況

? ? ? ? 3)復(fù)制

? ? ? ? ? ? 把內(nèi)存分為兩部分 程序只在一部分執(zhí)行 當(dāng)使用的那部分內(nèi)存滿時 將存活的對象復(fù)制到另一部分內(nèi)存 垃圾直接清除

? ? ? ? ? ? 優(yōu)缺點(diǎn):適合垃圾多 存活對象少的時候 但容易造成頻繁的復(fù)制

? 2堆分類:新生代(活對象少垃圾多) 老年代(垃圾少活對象多) 永久代

? ? ? ? ? ? 新生代:存儲程序運(yùn)行時產(chǎn)生的大量對象(大部分為不可對象 被視為垃圾)

? ? ? ? ? ? 老年代:存儲新生代中少量長時間存貨的對象

? ? ? ? ? ? 永久代:存儲靜態(tài)文件,永久有效的文件(java8以經(jīng)摒棄预吆,被放在元空間 )

3新生代使用復(fù)制進(jìn)行垃圾回收(包含三個區(qū):伊甸區(qū)(Eden)存活A(yù)區(qū) 存活B區(qū))8:1:1

4老年代使用標(biāo)記整理進(jìn)行垃圾回收

四龙填,8種基本數(shù)據(jù)類型:byte short int long float double char boolean? String不是基本數(shù)據(jù)類型 它是java提供的一個類

五,java關(guān)鍵字

? ? ? ? abstract const false long short

? ? ? ? boolean default float native static

? ? ? ? break else while new super

? ? ? ? byte extends void null switch

? ? ? ? case final if transient synchronized

? ? ? ? cast finally implements package this

? ? ? ? catch for import private throw

? ? ? ? char goto instanceof protected throws

? ? ? ? class do interface public strictfp

? ? ? ? continue double true return

六拐叉,java 常用包

? ? ? ? java.lang.*,

? ? ? ? java.util.*,

? ? ? ? java.net.* ,

? ? ? ? java.io.*,

? ? ? ? java.text.*,

? ? ? ? java.sql.*,

? ? ? ? java.awt.*,

? ? ? ? java.swing.*.

七岩遗,數(shù)組三種定義方式:

? ? ? ? int[] s={1,2,3,4};

? ? ? ? int[] s=new int[]{1,2,3,4,5,6};

? ? ? ? 動態(tài)定義數(shù)組:

? ? ? ? int[] s=new int[8];

八,遍歷數(shù)組:

? ? ? ? 數(shù)組長度:length

? ? ? ? for(int i=0;i<scores.length;i++){...}

九凤瘦,類 對象 數(shù)組的基本概念

類:是對某一個類事物的特征抽取宿礁,可以理解為該類事物的模板或藍(lán)圖。

對象:是某類的一個具體實例蔬芥,它具有該類中定義的所有屬性以及方法

數(shù)組:具有相同數(shù)據(jù)類型的一組數(shù)

十梆靖,類 抽象類 接口定義內(nèi)容的區(qū)別

類中可定義:屬性 方法 代碼塊 靜態(tài)代碼塊 構(gòu)造方法

抽象類可定義:屬性 方法 代碼塊 靜態(tài)代碼塊 構(gòu)造方法 抽象方法(只能繼承一個類)

接口可定義:抽象方法 常量值(可以實現(xiàn)多個接口)

十一控汉,對象和基本數(shù)據(jù)內(nèi)心基本值

屬性可以直接賦值,如果沒有賦值返吻,屬性有默認(rèn)值姑子,引用類型的默認(rèn)值是null

基本數(shù)據(jù)類型:整數(shù)是0,浮點(diǎn)數(shù)是0.0思喊,char是空格壁酬,boolean是false


十二,訪問權(quán)限修飾符

? ? public 共有的

? ? ? ? 在任何地方都能訪問的:本類中恨课、本包其他位置舆乔、子類,其他包中

? ? protected 受保護(hù)的

? ? ? ? 本類中剂公,本包其他位置希俩,子類

? ? 默認(rèn)(包級別)

? ? ? ? 本類中,本包其他位置

? ? private 私有的

? ? ? ? 本類中

十三纲辽,String Stringbuffer StringBuilder區(qū)別颜武;

? ? ? ? String字符串是定長的 沒做一次字符拼接其實是產(chǎn)生一個新字符串,消耗時間長 當(dāng)拼接次數(shù)過多時 會造成內(nèi)存資源浪費(fèi)(線程不安全)

? ? ? ? StringBuilder 每次拼接字符都是同一個對象 消耗時間最短(線程不安全)

? ? ? ? Stringbuffer? 每次拼接字符都是用一個對象 支持同步鎖所以消耗時間比StringBuilder多一些(線程安全)

十四拖吼,vector ArraysList linkedList區(qū)別

? ? ? ? 1鳞上,vector 線程同步 Arrayslist和linkedlist線程不同步

? ? ? ? 2,vector和Arrayslist屬于數(shù)組形式存儲 linkedlist屬于鏈表形式存儲

? ? ? ? 3吊档,vector和Arrayslist適合查找 不適合操作 linkedlist適合操作不適合查找

? ? ? ? 3篙议,vector當(dāng)數(shù)據(jù)滿時自動擴(kuò)大容器為%100 Arrarslist擴(kuò)大%50 所以Arr...更節(jié)約空間

十五,hashMap hashtable區(qū)別

? ? ? ? 1怠硼,Hashtable 是 JDK 1 遺留下來的類鬼贱,而 HashMap 是后來增加的。

? ? ? ? 2香璃,Hashtable 是同步的这难,比較慢,但 HashMap 沒有同步策略葡秒,所以會更快姻乓。

? ? ? ? 3,Hashtable 不允許有個空的 key同云,但是 HashMap 允許出現(xiàn)一個 null key

? ? ? 4糖权,Hashtable 是線程安全的 HashMap線程不安全

? ? ? ? 5,hashTable 每次擴(kuò)容2n+1 hashmap每次擴(kuò)容2倍

? ? ? ? 6炸站,HashTable做元素運(yùn)算需要進(jìn)行一次除法運(yùn)算 效率低 HashMap使用的位運(yùn)算

十六星澳,集合框架繼承關(guān)系圖:

? ? Collection

? ? ? ? List 有索引下標(biāo),元素可重復(fù)

? ? ? ? ? ? ? ? -Vector

? ? ? ? ? ? ? ? -ArrayList

? ? ? ? ? ? ? ? -LinkedList

? ? ? ? Set 沒索引下標(biāo),不可重復(fù)旱易,元素存儲是排好序的

? ? ? ? ? ? ? ? -HashSet

? ? ? ? ? ? ? ? -TreeSet

Map <key,value>

? ? ? ? -HashMap

? ? ? ? -HashTable

? ? ? ? -WeakHashMap

十七禁偎,常見的異常

? ? ? ? 異常:分為編譯時異常? 和? 運(yùn)行時異常 和程序無法恢復(fù)的異常(內(nèi)存崩潰)

? ? ? ? 空指針異常:

? ? ? ? ? ? ? ? NullPointerException

? ? ? ? 數(shù)字格式轉(zhuǎn)換異常:

? ? ? ? ? ? ? ? NumberFormatException

? ? ? ? 數(shù)組越界異常:

? ? ? ? ? ? ? ? ArrayIndexOutOfBoundsException 數(shù)組下標(biāo)越界

? ? ? ? 除0會報異常:

? ? ? ? ? ? ? ? ArithmeticException: / by zero

? ? ? ? 類轉(zhuǎn)換異常:

? ? ? ? ? ? ? ? ClassCastException

? ? ? ? 并發(fā)修改異常腿堤;

? ? ? ? ? ? ? ? ConcurrentModificationException 如果某個集合對象創(chuàng)建了Iterator或者ListIterator,然后其它的線程試圖“結(jié)構(gòu)上”更改集合對象如暖,就會拋出并發(fā)修改異常

? ? ? ? 非法數(shù)據(jù)異常

? ? ? ? ? ? ? ? Illegal Argument Exception 如果某個集合對象創(chuàng)建了迭代器或者列表迭代器笆檀,而其他線程已經(jīng)從結(jié)構(gòu)上更改了集合對象,在調(diào)用Set()方法就會拋出非法數(shù)據(jù)異常

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盒至,一起剝皮案震驚了整個濱河市酗洒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌枷遂,老刑警劉巖樱衷,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異酒唉,居然都是意外死亡矩桂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進(jìn)店門痪伦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來侄榴,“玉大人,你說我怎么就攤上這事网沾●希” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵辉哥,是天一觀的道長涣达。 經(jīng)常有香客問我,道長证薇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任匆篓,我火速辦了婚禮浑度,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鸦概。我一直安慰自己箩张,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布窗市。 她就那樣靜靜地躺著先慷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咨察。 梳的紋絲不亂的頭發(fā)上论熙,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天,我揣著相機(jī)與錄音摄狱,去河邊找鬼脓诡。 笑死无午,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的祝谚。 我是一名探鬼主播宪迟,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼交惯!你這毒婦竟也來了次泽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤席爽,失蹤者是張志新(化名)和其女友劉穎意荤,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拳昌,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡袭异,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了炬藤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片御铃。...
    茶點(diǎn)故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖沈矿,靈堂內(nèi)的尸體忽然破棺而出上真,到底是詐尸還是另有隱情,我是刑警寧澤羹膳,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布睡互,位于F島的核電站,受9級特大地震影響陵像,放射性物質(zhì)發(fā)生泄漏就珠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一醒颖、第九天 我趴在偏房一處隱蔽的房頂上張望妻怎。 院中可真熱鬧,春花似錦泞歉、人聲如沸逼侦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽榛丢。三九已至,卻和暖如春挺庞,著一層夾襖步出監(jiān)牢的瞬間晰赞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留宾肺,地道東北人溯饵。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像锨用,于是被迫代替她去往敵國和親丰刊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 在一個方法內(nèi)部定義的變量都存儲在棧中增拥,當(dāng)這個函數(shù)運(yùn)行結(jié)束后啄巧,其對應(yīng)的棧就會被回收,此時掌栅,在其方法體中定義的變量將不...
    Y了個J閱讀 4,420評論 1 14
  • Java SE 基礎(chǔ): 封裝秩仆、繼承、多態(tài) 封裝: 概念:就是把對象的屬性和操作(或服務(wù))結(jié)合為一個獨(dú)立的整體猾封,并盡...
    Jayden_Cao閱讀 2,112評論 0 8
  • 我只是想當(dāng)一個安靜寫字的人澄耍。涉世未深的人都容易被燈紅酒綠所迷惑,而我呢也在其中泥足深陷∩卧担現(xiàn)在呢齐莲,我只是想當(dāng)一個回歸...
    樹林下雪了閱讀 311評論 0 0
  • (野蠻生長社2.字?jǐn)?shù)1140) 17歲的時候,我的夢想是當(dāng)個作家磷箕。當(dāng)時每個星期至少...
    不息_閱讀 282評論 2 1