如何理解Java的跨平臺(tái)特性操作
Java的跨平臺(tái)特性
1、java的跨平臺(tái)是指
java在運(yùn)行時(shí)是凌駕于os之上,是在jvm中運(yùn)行的,跟os沒有直接聯(lián)系。
2、java跨平臺(tái)主要是由java的編譯方式?jīng)Q定的
因?yàn)閖ava是通過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ī)),通過虛擬機(jī),可以將我們的原文件轉(zhuǎn)化為機(jī)器最終可以識(shí)別的機(jī)器語言。虛擬機(jī)它其實(shí)是借助電腦本身的設(shè)備及其他功能來實(shí)現(xiàn)的一個(gè)模擬機(jī)器。
4、虛擬機(jī)是怎么樣把我們的原文件變?yōu)闄C(jī)器可識(shí)別語言的呢?
- 首先,我們編寫的源程序(擴(kuò)展名為.java),虛擬機(jī)通過JDK中的“javac.exe”此程序,就可以將我們的源程序轉(zhuǎn)化為Java字解碼程序(擴(kuò)展名為.class)。
- 其次,轉(zhuǎn)化為了自解碼程序后,通過“java.exe”程序,可以將自解碼程序在對(duì)應(yīng)的操作系統(tǒng)下將Java自解碼解釋執(zhí)行。通過操作系統(tǒng),就實(shí)現(xiàn)了機(jī)器可識(shí)別的語言了。
- 值得注意的是,不是所有的系統(tǒng)都能運(yùn)行Java的。因?yàn)槿绻瞬僮飨到y(tǒng)上,沒有安裝Java自解碼程序,那么Java語言在這個(gè)平臺(tái)上是運(yùn)行不了的。
Java跨平臺(tái)性及語言特點(diǎn)
1、請(qǐng)解釋Java語言的跨平臺(tái)特性
解析:雖然不知道什么是跨平臺(tái)也可以使用Java語言進(jìn)行編程,但是對(duì)于一個(gè)Java編程員來說,理解跨平臺(tái)特性能夠更深入掌握J(rèn)ava語言,所以企業(yè)中往往要求應(yīng)聘者至少理解這個(gè)特性。
Java的跨平臺(tái)特性也被稱為可移植性、平臺(tái)無關(guān)性,或者一次編寫處處運(yùn)行。他的意思就是如果用Java語言編寫一個(gè)應(yīng)用,那么就可以在不同平臺(tái)上運(yùn)行,而不需要為不同平臺(tái)單獨(dú)運(yùn)行開發(fā)。之所以能實(shí)現(xiàn)跨平臺(tái)的特性。主要得益于Java虛擬機(jī)(JVM),JVM解釋器在運(yùn)行Java應(yīng)用時(shí)根據(jù)當(dāng)前平臺(tái)進(jìn)行解釋,解釋成符合當(dāng)前平臺(tái)規(guī)范的機(jī)器碼,所以可以實(shí)現(xiàn)同樣的應(yīng)用在不同平臺(tái)上都能運(yùn)行。
2、請(qǐng)列舉JAVA語言的主要特點(diǎn)
了解一門語言,往往從熟悉該語言的主要特點(diǎn)開始入手,所以企業(yè)也常常通過應(yīng)聘者對(duì)JAVA語言特點(diǎn)的掌握程度而判斷其語言基礎(chǔ)是否扎實(shí)。
JAVA語言有很多特點(diǎn),主要包括
- ①跨平臺(tái)性:一個(gè)應(yīng)用可以不經(jīng)過修改直接運(yùn)行到不同的平臺(tái)上。
- ②面向?qū)ο螅篔AVA語言是一門面向?qū)ο蟮恼Z言,可以使用對(duì)象的屬性和行為,可以使用面向?qū)ο蟮乃枷脒M(jìn)行分析設(shè)計(jì),并實(shí)現(xiàn)整個(gè)應(yīng)用。
- ③解釋執(zhí)行JAVA應(yīng)用時(shí),JVM中的解釋器將解釋類文件,生成符合當(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)文章
SpringBoot使用FreeMarker模板發(fā)送郵件
這篇文章主要為大家詳細(xì)介紹了SpringBoot使用FreeMarker模板發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04Java動(dòng)態(tài)調(diào)用類中方法代碼
這篇文章主要介紹了Java動(dòng)態(tài)調(diào)用類中方法代碼,需要的朋友可以參考下2014-02-02詳解Java分布式系統(tǒng)中session一致性問題
這篇文章主要介紹了Java分布式系統(tǒng)中session一致性問題,對(duì)分布式系統(tǒng)感興趣的同學(xué),要仔細(xì)看一下2021-04-04SpringBoot實(shí)現(xiàn)MQTT消息發(fā)送和接收方式
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)MQTT消息發(fā)送和接收方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03Java+swing實(shí)現(xiàn)抖音上的表白程序詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Java?swing實(shí)現(xiàn)抖音上的表白程序,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-06-06淺談SpringBoot之開啟數(shù)據(jù)庫(kù)遷移的FlyWay使用
這篇文章主要介紹了淺談SpringBoot之開啟數(shù)據(jù)庫(kù)遷移的FlyWay使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01最新IntelliJ?IDEA?2022配置?Tomcat?8.5?的詳細(xì)步驟演示
這篇文章主要介紹了IntelliJ?IDEA?2022?詳細(xì)配置?Tomcat?8.5?步驟演示,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08