精品欧美激情精品一区,亚洲自拍的二区三区,亚洲综合精品一区二区,国产伦精品一区二区三区视频免费


學AI,好工作 就找北大青鳥
關注小青 聽課做題,輕松學習
周一至周日
4000-9696-28

java是什么?java學習難嗎?現在學習還晚嗎?

來源:北大青鳥總部 2019年10月11日 10:02

摘要: java是什么?java學習難嗎?現在學習還晚嗎?

本文作者: java高級架構進階

最近,有小伙伴問我:java是什么?現在學習還晚嗎?”,你學習一門技術的最佳時機是三年前,其次是現在。”這句話對于哪一種行業都很適用,如果你已經學習過Java,那么恭喜你你很有先見之明,如果你并不了解Java,這篇文章帶你快速掌握Java的幾個核心知識點。

1569377699(1).jpg

一、Java特點

1、 面向對象

盡管受到其前輩的影響,但Java沒被設計成兼容其他語言源代碼的程序。這允許Java開發組自由地從零開始。這樣做的一個結果是,Java語言可以更直接、更易用、更實際的接近對象。Java的對象模型既簡單又容易擴展,對于簡單數據類型,例如整數,它保持了高性能,但不是對象。

2、 解釋性和高性能

字節碼可以在提供Java虛擬機(JVM)的任何一種系統上被解釋執行。早先的許多嘗試解決跨平臺的方案對性能要求都很高。其他解釋執行的語言系統,如BASIC,Tcl,PERL都有無法克服的性能缺陷。然而,Java卻可以在非常低檔的CPU上順利運行。前面已解釋過,Java確實是一種解釋性語言,Java的字節碼經過仔細設計,因而很容易便能使用JIT編譯技術將字節碼直接轉換成高性能的本機代碼。Java運行時系統在提供這個特性的同時仍具有平臺獨立性,因而“高效且跨平臺”對Java來說不再矛盾。

3、 動態

Java程序帶有多種的運行時類型信息,用于在運行時校驗和解決對象訪問問題。這使得在一種安全、有效的方式下動態地連接代碼成為可能,對小應用程序環境的健壯性也十分重要,因為在運行時系統中,字節碼內的小段程序可以動態地被更新。

二、面向對象的編程

2.1 抽象

面向對象編程的一個實質性的要素是抽象。人們通過抽象(abstraction)處理復雜性。

例如,人們不會把一輛汽車想象成由幾萬個互相獨立的部分所組成的一套裝置,而是把汽車想成一個具有自己獨特行為的對象。這種抽象使人們可以很容易地將一輛汽車開到雜貨店,而不會因組成汽車各部分零件過于復雜而不知所措。傳統的面向過程程序的數據經過抽象可用若干個組成對象表示,程序中的過程步驟可看成是在這些對象之間進行消息收集。這樣,每一個對象都有它自己的獨特行為特征。你可以把這些對象當作具體的實體,讓它們對告訴它們做什么事的消息作出反應。這是面向對象編程的本質。面向對象的概念是Java 的核心。

2.2面向對象編程的3個原則

所有面向對象的編程語言都提供幫助你實現面向對象模型的機制,這些機制是封裝,繼承及多態性。現在讓我們來看一下它們的概念。

封裝

封裝(Encapsulation)是將代碼及其處理的數據綁定在一起的一種編程機制,該機制保證了程序和數據都不受外部干擾且不被誤用。理解封裝性的一個方法就是把它想成一個黑匣子,它可以阻止在外部定義的代碼隨意訪問內部代碼和數據。對黑匣子內代碼和數據的訪問通過一個適當定義的接口嚴格控制。

Java封裝的基本單元是類。盡管類將在以后章節詳細介紹。現在仍有必要對它作一下簡單的討論。類是一種邏輯結構,而對象是真正存在的物理實體。如果你對C/C++熟悉,可以這樣理解:Java程序員所稱的方法,就是C/C++程序員所稱的函數(function)。在完全用Java編寫的程序中,方法定義如何使用成員變量。這意味著一個類的行為和接口是通過方法來定義的,類這些方法對它的實例數據進行操作。

繼承

繼承(Inheritance)是一個對象獲得另一個對象的屬性的過程。繼承很重要,因為它支持了按層分類的概念。使用了繼承,一個對象就只需定義使它在所屬類中獨一無二的屬性即可,因為它可以從它的父類那兒繼承所有的通用屬性。

繼承性與封裝性相互作用。如果一個給定的類封裝了一些屬性,那么它的任何子類將具有同樣的屬性,而且還添加了子類自己特有的屬性。這是面向對象的程序在復雜性上呈線性而非幾何性增長的一個關鍵概念。新的子類繼承它的所有祖先的所有屬性。它不與系統中其余的多數代碼產生無法預料的相互作用。

多態性

多態性是允許一個接口被多個同類動作使用的特性,具體使用哪個動作與應用場合有關,下面我們以一個后進先出型堆棧為例進行說明。假設你有一個程序,需要3種不同類型的堆棧。一個堆棧用于整數值,一個用于浮點數值,一個用于字符。盡管堆棧中存儲的數據類型不同,但實現每個棧的算法是一樣的。如果用一種非面向對象的語言,你就要創建3個不同的堆棧程序,每個程序一個名字。但是,如果使用Java,由于它具有多態性,你就可以創建一個通用的堆棧程序集,它們共享相同的名稱。多態性的概念經常被說成是“一個接口,多種方法”。這意味著可以為一組相關的動作設計一個通用的接口。多態性允許同一個接口被必于同一類的多個動作使用,這樣就降低了程序的復雜性。選擇應用于每一種情形的特定的動作(specific action)(即方法)是編譯器的任務,程序員無需手工進行選擇。你只需記住并且使用通用接口即可。

三、 hashmap hashtable

HashMap 是一個散列表,它存儲的內容是鍵值對(key-value)映射。HashMap 繼承于AbstractMap,實現了Map、Cloneable、java.io.Serializable接口。

HashMap 的實現不是同步的,這意味著它不是線程安全的。它的key、value都可以為null。此外,HashMap中的映射不是有序的。HashMap的實例有兩個參數影響其性能:“初始容量” 和 “加載因子”。容量是哈希表中桶的數量,初始容量 只是哈希表在創建時的容量。加載因子 是哈希表在其容量自動增加之前可以達到多滿的一種尺度。當哈希表中的條目數超出了加載因子與當前容量的乘積時,則要對該哈希表進行 rehash 操作(即重建內部數據結構),從而哈希表將具有大約兩倍的桶數。

. jvm 內存模型

程序計數器

每個線程有要有一個獨立的程序計數器,記錄下一條要運行的指令。線程私有的內存區域。如果執行的是JAVA方法,計數器記錄正在執行的java字節碼地址,如果執行的是native方法,則計數器為空。

虛擬機棧

線程私有的,與線程在同一時間創建。管理JAVA方法執行的內存模型。

本地方法區

和虛擬機棧功能相似,但管理的不是JAVA方法,是本地方法

方法區

線程共享的,用于存放被虛擬機加載的類的元數據信息:如常量、靜態變量、即時編譯器編譯后的代碼。也稱為永久代。

JAVA 堆

線程共享的,存放所有對象實例和數組。垃圾回收的主要區域。可以分為新生代和老年代(tenured)。

五、 運行時類型信息(RTTI + 反射)

概念—RTTI:運行時類型信息使得你可以在程序運行時發現和使用類型信息。

使用方式:Java是如何讓我們在運行時識別對象和類的信息的,主要有兩種方式(還有輔助的第三種方式,見下描述):

一種是“傳統的”RTTI,它假定我們在編譯時已經知道了所有的類型,比如Shape s = (Shape)s1;另一種是“反射”機制,它運行我們在運行時發現和使用類的信息,即使用Class.forName()。其實還有第三種形式,就是關鍵字instanceof,它返回一個bool值,它保持了類型的概念,它指的是“你是這個類嗎?或者你是這個類的派生類嗎?”。而如果用==或equals比較實際的Class對象,就沒有考慮繼承—它或者是這個確切的類型,或者不是。

工作原理

要理解RTTI在Java中的工作原理,首先必須知道類型信息在運行時是如何表示的,這項工作是由稱為Class對象的特殊對象完成的,它包含了與類有關的信息。Java送Class對象來執行其RTTI,使用類加載器的子系統實現。

無論何時,只要你想在運行時使用類型信息,就必須首先獲得對恰當的Class對象的引用

反射與RTTI的區別

RTTI與反射之間真正的區別只在于:對RTTI來說,編譯器在編譯時打開和檢查.class文件(也就是可以用普通方法調用對象的所有方法);而對于反射機制來說,.class文件在編譯時是不可獲取的,所以是在運行時打開和檢查.class文件。

. 即時編譯器技術 — JIT

Java虛擬機中有許多附加技術用以提升速度,尤其是與加載器操作相關的,被稱為“即時”(Just-In-Time,JIT)編譯器的技術。這種技術可以把程序全部或部分翻譯成本地機器碼(這本來是JVM的工作),程序運行速度因此得以提升。當需要裝載某個類時,編譯器會先找到其.class文件,然后將該類的字節碼裝入內存。此時,有兩種方案可供選擇:

1)一種就是讓即時編譯器編譯所有代碼。

2)另一種做法稱為惰性評估(lazy evaluation),意思是即時編譯器只在必要的時候才編譯代碼,這樣,從不會被執行的代碼也許就壓根不會被JIT所編譯。

七、 final關鍵字

final關鍵字的誤解

final修飾的是基本數據類型時,它指的是數值恒定不變(就是編譯期常量,如果是static final修飾,則強調只有一份),而對對象引用而不是基本類型運用final時,其含義會有一點令人迷惑,因為用于對象引用時,final使引用恒定不變,一旦引用被初始化指向一個對象,就無法再把它指向另一個對象。然而,對象其自身卻是可以被修改的,Java并未提供使任何對象恒定不變的途徑(但可以自己編寫類以取得使對象恒定不變的效果),這一限制同樣適用數組,它也是對象。

以上是我們在學習Java時需要掌握的基本點和一些關鍵的重難點。了解他們對我們學習Java很重要


熱門班型時間
人工智能就業班 即將爆滿
AI應用線上班 即將爆滿
UI設計全能班 即將爆滿
數據分析綜合班 即將爆滿
軟件開發全能班 爆滿開班
網絡安全運營班 爆滿開班
報名優惠
免費試聽
課程資料
官方微信
返回頂部
培訓課程 熱門話題 站內鏈接
精品欧美激情精品一区,亚洲自拍的二区三区,亚洲综合精品一区二区,国产伦精品一区二区三区视频免费
5g国产欧美日韩视频| 中文字幕一区二区三区有限公司 | 欧美中文字幕不卡| 精品电影一区二区| 一区二区三区日韩在线观看| 激情图片小说一区| 国产精品国产亚洲精品看不卡15| 亚洲一二区在线| 精品国产乱码久久久久久老虎 | 国产在线精品一区在线观看麻豆| av一区二区三区在线观看| 亚洲蜜桃av| 欧美mv和日韩mv国产网站| 亚洲综合视频在线观看| 高清视频一区二区| 日韩av不卡播放| 日韩欧美视频在线| 亚洲国产成人91porn| av高清久久久| 自拍视频一区二区三区| 日韩精品中文字幕一区| 亚洲午夜av在线| av欧美精品.com| 中文字幕一区综合| 国产精品丝袜久久久久久app| 美日韩一级片在线观看| 国产伦一区二区三区色一情| 欧美日韩免费高清一区色橹橹| 中文字幕一区免费在线观看| 国产一区二区三区黄视频| 日本在线播放不卡| 精品福利一二区| 奇米精品一区二区三区在线观看一| 国产99在线免费| 欧美日韩精品是欧美日韩精品| 亚洲日本在线a| 成人在线综合网| 色综合天天综合网国产成人综合天 | 免费一区二区视频| 久久99精品久久久久久青青日本 | 国v精品久久久网| 婷婷久久青草热一区二区 | 欧美日韩精品免费观看视频| 一区二区三区中文在线| www.亚洲精品| 在线免费精品视频| 亚洲综合网站在线观看| 91高跟黑色丝袜呻吟在线观看| 欧美日韩综合一区| 洋洋成人永久网站入口| 3d蒂法精品啪啪一区二区免费| 欧美日韩一区二区电影| 亚洲综合男人的天堂| 成人永久免费| 日韩欧美一卡二卡| 麻豆中文一区二区| 日韩一区二区电影在线观看| 中文字幕av一区二区三区高| 国产91对白在线观看九色| 色视频成人在线观看免| 亚洲精品乱码久久久久久日本蜜臀| 91丨porny丨中文| 3d动漫精品啪啪一区二区竹菊| 日韩电影一区二区三区四区| 欧美区高清在线| 国产精品视频九色porn| 成人动漫视频在线| 欧美日韩在线播| 天天做天天摸天天爽国产一区| 鲁丝一区二区三区免费| 国产喂奶挤奶一区二区三区| 粉嫩在线一区二区三区视频| 欧美日韩精品一区二区三区蜜桃| 视频一区二区国产| 日韩欧美三级一区二区| 成人欧美一区二区三区小说| 99久久精品无码一区二区毛片| 欧美成人一区二区| 国产精品88av| 欧美日产国产精品| 免费在线观看一区| 伊人久久大香线蕉成人综合网| 一区二区三区精品视频| 九色91在线视频| 欧美国产激情二区三区| 91在线国产观看| 亚洲精品一区在线观看| 国产91富婆露脸刺激对白 | 久草中文综合在线| 在线一区二区视频| 日韩电影免费在线观看网站| 亚洲国产欧洲综合997久久| 一区二区三区国产豹纹内裤在线| 久久香蕉综合色| 136国产福利精品导航| 国产综合 伊人色| 国产精品久久久久国产精品日日| 国产激情美女久久久久久吹潮| 国产亚洲欧美日韩在线一区| 69堂成人精品视频免费| 久久九九国产精品| 7777精品伊久久久大香线蕉语言| 久久精品夜色噜噜亚洲a∨| 91国产在线播放| 国产欧美精品区一区二区三区| 成人自拍偷拍| 国产精品人人做人人爽人人添 | 国产高清亚洲一区| 69久久夜色精品国产69蝌蚪网| 国产一区二区三区蝌蚪| 日韩一卡二卡三卡四卡| 成人综合婷婷国产精品久久 | av成人在线电影| 国产精品视频一二| 精品欧美日韩| 亚洲精品成a人| 婷婷五月色综合| 日韩福利视频导航| 欧美日韩一区二区在线观看视频 | 精品日韩欧美在线| 91片黄在线观看| 中文字幕不卡的av| 久久天堂国产精品| 亚洲一区在线电影| 永久久久久久| 国产一区二区三区日韩| 日韩欧美国产麻豆| 91免费看蜜桃| 亚洲欧美另类图片小说| 午夜精品电影在线观看| 麻豆91在线播放免费| 欧美一区二区三区在线电影| 91在线观看成人| 中文字幕一区视频| 亚洲成人一区二区三区| 麻豆91在线观看| 欧美大片免费久久精品三p| 不卡一区二区三区视频| 亚洲蜜桃精久久久久久久| 亚洲一区二区在线免费观看| 久久se精品一区二区| 日韩精品一区二区三区视频播放 | 一本色道久久综合精品竹菊| 精品一区二区综合| 精品国产亚洲一区二区三区在线观看| 国产精品9999久久久久仙踪林| 亚洲裸体在线观看| 91国偷自产一区二区开放时间 | 成人做爰69片免费看网站| 国产亚洲欧美中文| 日韩啊v在线| 极品尤物av久久免费看| 久久久久久麻豆| 欧美一区二区三区电影在线观看| 热久久国产精品| 欧美r级在线观看| 欧美激情第一页在线观看| 蜜臀va亚洲va欧美va天堂 | 依依成人精品视频| 欧美综合视频在线观看| 99久久夜色精品国产网站| 亚洲视频在线观看三级| 91豆麻精品91久久久久久| 成人av网在线| 一区二区欧美精品| 欧美日韩国产综合视频在线观看 | 日日骚一区二区网站| 国内精品视频666| 国产精品午夜久久| 一本在线高清不卡dvd| 成人午夜短视频| 亚洲女人****多毛耸耸8| 欧美天堂一区二区三区| 99视频在线免费观看| 天堂午夜影视日韩欧美一区二区| 日韩欧美一卡二卡| 欧美最大成人综合网| 国产精品一区在线| 亚洲视频中文字幕| 欧美日韩高清一区二区三区| 国产69精品久久久久9999apgf| 日日夜夜一区二区| 久久久噜噜噜久久中文字幕色伊伊| 日韩欧美在线观看强乱免费| 国产不卡视频在线播放| 亚洲美女免费视频| 日韩一级视频免费观看在线| 欧美精品一区二区三区在线看午夜 | 国产日韩精品视频一区| 色婷婷综合久久久久中文一区二区 | 洋洋成人永久网站入口| 欧美一区二区日韩| 欧美一区观看| 不卡av在线网| 亚洲成人高清在线| 国产午夜精品一区二区| 欧美性xxxxxx少妇| 久久99导航| 成人激情免费视频| 视频一区视频二区中文字幕|