導航:首頁 > 編程語言 > java中有沒有

java中有沒有

發布時間:2022-05-14 17:10:17

『壹』 java有沒有goto

goto是Java中的保留字,在目前版本的Java中沒有使用。

『貳』 Java 中有沒有直接可以判斷兩個類是否相同的方法

java沒有直接判斷兩個雷是否相同,但提供了如下方法:

1、如果說兩個對象的判斷可以使用 equals,或者 ==。
2、如果判斷對象是否某個類 可以使用 instanceof ,isInstance
3、如果兩個類的比較 可以使用 isAssignableFrom,但只能得到是否是自身或者子類的結果,不能完

如下代碼:

importjava.util.ArrayList;

publicclassceshi{

publicstaticvoidmain(String[]args){

Strings1=newString("javaisland");//測試兩個對象是否相同
System.out.println(s1instanceofString);//true

Strings2=newString("javaisland");//測試是否對象屬於某個類
System.out.println(String.class.isInstance(s2));//true

System.out.println(ArrayList.class.isAssignableFrom(Object.class));//false
System.out.println(Object.class.isAssignableFrom(ArrayList.class));//true
}
}

運行結果如下:

『叄』 java中有沒有goto語句

java確實提供了goto語句,並且它是保留的關鍵字,但是JVM並沒有給它提供任何的實現。或許是java並沒打算放開使用這種機制。

不過,我則會採用特殊手段實現類似goto的功用:

importstaticjava.lang.System.out;

classTest{
publicstaticvoidmain(String[]args)throwsException{
intstep=1;
intsum=0;

loop:
for(;true;){
if(step<=100){
sum+=step;
step++;
continueloop;
}elsebreak;
}

out.println("sum="+sum);
}
}

『肆』 JAVA中有沒有goto關鍵字

goto是關鍵字,不過在java中沒有用到,只是保留關鍵字,在定義變數或類命之類的時候不要用這個

『伍』 JAVA中有沒有類似C語言中sizeof那樣的功能

Java沒有提供任何類似於C語言的sizeof()的操作器。但是java中可以模擬C語言中對sizeof的實現。

實現的想法是這樣的:java.lang.Runtime類中有一些簡單的能涉及到內存管理的函數:

使用這些簡單的內存訪問,可以得到內存的一些情況,通過建立一個大的某個類的數組,來查看內存用了多少,進而可以求得類的大小。


程序代碼示例:

public class Sizeof {

public static void main(String[] args) throws Exception {

// Warm up all classes/methods we will use

runGC();

usedMemory();

// Array to keep strong references to allocated objects

final int count = 100000;

Object[] objects = new Object[count];

long heap1 = 0;

// Allocate count+1 objects, discard the first one

for (int i = -1; i < count; ++i) {

Object object = null;

/* Instantiate your data here and assign it to object*/

//object = new Object ();

//object = new Integer (i);

//object = new Long (i);

//object = new String ();

//object = new Byte( (byte) 0);

//object = new Float( 0.2f);

//object = new Double( 0);

//object = new HelloWorld();

if (i >= 0)

objects[i] = object;

else {

object = null; // Discard the warm up object

runGC();

heap1 = usedMemory(); // Take a before heap snapshot

}

}

runGC();

long heap2 = usedMemory(); // Take an after heap snapshot:

final int size = (int) Math.round(((double) (heap2 - heap1)) / count);

System.out.println("'before' heap: " + heap1

+ ", 'after' heap: " + heap2);

System.out

.println("heap delta: " + (heap2 - heap1) + ", {"

+ objects[0].getClass() + "} size = " + size

+ " bytes");

for (int i = 0; i < count; ++i)

objects[i] = null;

objects = null;

}

private static void runGC() throws Exception {

// It helps to call Runtime.gc()

// using several method calls:

for (int r = 0; r < 4; ++r)

_runGC();

}

private static void _runGC() throws Exception {

long usedMem1 = usedMemory(), usedMem2 = Long.MAX_VALUE;

for (int i = 0; (usedMem1 < usedMem2) && (i < 500); ++i) {

s_runtime.runFinalization();

s_runtime.gc();

Thread.yield();

usedMem2 = usedMem1;

usedMem1 = usedMemory();

}

}

private static long usedMemory() {

return s_runtime.totalMemory() - s_runtime.freeMemory();

}

private static final Runtime s_runtime = Runtime.getRuntime();

} // End of class

需要注意的是上面的一句:Object[] objects = new Object[count];

只是分配了數組空間,沒有分配對象的空間。數組中只有引用而已。

結論:下代碼測試基本對象時,得出的結果象下面:
Object類對象 : 8位元組
Integer類對象 : 16位元組
Long類對象 : 16位元組
Byte類對象 : 16位元組

此示例說明了java中基本類型封裝對象所佔內存的大小。
1.簡單的Object對象要佔用8個位元組的內存空間,因為每個實例都至少必須包含一些最基本操作,比如:wait()/notify(),equals(), hashCode()等。
2.使用Integer對象佔用了16個位元組,而int佔用4個位元組,說了封裝了之後內存消耗大了4倍。
3.Long看起來比Integer對象應該使用更多空間,結果Long所佔的空間也是16個位元組。
那麼就正好說明了JVM的對於基本類型封裝對象的內存分配的規則是如下:
a、Object所佔內存(8個位元組)+最大基本類型(long)所佔內存(8個位元組) = 16位元組。
b、JVM強制使用8個位元組作為邊界。
c、所以所有基本類型封裝對象所佔內存的大小都是16位元組。但是還是有區別,比如:Integer對象雖然佔用了16個位元組的內存,但是只是利用了Object所佔內存(8個位元組)+int所佔內存(4個位元組) = 12位元組。還有4個位元組根本沒有被使用。

『陸』 java中有沒有全局變數

能把你的代碼貼出來嗎?
java里沒有全局變數,但是有成員變數,不過它跟c++里的全局變數很類似

『柒』 java中到底有沒有指針

學過c/c++,然後學Java的人往往心中有此糾結,java中到底有沒有指針?
如果一定要在是或否里選擇一個,OK,java中沒有指針。
那麼,java中的引用(reference)和c/c++中的指針(如無特別說明,後文指針均指c/c++中的指針)究竟有著什麼樣糾葛不清的關系呢?

在開始之前先說一下c/c++的引用,它跟java的引用完全不是一個東西,c/c++的引用是同一塊內存的不同名字。而java的引用是指向一個對象,引用本身也佔用了內存。
首先,列舉一下能對指針進行的一些常見操作:
1、指向一個對象,如 Person *p = new Person….;int *iv = new int….
2、對指針所指的對象進行操作:P->getAge(); (*p).getAge();
3、獲取存儲在指針中的地址值。
4、將指針指向另外一個對象:Person *p1 = new Person…; p = p1; 但,不可以*p = p1這樣來賦值。
5、刪除new的空間,delete p1;
6、其它諸多操作
這么多已經足夠了,接下來看看java引用能做什麼操作。
a、指向一個對象,如Person p = new Person…
b、調用對象的方法,p.getAge();
c、指向另外一個對象,Person p1 = new Person…; p = p1;
OK,就這么多了。
對於a和1,他們的功能是類似的,但java引用無法指向一個基本變數。。
對於b,java引用和指針就不同了,在這點上,Java reference更像是解引用(dereference)了的指針;或者說java中的.操作符某種程度上等價於指針的->操作符,如果是這樣種解釋的話,我們無法再對java的reference解引用了。
對c和4,是類同的。
除此,我們無法獲取java引用存的地址,我們不能delete,還有很多……
綜上,竊以為java的引用可以看成是一個功能受限的指針(或者說被閹割的指針)。另一方面,功能如此受限,它還能叫指針嗎?了解了指針和java引用的區別與聯系,還需要糾結「java中有沒有指針」這個問題嗎!

『捌』 Java中有沒有Http類

問題的關鍵是你要的Http類做什麼?
如果你不管Http類職責是什麼,只是要一個名字就叫Http的類,Java標准類庫是沒有的。
如果你想要
用Java實現基於
Http協議
的功能,簡單的HttpURLConnection類就能夠實現。

閱讀全文

與java中有沒有相關的資料

熱點內容
java聊天窗口 瀏覽:976
單片機控制陣列led燈 瀏覽:577
白鹿用的什麼APP修圖 瀏覽:499
阿里雲輕量應用伺服器ssh無法連接 瀏覽:794
員工福利系統源碼 瀏覽:982
數據加密如何設置 瀏覽:570
php取余運算 瀏覽:153
php如何壓縮圖片大小 瀏覽:137
編程三階教程 瀏覽:983
pdf顏色查看 瀏覽:469
怎麼用指令停用命令方塊java 瀏覽:406
滑鼠命令行 瀏覽:567
如何朗讀pdf 瀏覽:746
壓縮機啟動後繼電器發燙 瀏覽:405
小學編程項目學習 瀏覽:557
net編譯運行原理 瀏覽:786
加密電腦的文件拷出來打不開 瀏覽:366
可達性演算法根 瀏覽:208
ibm的伺服器怎麼安裝系統 瀏覽:492
pdftomobi在線 瀏覽:797