java基礎4.18

来源:https://www.cnblogs.com/eafkng/archive/2022/04/19/16167786.html
-Advertisement-
Play Games

1.java的"一次編寫,處處運行"如何實現?: 答:java之所有能實現一次編譯,到處運行,是因為java在每個系統平臺上都有java虛擬機(jvm),java編譯的中間文件class是由java虛擬機在運行時動態轉換為對應平臺的機器代碼 2.描述jvm的運行原理: 答: Java平臺由Java虛 ...


1.java的"一次編寫,處處運行"如何實現?:
答:java之所有能實現一次編譯,到處運行,是因為java在每個系統平臺上都有java虛擬機(jvm),java編譯的中間文件class是由java虛擬機在運行時動態轉換對應平臺的機器代碼

2.描述jvm的運行原理:
答: Java平臺由Java虛擬機和Java應用程式介面搭建,Java語言則是進入這個平臺的通道,用Java語言編寫並編譯的程式可以運行在這個平臺上。這個平臺的結構如下圖所示: 運行期環境代表著Java平臺,開發人員編寫Java代碼(.java文件),然後將之編譯成位元組碼(.class文件),再然後位元組碼被裝入記憶體,一旦位元組碼進入虛擬機,它就會被解釋器解釋執行,或者是被即時代碼發生器有選擇的轉換成機器碼執行。

3.為什麼Java沒有全局變數:
Global variables(全局變數) 是指可以全局訪問的變數, Java不支持全局變數,原因如下:

  1. 全局變數破壞了引用的透明性
  2. 全局變數製造了命名空間衝突。
    可以使用properties類將想要全局有效的變數值寫在properties文件中,那麼在何處用時都從此properties文件中讀取這個變數的值就可以了,此值在任何時候都可以修改的

說明:我們平時在類中聲明的只是相對類而言是全局變數,不是真正意義的全局變數

4.說明一下public static void main(String args[])這段聲明裡每個關鍵字的作用。:
Public 是一個訪問許可權(訪問修飾符)公共

static 修飾的成員稱為類成員或者靜態成員

void 當方法定義時用void修飾時,表示沒有返回值

String 類來創建和操作字元串

5.java是否存在記憶體泄漏?:
java中記憶體泄露的發生場景,通俗地說,就是程式員可能創建了一個對象,以後一直不再使用這個對象,這個對象卻一直被引用,即這個對象無用但是卻無法被垃圾回收器回收的,這就是java中的記憶體泄露,一定要讓程式將各種分支情況都完整執行到程式結束,然後看某個對象是否被使用過,如果沒有,則才能判定這個對象屬於記憶體泄露。

6.==與equals的區別:
"= ="除了比較基本數據之外都是比較的記憶體地址
"equals"除了比較沒有重寫equals方法的類之外都是比較的內容

7.java中有幾種類型的流:
Java中的流分為兩種,一種是位元組流,另一種是字元流,分別由四個抽象類來表示(每種流包括輸入輸出兩種所以一共四個):InputStream,OutputStream,Reader,Writer

8.如何使用java代碼列出一個目錄下的所有文件:
File file=new File("H:\\"); for(File temp:file.listFiles()){ if(temp.isFile()){ System.out.println(temp.toString()); } }

9.&和&&的區別:
1、&與&&都可以用作邏輯與的運算符,當兩邊的結果都為true時,運算結果才為true,否則只要有一方運算結果是false,運算結果就為false。
2、&&在開發過程中用到的概率比&大,因為&&具有短路的功能,只要第一個表達式是false,就不會再進行判斷。例如:if(str!=null && !str.equals("")){}
當strnull時,後面的表達式就不會繼續執行,但是
if(str!=null & !str.equals("")){}當str
null時,程式會報空指針異常,因為&不具有短路的功能。
3、&同時也是位運算符,就是我們通常所說的按位與運算,當&的左右兩邊都是Boolean型表達式時或Boolean值時,就執行按位與運算

10.構造器(constructor)是否可被重寫(override),其規範是什麼?:
構造器(構造方法)Constructor不能被繼承,因此不能重寫Override,但可以被重載Overload(不同參數即可)。
每一個類必須有自己的構造函數,在創建對象自動調用,如果添加有參構造函數後,預設無參構造函數則被覆蓋。子類不會覆蓋父類的構造函數,但是在創建子類對象的時候,會自動調用父類構造函數


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 所謂頭條屏幕方案就是修改了DisplayMetrics類,讓設備的dp寬強行按設計稿來,所以DisplayMetrics獲取的一些參數都是縮放過的,並不是真實的。在一些情況下會出現兩次獲取結果不一樣,就產生了bug。由於項目已經用了這種方案(個人不太傾向使用),所以解決這個問題。目前出現的現象就是第 ...
  • 為什麼要獲取客戶來源 用作數據分析,根據客戶來源,做精準轉化! 判斷客戶來源入口方式 1、通過官方的scene場景值 常見場景值 場景值ID 說明 1001 發現欄小程式主入口,「最近使用」列表 1005 微信首頁頂部搜索框的搜索結果頁 1012 長按圖片識別二維碼 1047 掃描小程式碼 1053 ...
  • 我們知道,單獨使用HMS Core推送服務或本地創建通知消息,都可以實現通知消息的覆蓋,方式分別為: 1、本地創建通知消息(簡稱本地通知消息) 通過notificationManager.notify(notifyId, notification)設置相同的notifyId即可實現。 2、HMS C ...
  • 上文(【Codelabs挑戰賽示例講解1】核酸檢測結果認證查詢系統-認證登錄)實現了核酸檢測結果認證查詢系統的認證登錄部分的功能,認證登錄完成後,接下來便是要實現核酸檢測結果數據的導入與查詢功能。 雲資料庫是一款端雲協同的資料庫產品,提供端雲數據的協同管理、統一的數據模型和豐富的數據管理API介面等 ...
  • 介紹 SOLID 原則是由 5 個設計原則組成的,分別為:(S)單一職責原則、(O)開閉原則、(L)里式替換原則、(I)介面隔離原則和(D)依賴反轉原則; 單一職責原則 SRP 單一職責原則的英文是 Single Responsibility Principle,縮寫為 SRP; 它的意思是一個類或 ...
  • 迭代器模式是什麼 迭代器模式是一種行為設計模式, 讓你能在不暴露集合底層表現形式 (列表、 棧和樹等) 的情況下遍歷集合中所有的元素。 為什麼用迭代器模式 當集合背後為複雜的數據結構, 且你希望對客戶端隱藏其複雜性時(出於使用便利性或安全性的考慮),可以使用迭代器模式。迭代器封裝了與複雜數據結構進行 ...
  • **導讀:**風控是金融最常見的場景之一,本文將從業務和技術架構兩個層面和大家探討如何落地智能風控中台系統。分享主要圍繞下麵五點展開: 風控中台的設計背景 策略的全周期管理 模型的全周期管理 業務架構和能力原子化 應用案例 -- 01 風控中台的設計背景 首先大風控體系或者風控中台的建設在本質上是服 ...
  • 在面向對象編程中,先編寫表示現實世界中的事物和情景的類,並基於這些類來創建對象。基於類創建對象時,每個對象都自動具備類的通用行為,同時可根據需要賦予每個對象獨特的個性,在實例中存儲特定信息及操作根據類來創建對象被稱為實例化類,也可以用來擴展既有類的功能,讓相似的類能夠高效地共用代碼 一、創建和使用類 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...