java相同的代碼 java怎么讓代碼并行

兩段相同JAVA代碼,一段正常運(yùn)行,一段報(bào)錯(cuò)

其實(shí)任何程序都有一個(gè)入口,對(duì)java來(lái)說(shuō)就是你要執(zhí)行的那個(gè)具體類(lèi)必須有一個(gè)main方法,就想你附件中提示的,一個(gè)靜態(tài)共有的main方法。而看你寫(xiě)得的代碼很有意思是定義了一個(gè)stud的類(lèi),這個(gè)類(lèi)有靜態(tài)方法,但居然在這個(gè)類(lèi)之外又直接定義了一個(gè)私有類(lèi)Person。我估計(jì)你那個(gè)編輯器運(yùn)行的時(shí)候隨機(jī)查找類(lèi)的main方法,有時(shí)候認(rèn)為當(dāng)前類(lèi)是Person去運(yùn)行了所以提示Person找不到main方法。很簡(jiǎn)單,你吧Person定義在stud里面或者單獨(dú)寫(xiě)一個(gè)文件定義Person類(lèi)。

創(chuàng)新互聯(lián)建站專(zhuān)注于企業(yè)成都全網(wǎng)營(yíng)銷(xiāo)、網(wǎng)站重做改版、倉(cāng)山網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作、商城開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為倉(cāng)山等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

定義在stud里面你可以這樣寫(xiě)

public class stud{

class Person{

private String name; //聲明姓名屬性

private int age; //聲明年齡屬性

public Person(){ //無(wú)參構(gòu)造

}

public Person(String name,int age){ //取得信息的方法

this(); //在此處調(diào)用Person類(lèi)中的無(wú)參構(gòu)造方法

this.name=name;

this.age=age;

}

public String getInfo(){ return"姓名:"+name+"; 年齡:"+age; } //取得信息

}

public static void main(String[] args){

Person per=new Person("小張",23); //調(diào)用構(gòu)造實(shí)例化對(duì)象

System.out.println(per.getInfo()); //取得信息

}

}

java同樣的代碼 windows下很慢

原因在于java是運(yùn)行在jm虛擬機(jī)里面,屬于解析語(yǔ)言,所以java啟動(dòng)速度和運(yùn)行速度都非常慢。

java的唯一優(yōu)點(diǎn)就是開(kāi)發(fā)比較方便,開(kāi)發(fā)界面程序一般用c++或c#或其它,很少人用java的,java那個(gè)運(yùn)行效率真的太垃圾了,內(nèi)存回收機(jī)制垃圾,程序響應(yīng)慢,體積大就是java的最大缺點(diǎn)。

Java同樣的代碼為什么兩次運(yùn)行結(jié)果不一樣?

這是因?yàn)橥欢未a運(yùn)行的時(shí)間不一樣,所以調(diào)用結(jié)果顯示的就可能會(huì)有差距,時(shí)間短時(shí)可以顯示,時(shí)間長(zhǎng)時(shí)后面的跑在前面了,提前加載了。

java中一樣的代碼,為什么運(yùn)行結(jié)果不一樣?

圖一第11行,for循環(huán)中的i使用的是靜態(tài)成員變量。

圖二第7行,for循環(huán)中的i使用的是局部變量。

靜態(tài)成員變量我個(gè)人理解是類(lèi)的一個(gè)固有屬性,一般只有常量才會(huì)定義成靜態(tài)成員變量,定義為變量就會(huì)發(fā)生圖一的情況:類(lèi)的實(shí)例1和實(shí)例2都操作了靜態(tài)成員變量i,導(dǎo)致實(shí)例2在取i的初始值時(shí),收到了實(shí)例1的影響。

而圖二中因?yàn)閒or循環(huán)使用的是局部變量i,類(lèi)的靜態(tài)成員變量i的值沒(méi)有收到for循環(huán)的影響。至于為啥實(shí)例2的t2.i變成了61,是因?yàn)榈?2行有個(gè)t1.i++的操作,使靜態(tài)成員變量的值加了1。

所以除非是定義常量或者靜態(tài)方法,一般不要使用static修飾符

你還可以試下i去掉static修飾符,運(yùn)行結(jié)果可能又不一樣了

標(biāo)題名稱(chēng):java相同的代碼 java怎么讓代碼并行
文章轉(zhuǎn)載:http://www.muchs.cn/article8/doeopip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)定制開(kāi)發(fā)、面包屑導(dǎo)航電子商務(wù)、虛擬主機(jī)靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司