更新時間:2022-03-31 10:44:00 來源:動力節點 瀏覽21148次
Java 的設計考慮到了多功能性。它的應用程序可以在任何平臺上運行,而無需程序員為每個單獨的平臺重寫或重新編譯數據。
JVM代表“Java虛擬機”,是一種能夠執行Java字節碼的進程虛擬機。每個 Java 源文件都被編譯成一個字節碼文件。JVM 使 Java 如此通用,因為當它執行字節碼文件時,它知道任何底層硬件平臺的特定指令長度和其他必要性。
在技??術領域,Spring 是一個用于企業 Java 的開源開發框架。雖然 Spring 框架的核心功能與開發任何 Java 應用程序兼容,但存在用于在 Java EE(企業版)平臺之上構建單獨的 Web 應用程序的特殊擴展。
Spring 框架提倡一種 POJO(Plain Old Java Object)編程模型,這被認為是良好的編程實踐,也使得 J2EE(Java 2 企業版)開發更易于使用。
Java 運行時環境 (JRE) 本質上是執行 Java 程序的 JVM。JRE 還包括瀏覽器插件。
Java 開發工具包 (JDK) 是用于 Java 的全功能軟件開發工具包。除了允許用戶開發、編譯和執行 Java 應用程序的編譯器和工具(如 JavaDoc 和 Java 調試器)之外,它還包括 JRE。
Bean 是構成應用程序主干的對象,由 Spring IoC 容器管理。Bean 是使用提供給容器的配置元數據創建的。XML 定義就是一個例子。
以下是這個問題的一些可接受的答案:
輕的。Spring 框架的基本版本約為 2MB,這使得 Spring 在大小和透明度方面都很輕巧。
控制反轉 (IoC)。Spring 使用 IoC 的技術來實現松散耦合并為對象提供依賴關系,而不是創建或搜索依賴對象。
容器。Spring 管理并包含應用程序對象的配置,以及它們的生命周期。
面向方面(AOP)。Spring 支持面向方面的編程。它還將應用程序業務邏輯與系統服務分離,以實現內聚開發。
MVC 框架。Spring 使用了精心設計的 MVC 框架,與其他類型的 Web 框架相比,它高效且流行。
交易管理。Spring 一致的管理接口可以針對全局和本地事務進行放大或縮小。
異常處理。Spring 的應用程序編程接口 (API) 將特定于技術的異常轉換為一致的、未經檢查的異常。
這兩種方法都可以用作 JVM 啟動垃圾收集的提示。但是,由 JVM 決定是否立即或稍后開始收集。
應用程序上下文類似于 bean 工廠,兩者都能夠加載定義、將 bean 連接在一起以及根據請求分配 bean。但是應用程序上下文還具有其他功能,包括加載文件資源的通用方法、解析文本消息的方法以及注冊為偵聽器的 bean 事件。
JDBC 是一個抽象層。它允許用戶在數據庫之間進行選擇,并使開發人員能夠用 Java 編寫數據庫應用程序,而無需擔心特定數據庫的底層細節。
反射描述了可以檢查同一系統中的其他代碼并在運行時進行修改的代碼。
CI服務器功能不斷檢查編譯錯誤并集成由不同開發人員提交到存儲庫的所有更改。它必須每天多次構建代碼,最好是在每次提交之后,這樣它就可以檢測到損壞并確定是哪個提交導致的。
類定義了多個對象共有的屬性、狀態和行為,類似于藍圖。對象是類的一個實例。
例如,將“犬”視為一個類。該類別中的對象可以包括狼、狗、狐貍、土狼等。
是的。枚舉具有嚴格的實例控制,允許您使用 == 來比較實例。
sleep() 是一個阻塞操作。它將保持在監視器上并將共享對象鎖定一定的毫秒數。
wait() 暫停線程,直到經過指定的毫秒數或它從另一個線程接收到通知,無論哪個實例先發生。此函數不會保留監視器或鎖定共享對象。
sleep() 通常用于定期檢查某些結果,例如輪詢。wait() 常用于多線程對話,以實現同步并避免競爭條件。
在默認模式下,Spring bean 不是線程安全的,因為作用域是單例。每個上下文只有一個實例,這意味著擁有一個可以被任何線程更新的類級變量將導致數據不一致。
但是,可以將 Spring bean 范圍更改為請求、原型或會話以實現線程安全。這是基于項目要求的設計決策。進行此調整將影響性能。
Java 是按值傳遞的。然而,傳遞對象值的方法是傳遞對它的引用,這就是為什么這有時會讓初學者感到困惑。
Java 沒有辦法使頂級類成為靜態的。但是,您可以通過以下步驟模擬靜態類:
宣布你的班級決賽。這可以防止類擴展。
將構造函數設為私有。這將防止客戶端代碼實例化。
使所有類成員和函數成為靜態的。
請注意,如果您嘗試調用實例成員,編譯器不會阻止您聲明非靜態成員。
接口是一個模板,它只包含方法的簽名,由參數的數量、類型和順序組成。一個接口不能單獨實現,因為它包含方法的定義但缺少方法體,但它可以從多個接口派生。接口的特點包括:
在代碼中實現多重繼承
定義一組特定的方法及其參數
將變量聲明為 public、static 和 final
將方法聲明為公共的和抽象的
實現類的所有方法
持續集成是指開發人員盡可能頻繁地將他們的更改合并回主分支。采用這種做法有助于避免當人們必須等待發布日才能將他們的更改合并到發布分支時發生的問題。
持續交付比持續集成更進一步。它確保您可以快速、有效地向客戶發布新的更改。除了自動化測試之外,發布過程也是自動化的,因此只需單擊一個按鈕即可隨時部署應用程序。
持續部署是基于其他兩種實踐的又一擴展。沒有人為干預;通過所有生產階段的每個更改都會發布給客戶。
控制器通過解釋用戶輸入并將其轉換為表示模型來提供對應用程序行為的訪問。Spring 的控制器實現非常抽象,它使開發人員能夠創建各種不同的控制器。
Spring 容器使用依賴注入 (DI) 來管理組成應用程序的組件。它負責創建對象、將它們連接在一起、配置它們并管理它們的完整生命周期。
Spring IoC 容器有兩種類型:
豆因子容器。對 DI 的基本支持。此容器是最簡單的,通常在資源有限時首選,例如移動設備或基于小程序的應用程序。
Spring ApplicationContext 容器。企業特定的功能。示例包括從屬性文件解析文本消息的能力或將應用程序事件發布到感興趣的偵聽器的能力。
一個 bean 必須是一個可序列化的對象,它的屬性帶有 getter 和 setter,它們只是具有特定名稱的方法。它還必須有一個公共的 0-arg 構造函數,以便可以隨意創建它,然后通過屬性設置進行配置。如果一個類遵循所有的標準,那么它就被認為是一個 JavaBean。
故障安全適用于基礎集合的克隆,因此不受集合中任何修改的影響。快速失敗的迭代器利用 ConcurrentModificationException;故障安全迭代器不會拋出這樣的異常。
java.util 中的所有類都是快速失敗的。java.util.concurrent 中的集合類是故障安全的。
JVM 有一堆運行時數據。所有類實例和數組的內存都分配給這個堆,它是在 JVM 啟動時創建的。對象的堆內存由垃圾收集器回收,垃圾收集器是一個自動內存管理系統。
應用程序可以訪問但不會成為垃圾收集的一部分的活動對象和應用程序永遠無法訪問但尚未被垃圾收集器收集的死對象組成了堆內存空間直到死對象最終進入垃圾收集器。
JIT 代表 Just In Time,是 JVM 在運行時優化代碼的機制。它可以執行代碼內聯、鎖粗化、鎖刪除、逃逸分析和其他優化。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習