[java知識點筆記合集]牛客網錯題集
1.Java和C++的區別:
1. Java是解釋型語言,所謂的解釋型語言,就是原始碼會先經過一次編譯,成為中間碼,中間碼再被直譯器解釋成機器碼。對於Java而言,中間碼就是位元組碼(.class),而直譯器在JVM中內建了。
2. C++是編譯型語言,所謂編譯型語言,就是原始碼一次編譯,直接在編譯的過程中連結了,形成了機器碼。
3. C++比Java執行速度快,但是Java可以利用JVM跨平臺。
4. Java是純面向物件的語言,所有程式碼(包括函式、變數)都必須在類中定義。而C++中還有面向過程的東西,比如是全域性變數和全域性函式。
5. C++中有指標,Java中沒有,但是有引用。
6. C++支援多繼承,Java中類都是單繼承的。但是繼承都有傳遞性,同時Java中的介面是多繼承,類對介面的實現也是多實現。
7. C++中,開發需要自己去管理記憶體,但是Java中JVM有自己的GC機制,雖然有自己的GC機制,但是也會出現OOM和記憶體洩漏的問題。C++中有解構函式,Java中Object的finalize方法
8. C++運算子可以過載,但是Java中不可以。同時C++中支援強制自動轉型,Java中不行,會出現ClassCastException(型別不匹配)。
2.下面的類哪些可以處理Unicode字元?
InputStreamReader
BufferedReader
Writer
PipedInputStream
簡單地說,字元流是位元組流根據位元組流所要求的編碼集解析獲得的
可以理解為字元流=位元組流+編碼集
所以本題中和字元流有關的類都擁有操作編碼集(unicode)的能力。
字元流=位元組流+編碼集
位元組流繼承於InputStream OutputStream,字元流繼承於InputStreamReader OutputStreamWriter
3.連結:https://www.nowcoder.com/questionTerminal/779a8f85397b46dcb98e3ccf299f331f
來源:牛客網
下列說法正確的有( )
這道題考察的是字元流跟位元組流的類吧。
字尾是Stream的都是位元組流,其他的都是字元流。
[不定項選擇題]
下列說法正確的有( )
-
環境變數可在編譯source code時指定
-
在編譯程式時,所能指定的環境變數不包括class path
-
javac一次可同時編譯數個Java原始檔
-
javac.exe能指定編譯結果要置於哪個目錄(directory)
- 編譯 多個。java 檔案
連結:https://www.nowcoder.com/questionTerminal/779a8f85397b46dcb98e3ccf299f331f
來源:牛客網
在Java中,環境變數可在編譯source code時指定
在編譯程式時,所能指定的環境變數包括class path
javac一次可同時編譯數個Java原始檔
javac.exe能指定編譯結果要置於哪個目錄(directory)