日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
輕松實(shí)現(xiàn)Java程序在Linux系統(tǒng)上的運(yùn)行(linux運(yùn)行java程序)

Java是一種跨平臺(tái)的編程語言,可以在不同的操作系統(tǒng)上運(yùn)行。尤其是在Linux系統(tǒng)上,Java的應(yīng)用越來越廣泛。這篇文章將介紹如何在Linux系統(tǒng)上輕松實(shí)現(xiàn)Java程序的運(yùn)行。

一、安裝Java環(huán)境

在Linux系統(tǒng)上運(yùn)行Java程序,首先需要安裝Java環(huán)境。可以到Oracle官網(wǎng)下載Java開發(fā)工具包(JDK),并按照說明安裝?;蛘呖梢允褂孟到y(tǒng)自帶的包管理器安裝OpenJDK,命令如下:

sudo apt-get install openjdk-8-jdk

安裝完成后,使用以下命令驗(yàn)證Java是否已正確安裝:

java -version

如果安裝成功,將顯示Java的版本信息。

二、編寫Java程序

在Linux系統(tǒng)中編寫Java程序,可以使用任何文本編輯器,如Vim、Emacs、Sublime等。以下是一個(gè)簡單的Java程序示例:

public class HelloWorld {

public static void mn(String[] args) {

System.out.println(“Hello World!”);

}

}

將程序保存為HelloWorld.java,注意文件名要與類名相同。

三、編譯Java程序

Java程序需要先編譯成字節(jié)碼才能在Java虛擬機(jī)(JVM)上運(yùn)行。在Linux系統(tǒng)上,使用以下命令編譯Java程序:

javac HelloWorld.java

如果沒有報(bào)錯(cuò),將生成一個(gè)HelloWorld.class文件。此時(shí)Java程序已編譯完成。

四、運(yùn)行Java程序

在Linux系統(tǒng)上運(yùn)行Java程序,需要在命令行中輸入以下命令:

java HelloWorld

如果一切正常,將在屏幕上看到“Hello World!”的輸出。

如果程序還需要其它參數(shù),可以在命令行中輸入:

java HelloWorld arg1 arg2 …

arg1、arg2等為程序需要的參數(shù)。

五、打包Java程序

Java程序也可以打包成JAR(Java Archive)文件,這樣可以方便地在不同的機(jī)器上運(yùn)行。在Linux系統(tǒng)上,使用以下命令打包Java程序:

jar cvf HelloWorld.jar HelloWorld.class

其中,cvf為選項(xiàng),表示創(chuàng)建并添加文件到JAR包。

六、運(yùn)行JAR文件

使用以下命令在Linux系統(tǒng)上運(yùn)行JAR文件:

java -jar HelloWorld.jar

如果一切正常,將在屏幕上看到“Hello World!”的輸出。

七、設(shè)置CLASSPATH

在運(yùn)行Java程序時(shí),如果程序需要引用其它的類,可以使用CLASSPATH變量來指定類路徑。在Linux系統(tǒng)中,使用以下命令設(shè)置CLASSPATH:

export CLASSPATH=path/to/class

其中,path/to/class為類路徑。也可以使用絕對路徑,如:

export CLASSPATH=/home/user/workspace/myproject/bin

以上是在臨時(shí)會(huì)話中設(shè)置CLASSPATH。如果需要永久設(shè)定CLASSPATH,可以在用戶的.bashrc文件中添加上述命令。

八、Linux系統(tǒng)的Java日志

在Linux系統(tǒng)中,Java程序的日志信息通常保存在/usr/java/latest/目錄下。可以使用以下命令查看Java日志:

tl -f /usr/java/latest/jre/lib/logging.properties

以上命令可以實(shí)時(shí)查看Java日志輸出。

Java程序在Linux系統(tǒng)上的運(yùn)行需要安裝Java環(huán)境,并完成編譯、打包等步驟。本文介紹了在Linux系統(tǒng)中運(yùn)行Java程序的基本方法,希望可以對初學(xué)者有所幫助。

相關(guān)問題拓展閱讀:

  • Java程序在linux系統(tǒng)下運(yùn)行,為什么會(huì)占用很多虛擬內(nèi)存
  • 誰會(huì)寫在linux服務(wù)器上運(yùn)行java程序的運(yùn)行腳本

Java程序在linux系統(tǒng)下運(yùn)行,為什么會(huì)占用很多虛擬內(nèi)存

RSS列 表示, 程序占用了多少物理內(nèi)存。 虛擬內(nèi)存可以不用考慮,它并不占用實(shí)際物理內(nèi)存。 (2). top 命令也可以 其中VIRT(或VSS)列 表示,程序占用了多少虛擬內(nèi)存。 同 ps aux 中的 VSZ列 RES列 表示, 程序占用了多少物理內(nèi)存。同 ps aux 中的RSS列 2.在linux下, 查看當(dāng)前系統(tǒng)占用了多少內(nèi)存, 一般的命令是 free其中, free就是系統(tǒng)還有多少內(nèi)存可以使用。但由于 linux 系統(tǒng)對內(nèi)存使用有一個(gè)原則, 就是, 內(nèi)存是寶貴的, 能使用多少就使用多少。 所以, linux會(huì)把已經(jīng)調(diào)用過的包緩存起來,放在內(nèi)存里。這樣,實(shí)際上,可以使用的內(nèi)存,就可以理解為, free+buffers+cached3.當(dāng)你了解完這些命令以后, 再去使用ps aux 命令去查看的時(shí)候, 會(huì)發(fā)現(xiàn)一個(gè)奇怪的現(xiàn)象。 所有的 RSS 列的數(shù)據(jù),加起來, 比物理內(nèi)存的數(shù)要大很多。 比如, 物理內(nèi)存為2G, 而RSS列的數(shù)據(jù)加起來,可能有5個(gè)G之多, 這是怎么回事了? 這是因?yàn)镽SS列的值騙了我們。 linux的內(nèi)存機(jī)制是這樣的: 在運(yùn)行一個(gè)程序時(shí), linux會(huì)調(diào)用該程序依賴的鏈接庫, 如lib.xx.so。 首先看該鏈接庫是否被映射進(jìn)內(nèi)存中,如果沒有被映射,則將代碼段與數(shù)據(jù)段映射到內(nèi)存中,否則只是將其加入進(jìn)程的地址空間。 這樣,當(dāng)N個(gè)程序,依賴到lib.xx.so的時(shí)候, 實(shí)際上,內(nèi)存中只有一個(gè)lib.xx.so ,而不是N個(gè)。 而RSS在顯示一個(gè)程序占用的實(shí)際物理內(nèi)存時(shí), 將lib.xx.so也算了進(jìn)來。 比如, X程序, 本身占用內(nèi)存為5M, lib.xx.so 占用內(nèi)存2M,lib.xx.so被N個(gè)程序共享依賴。 則RSS顯示為,X程序運(yùn)行,占用內(nèi)存為7M。 實(shí)際上, X程序占用了5M空間。 多余的2m被討入到RSS中了。 當(dāng)你在用ps aux顯示內(nèi)存占用情況時(shí), N個(gè)共享依賴lib.xx.so的N個(gè)程序,都把這2m空間,算在自己的RSS中了, 這樣RSS的sum值,就比實(shí)際物理內(nèi)存多了。 當(dāng)然, linux的內(nèi)存使用機(jī)制很復(fù)雜, 不是一句兩句能說清楚的。這里只是簡單的絕神說明了一下, ps aux中的RSS值, 并不能真實(shí)反映物理內(nèi)存的使用情況。 4. 如果查看更詳細(xì)的內(nèi)存使用情況, 可用以下幾種方法, 或者幾種方法結(jié)合使用:這幾種方法,都需要root賬戶的權(quán)限(1). pmap -d $pid $pid 是正在運(yùn)行的程序的pid(2). cat /proc/$pid/aps aps的數(shù)據(jù)比較詳細(xì),可簡單的歸納一下,歸納的命令如下: cat /proc/$pid/aps awk ‘/SizeRssPssSharedPrivateReferencedSwap/{val_name=gensub(/(*).*/,”\\1″,1,$1); list+=$2; }END{for(val in list)print val,list;}’ (3). cat /proc/鬧羨$pid/maps(4). cat /proc/$pid/statm輸出解釋之一列 size:任務(wù)虛擬地址空間大小 第二列 Resident:正在使用的物理內(nèi)存大小 第三列 Shared:共享頁數(shù) 第四列 Trs:程序所擁有的可執(zhí)行虛擬內(nèi)存大小 第五列 Lrs:被映像倒任務(wù)的虛擬內(nèi)存空間的庫的大小 第六列 Drs:程序數(shù)據(jù)段和用戶態(tài)的棧的大小 第七列 dt:臟頁數(shù)量(5). vmstat這個(gè)命令據(jù)說也可以提供一些參考信息,具體還液宏拍未研究 5.作為phper,嘗試過使用php的函數(shù)memory_get_usage(), 該函數(shù)也不能得到php當(dāng)前運(yùn)行的程序,實(shí)際的,真正占用的內(nèi)存數(shù)量。 如果真想得到,php真正占用的內(nèi)存, 大概只能在, 程序運(yùn)行的開始,執(zhí)行一次memory_get_usage(). 在程序運(yùn)行結(jié)束,執(zhí)行一次memory_get_usage()。 將兩者的值相減,得到的值, 應(yīng)該是一個(gè)相對比較準(zhǔn)確的,內(nèi)存占用數(shù)量了。 這個(gè)方法還沒有測試, 考慮到, 得到這個(gè)數(shù)量,也沒有實(shí)際意義, 加上平時(shí)又比較忙,懶得試了。

誰會(huì)寫在linux服務(wù)器上運(yùn)行java程序的運(yùn)行腳本

你是要單次運(yùn)行還是不掛斷在后臺(tái)運(yùn)行?單次直接java -jar xxx.jar 就可以了,不掛斷的話,可以編寫一個(gè)shell腳本,start.sh 內(nèi)容如下

#!/bin/sh

nohup java -jar -XX:PermSize=64m -XX:MaxPermSize=128m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:SurvivorRatio=8 xxx.jar>/dev/null 2>&1 &

具體的參數(shù)你自己把握,然后保存,給這個(gè)腳本賦于可執(zhí)行權(quán)限,chmod +x start.sh

然后執(zhí)行這個(gè)腳本,野首sh start.sh ,然后查看一下java進(jìn)頌型數(shù)程,看這個(gè)租消服務(wù)起來沒有,jps

linux 運(yùn)行java程序的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux 運(yùn)行java程序,輕松實(shí)現(xiàn)Java程序在Linux系統(tǒng)上的運(yùn)行,Java程序在linux系統(tǒng)下運(yùn)行,為什么會(huì)占用很多虛擬內(nèi)存,誰會(huì)寫在linux服務(wù)器上運(yùn)行java程序的運(yùn)行腳本的信息別忘了在本站進(jìn)行查找喔。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


本文名稱:輕松實(shí)現(xiàn)Java程序在Linux系統(tǒng)上的運(yùn)行(linux運(yùn)行java程序)
鏈接URL:http://www.5511xx.com/article/cojgici.html