大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 常見問題 學習Java的技術要點,重要學習指南

學習Java的技術要點,重要學習指南

更新時間:2022-07-26 16:27:34 來源:動力節(jié)點 瀏覽1538次

James Gosling 于 1991 年 6 月作為一個名為“Oak”的項目開創(chuàng)了 Java。Gosling 的目標是開發(fā)一種虛擬機和語言,其具有像 C 一樣的著名符號,但比 C/C++ 更精確和簡單。1995 年,Java 1.0 是第一次公開執(zhí)行。它承諾在具有免費運行時的流行平臺上“編寫一次,隨處運行”。它非常安全且可配置,具有限制網絡和文件訪問的安全性。在穩(wěn)定的“小程序”設置中,重要的網絡瀏覽器很快在其標準設置中實現(xiàn)了它。

學習Java的技術要點

Java 語言的開發(fā)有五個主要目標:

1. 應采用面向對象的方法。

2. 應該允許多個操作系統(tǒng)運行同一個程序。

3.應該有內置的計算機網絡支持。

4. 它應該被配置為安全地執(zhí)行來自遠程源的代碼。

5. 通過選擇其他面向對象語言的哪些部分被認為是可接受的。它應該易于使用。

Java 程序員通常認為使用 CORBA、Internet Communications Engine 或 OSGi 等擴展來實現(xiàn)網絡支持和遠程代碼執(zhí)行目標是合適的。

面向對象

第一個元素,面向對象 (OO),適用于編程和設計過程。雖然可能有幾種 OO 含義,但一個關鍵的區(qū)別原則是程序設計以組合不同的數(shù)據類型,并通過它們各自的操作進行操作。然后將數(shù)據和代碼組合成稱為對象的實體。

一個實體可以被認為是一個部分(代碼)和自包含行為的狀態(tài)(數(shù)據)。這個想法是將變化的項目與保持不變的事物分開;任何數(shù)據結構的更改也意味著在該數(shù)據上運行的代碼(反之亦然)被相應地修改。這種對兼容對象的劃分為軟件系統(tǒng)的設計提供了更可靠的基礎。目的是促進大型軟件項目的管理,提高質量,減少失敗項目的數(shù)量。

OO 的另一個主要目標是創(chuàng)建更常見的工件,以便項目之間的軟件可以更加可重用。例如,一個通用的“客戶”對象應該具有基本相同的一組基本行為,尤其是當這些項目在某個基本層面重疊時,就像它們在大型組織中經常做的那樣。

希望從這個意義上說,軟件對象可以更多地被視為插件組件,以便軟件行業(yè)可以主要基于當前經過良好測試的部分構建項目,從而顯著減少開發(fā)時間。軟件可重用性獲得了混合的功能結果,主要有兩個困難:真正通用對象的概念和通信方法知之甚少。

平臺獨立性

第二個特性,平臺獨立性,意味著 Java 編寫的程序必須平等地運行在不同的硬件上。一個人應該能夠編寫一次并在任何地方執(zhí)行程序。大多數(shù) Java 編譯器通過將 Java 的“中途”編譯為字節(jié)碼代碼,特別是字節(jié)碼 Java,簡化了 Java 平臺特定的機器指令來完成此任務。

然后代碼在虛擬機上運行,??該虛擬機在主機硬件上以本機代碼解釋和執(zhí)行通用 Java 字節(jié)碼。此外,標準化庫可用于統(tǒng)一訪問主機功能,例如圖形、線程和網絡,僅舉幾例。

請注意,雖然編譯階段是精確的,但 JIT 編譯器會將 Java 字節(jié)碼解釋或轉換為本地機器指令。Java 編譯器也被實現(xiàn)來編譯本地目標代碼,例如 GCJ,以移除中間字節(jié)碼級別。盡管如此,只有單一架構可以運行這些編譯器的性能。

Sun 的 Java 許可證要求“兼容”所有實現(xiàn)。在 Sun 辯稱 RMI 和 JNI 接口不接受 Microsoft 實現(xiàn)并引入特定于平臺的功能后,這導致了與 Microsoft 的法律糾紛。Microsoft 將不再隨 Windows 一起提供 Java,Internet Explorer 將不再支持在最新版本的 Windows 中沒有第三方插件的 Java 小程序。

但是,對于這些版本和其他 Windows 版本,Sun 和其他公司免費提供 Java 運行時系統(tǒng)。第一種語言實現(xiàn)使用編碼虛擬機來實現(xiàn)可移植性。這些創(chuàng)新創(chuàng)建的程序比那些編譯成本地可執(zhí)行文件(例如 C 或 C++)的程序執(zhí)行得稍慢,因此該語言被認為是糟糕的。最近的 JVM 部署使用多種技術生成程序,運行速度比以前快得多。

第一種技術是將本機代碼直接編譯成更傳統(tǒng)的編譯器,完全跳過字節(jié)碼。這會產生良好的結果,但會以便攜性為代價。當程序運行時,Java 字節(jié)碼作為一種稱為即時編譯 (JIT) 的不同技術被轉換為本機代碼。

該程序比解釋代碼運行得更快,并且在執(zhí)行過程中也會產生編譯開銷。更高級的 VM 使用動態(tài)重新編譯,其中 VM 可以選擇性地重新編譯和優(yōu)化軟件的基本組件,評估行為。動態(tài)重新編譯可以做的不僅僅是靜態(tài)優(yōu)化,因為動態(tài)編譯器可以使用運行時環(huán)境和加載類的集合來構造優(yōu)化。JIT 的動態(tài)重建和編譯允許 Java 程序從本機代碼速度中受益,而不會失去可移植性。

自動垃圾收集

Java 自動內存管理模型背后的一個概念是為程序員節(jié)省手動內存管理的壓力。在特定語言中,程序員分配內存來構建存儲在堆中的任何對象,然后手動管理內存以刪除這些對象。當程序員忘記重新定位內存并且沒有及時鍵入代碼時,可能會發(fā)生內存泄漏:它會消耗大量內存。此外,當內存區(qū)域被擴展兩次時,程序可能會變得不穩(wěn)定并崩潰。最后,在非廢物收集環(huán)境中跟蹤和最終確定分配的用戶代碼存在一些開銷和復雜性。

自動垃圾收集避免了 Java 中可能出現(xiàn)的這個問題。創(chuàng)建對象時,由程序員決定,Java 負責管理對象生命周期。持有一個引用,程序或其他對象可能會提到一個對象(從低級的角度來看,它是它在堆上的地址)。如果沒有對對象的引用,Java 垃圾收集器會自動刪除不可訪問的對象,從而釋放內存并避免內存泄漏。如果程序員的代碼包含對不再需要的項的引用,也可能存在內存泄漏——換句話說,它仍然可能發(fā)生在更高的概念級別。

以上就是動力節(jié)點小編介紹的"學習Java的技術要點,重要學習指南",希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為您務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 一级一级 a爱片免费视频 | 国产情精品嫩草影院88av | 亚洲欧美成人永久第一网站 | 国产精品久久久久久影视 | 天天草天天操 | 国产精品www视频免费看 | 麻豆亚洲精品一区二区 | 国产精品综合一区二区 | 四虎在线永久免费视频网站 | 狠狠干奇米 | 最新日本免费一区二区三区中文 | 日韩dv| jizz中国zz女人18| 亚洲一区二区三区精品视频 | 国产精品爱久久久久久久 | 久久精品亚洲一区二区 | 全部费免一级毛片不收费 | 亚洲视频中文字幕在线 | 国内精品久久影院 | 九月婷婷天天澡天天添天天爽 | 久草男人天堂 | 久草精品免费 | 久久午夜青青草原影院 | 亚洲乱码在线观看 | 99热国产| 免费看一级做a爰片久久 | 色花堂国产精品第二页 | www.精东| 免费一级特黄特色黄大任片 | 欧美一级级a在线观看 | 日本99视频| 99精品国产一区二区三区 | 亚洲综合资源 | 久久精品视频日本 | 色在线视频| 成人最新午夜免费视频 | 中国一级特黄真人毛片免 | 寂寞午夜影院 | 九月婷婷亚洲综合在线 | 正在播放国产乱子伦视频 | 青青青青久久精品国产h |