如何理解Java的跨平臺(tái)特性操作
Java的跨平臺(tái)特性
1、java的跨平臺(tái)是指
java在運(yùn)行時(shí)是凌駕于os之上,是在jvm中運(yùn)行的,跟os沒(méi)有直接聯(lián)系。
2、java跨平臺(tái)主要是由java的編譯方式?jīng)Q定的
因?yàn)閖ava是通過(guò)jvm先編譯再執(zhí)行,它編譯的.class文件是底層的實(shí)現(xiàn)不是針對(duì)操作系統(tǒng)的,所以什么操作系統(tǒng)并不影響java代碼的執(zhí)行。
3、要運(yùn)行Java程序
必須要安裝JDK(Java Development kit),不同的系統(tǒng)需要有不同的JDK。因?yàn)镴DK內(nèi)部有JVM(虛擬機(jī)),通過(guò)虛擬機(jī),可以將我們的原文件轉(zhuǎn)化為機(jī)器最終可以識(shí)別的機(jī)器語(yǔ)言。虛擬機(jī)它其實(shí)是借助電腦本身的設(shè)備及其他功能來(lái)實(shí)現(xiàn)的一個(gè)模擬機(jī)器。
4、虛擬機(jī)是怎么樣把我們的原文件變?yōu)闄C(jī)器可識(shí)別語(yǔ)言的呢?
- 首先,我們編寫(xiě)的源程序(擴(kuò)展名為.java),虛擬機(jī)通過(guò)JDK中的“javac.exe”此程序,就可以將我們的源程序轉(zhuǎn)化為Java字解碼程序(擴(kuò)展名為.class)。
- 其次,轉(zhuǎn)化為了自解碼程序后,通過(guò)“java.exe”程序,可以將自解碼程序在對(duì)應(yīng)的操作系統(tǒng)下將Java自解碼解釋執(zhí)行。通過(guò)操作系統(tǒng),就實(shí)現(xiàn)了機(jī)器可識(shí)別的語(yǔ)言了。
- 值得注意的是,不是所有的系統(tǒng)都能運(yùn)行Java的。因?yàn)槿绻瞬僮飨到y(tǒng)上,沒(méi)有安裝Java自解碼程序,那么Java語(yǔ)言在這個(gè)平臺(tái)上是運(yùn)行不了的。
Java跨平臺(tái)性及語(yǔ)言特點(diǎn)
1、請(qǐng)解釋Java語(yǔ)言的跨平臺(tái)特性
解析:雖然不知道什么是跨平臺(tái)也可以使用Java語(yǔ)言進(jìn)行編程,但是對(duì)于一個(gè)Java編程員來(lái)說(shuō),理解跨平臺(tái)特性能夠更深入掌握J(rèn)ava語(yǔ)言,所以企業(yè)中往往要求應(yīng)聘者至少理解這個(gè)特性。
Java的跨平臺(tái)特性也被稱(chēng)為可移植性、平臺(tái)無(wú)關(guān)性,或者一次編寫(xiě)處處運(yùn)行。他的意思就是如果用Java語(yǔ)言編寫(xiě)一個(gè)應(yīng)用,那么就可以在不同平臺(tái)上運(yùn)行,而不需要為不同平臺(tái)單獨(dú)運(yùn)行開(kāi)發(fā)。之所以能實(shí)現(xiàn)跨平臺(tái)的特性。主要得益于Java虛擬機(jī)(JVM),JVM解釋器在運(yùn)行Java應(yīng)用時(shí)根據(jù)當(dāng)前平臺(tái)進(jìn)行解釋?zhuān)忉尦煞袭?dāng)前平臺(tái)規(guī)范的機(jī)器碼,所以可以實(shí)現(xiàn)同樣的應(yīng)用在不同平臺(tái)上都能運(yùn)行。
2、請(qǐng)列舉JAVA語(yǔ)言的主要特點(diǎn)
了解一門(mén)語(yǔ)言,往往從熟悉該語(yǔ)言的主要特點(diǎn)開(kāi)始入手,所以企業(yè)也常常通過(guò)應(yīng)聘者對(duì)JAVA語(yǔ)言特點(diǎn)的掌握程度而判斷其語(yǔ)言基礎(chǔ)是否扎實(shí)。
JAVA語(yǔ)言有很多特點(diǎn),主要包括
- ①跨平臺(tái)性:一個(gè)應(yīng)用可以不經(jīng)過(guò)修改直接運(yùn)行到不同的平臺(tái)上。
- ②面向?qū)ο螅篔AVA語(yǔ)言是一門(mén)面向?qū)ο蟮恼Z(yǔ)言,可以使用對(duì)象的屬性和行為,可以使用面向?qū)ο蟮乃枷脒M(jìn)行分析設(shè)計(jì),并實(shí)現(xiàn)整個(gè)應(yīng)用。
- ③解釋執(zhí)行JAVA應(yīng)用時(shí),JVM中的解釋器將解釋類(lèi)文件,生成符合當(dāng)前平臺(tái)的字節(jié)碼。
- ④自動(dòng)回收:JAVA應(yīng)用中的垃圾回收是自動(dòng)進(jìn)行的,JVM中的后臺(tái)線程將監(jiān)視內(nèi)存中數(shù)據(jù)的使用,當(dāng)內(nèi)存中的數(shù)據(jù)不再被引用時(shí),將被作為垃圾回收,而不需要程序員動(dòng)手回收。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java跳臺(tái)階實(shí)現(xiàn)思路和代碼
今天小編就為大家分享一篇關(guān)于Java跳臺(tái)階實(shí)現(xiàn)思路和代碼,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01
MybatisPlus:使用SQL保留字(關(guān)鍵字)的操作
這篇文章主要介紹了MybatisPlus:使用SQL保留字(關(guān)鍵字)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
jstack+jdb命令查看線程及死鎖堆棧信息的實(shí)例
這篇文章主要介紹了jstack+jdb命令查看線程及死鎖堆棧信息的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
SpringBoot 引?MybatisGenerator的實(shí)現(xiàn)步驟
本文主要介紹了SpringBoot 引?MybatisGenerator的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-02-02

