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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 git的常用命令面試題,你知道多少

git的常用命令面試題,你知道多少

更新時間:2023-01-13 17:20:34 來源:動力節點 瀏覽1324次

1. 我們開發人員編寫的Java代碼是怎么讓電腦認識的

首先先了解電腦是二進制的系統,他只認識 01010101

比如我們經常要編寫 HelloWord.java 電腦是怎么認識運行的HelloWord.java是我們程序員編寫的,我們人可以認識,但是電腦不認識

Java文件編譯的過程

1. 程序員編寫的.java文件

2. 由javac編譯成字節碼文件.class:(為什么編譯成class文件,因為JVM只認識.class文件)

3. 在由JVM編譯成電腦認識的文件 (對于電腦系統來說 文件代表一切)

git面試題

2. 為什么說java是跨平臺語言

這個跨平臺是中間語言(JVM)實現的跨平臺

Java有JVM從軟件層面屏蔽了底層硬件、指令層面的細節讓他兼容各種系統難道 C 和 C++ 不能跨平臺嗎

其實也可以 C和C++需要在編譯器層面去兼容不同操作系統的不同層面,寫過C和C++的就知道不同操作系統的有些代碼是不一樣

3. Jdk和Jre和JVM的區別

Jdk包括了Jre和Jvm,Jre包括了Jvm

Jdk是我們編寫代碼使用的開發工具包

Jre 是Java的運行時環境,他大部分都是 C 和 C++ 語言編寫的,他是我們在編譯java時所需要的基礎的類庫

Jvm俗稱Java虛擬機,他是java運行環境的一部分,它虛構出來的一臺計算機,在通過在實際的計算機上仿真模擬各種計算機功能來實現Java應用程序

看Java官方的圖片,Jdk中包括了Jre,Jre中包括了JVM

git面試題

4. 說一下 JVM由那些部分組成,運行流程是什么?

JVM包含兩個子系統和兩個組件: 兩個子系統為Class loader(類裝載)、Execution engine(執行引擎); 兩個組件為Runtime data area(運行時數據區)、Native Interface(本地接口)。

Class loader(類裝載):根據給定的全限定名類名(如:java.lang.Object)來裝載class文件到Runtime data area中的method area。

Execution engine(執行引擎):執行classes中的指令。

Native Interface(本地接口):與native libraries交互,是其它編程語言交互的接口。

Runtime data area(運行時數據區域):這就是我們常說的JVM的內存。

流程 :首先通過編譯器把 Java 代碼轉換成字節碼,類加載器(ClassLoader)再把字節碼加載到內存中,將其放在運行時數據區(Runtime data area)的方法區內,而字節碼文件只是 JVM 的一套指令集規范,并不能直接交給底層操作系統去執行,因此需要特定的命令解析器執行引擎(Execution Engine),將字節碼翻譯成底層系統指令,再交由 CPU 去執行,而這個過程中需要調用其他語言的本地庫接口(Native Interface)來實現整個程序的功能。

5. 說一下 JVM 運行時數據區

Java 虛擬機在執行 Java 程序的過程中會把它所管理的內存區域劃分為若干個不同的數據區域。這些區域都有各自的用途,以及創建和銷毀的時間,有些區域隨著虛擬機進程的啟動而存在,有些區域則是依賴線程的啟動和結束而建立和銷毀。Java 虛擬機所管理的內存被劃分為如下幾個區域:

簡單的說就是我們java運行時的東西是放在那里的

git面試題

程序計數器(Program Counter Register):當前線程所執行的字節碼的行號指示器,字節碼解析器的工作是通過改變這個計數器的值,來選取下一條需要執行的字節碼指令,分支、循環、跳轉、異常處理、線程恢復等基礎功能,都需要依賴這個計數器來完成;

為什么要線程計數器?因為線程是不具備記憶功能

Java 虛擬機棧(Java Virtual Machine Stacks):每個方法在執行的同時都會在Java 虛擬機棧中創建一個棧幀(Stack Frame)用于存儲局部變量表、操作數棧、動態鏈接、方法出口等信息;

棧幀就是Java虛擬機棧中的下一個單位

本地方法棧(Native Method Stack):與虛擬機棧的作用是一樣的,只不過虛擬機棧是服務 Java方法的,而本地方法棧是為虛擬機調用 Native 方法服務的;

Native 關鍵字修飾的方法是看不到的,Native 方法的源碼大部分都是 C和C++ 的代碼Java 堆(Java Heap):Java 虛擬機中內存最大的一塊,是被所有線程共享的,幾乎所有的對象實例都在這里分配內存;

方法區(Methed Area):用于存儲已被虛擬機加載的類信息、常量、靜態變量、即時編譯后的代碼等數據。

以上就是“git的常用命令面試題,你知道多少”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節點Java官網。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久草视频免费在线观看 | 国产在线麻豆一区二区 | 一区二区日韩欧美 | 久久国产精品久久国产片 | 欧美99| 中文字幕亚洲综久久2021 | 性欧美视频a毛片在线播放 性欧美视频在线观看 | 性生活视频网址 | 婷婷视频在线 | 九九影院理论片私人影院 | 欧美视频亚洲 | 俄罗斯一级毛片aaaa | 国产成人福利在线 | 欧美激情在线观看一区二区三区 | 日本一级毛片片在线播放 | 亚洲视屏一区 | 五月花激情网 | 欧美精品亚洲精品日韩专 | 欧美综合成人网 | 久久成人国产精品 | 91在线 | 欧美 | 国产一区二区高清在线 | 亚洲高清美女一区二区三区 | 人成午夜欧美大片免费视频 | 日本激情视频一区二区三区 | 欧美视频日韩专区午夜 | 深夜免费在线视频 | 日韩美a一级毛片 | 久久99影院网久久久久久 | 精品国产一区二区二三区在线观看 | 久久黄色精品视频 | 亚洲视频一 | 天天射天天干天天色 | 岛国大片免费在线观看 | 色偷偷88888欧美精品久久久 | 4虎影院在线观看 | 久久www免费人成_看片高清 | 伊人久久99 | 久久久久久综合 | 国产五月色婷婷六月丁香视频 | 超清中文乱码字幕在线观看 |