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

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

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

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

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官網。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久久免费精品 | 精品综合久久久久97 | 久久成人综合 | 四虎综合网 | 一区二区三区四区视频在线 | 91精品免费国产高清在线 | 嫩模尺度私拍在线视频 | 91九色蝌蚪91pornv在线 | 中文字幕日韩欧美一区二区三区 | 2021国产精品系列一区二区 | 国内在线播放 | 五月婷婷亚洲综合 | 国产精品一区在线麻豆 | 国产亚洲精品美女久久久久 | 国产精品19p| 日本四虎影院 | 麻豆国内精品久久久久久 | 日韩一区二区免费看 | 国产中文字幕视频在线观看 | 国产精品毛片 | 欧美综合色 | 一级在线 | 欧洲 | 乡下女色又黄一级毛片 | 狠狠热精品免费观看 | 天天躁夜夜躁狂狂躁综合 | 久久夜色精品国产噜噜小说 | 狠狠色成人综合首页 | 在线免费观看a视频 | 色综合亚洲七七久久桃花影院 | 亚洲欧美日韩国产一区图片 | 日本不卡视频在线观看 | 久久精品亚洲精品国产欧美 | 免费在线不卡视频 | aaa一级黄色片 | 欧美成人免费视频a | 欧美肥老妇做爰视频 | 国产伦久视频免费观看视频 | 亚洲精品6久久久久中文字幕 | 国产精品久久久久久久hd | 日韩免费中文字幕 | 91精品国产综合久久青草 |