牛客java專項練習錯題記錄(持續記錄)

在這裏插入圖片描述
A.一個類裏面多個內部類,構造方法名是與和.java文件同名的public類名。內部類也是類,構造方法名和內部類名不同。
B.記住概念,構造方法不返回任何值,也沒有返回類型
C.子類在構造方法裏面調用父類的構造方法時,會在第一行使用“super(參數列表)”顯示調用父類的構造方法。這裏是顯示地直接調用,而且沒有創建新對象。
D.構造方法允許重載。內部類也可以有多個構造方法,而匿名內部類一個構造方法都沒有。(我想到的是我們可以自己寫不同的構造方法)

在這裏插入圖片描述
考察java重載的題目見了很多,有些及其具有迷惑性,所以我總結了一下重載的概念:
(1)方法重載是一個類中定義了多個方法名相同,而他們的參數的數量不同或**數量相同而類型和次序不同,**則稱爲方法的重載(Overloading)。
最常用的地方就是構造器的重載。
(2)無法以返回值類型作爲重載函數的區分標準。2個返回值類型不同而參數相同的方法會報錯,而返回值類型和參數不同的方法不會報錯。
在這裏插入圖片描述
1如果是本類使用,可以直接就用靜態變量名。
2如果是其他類使用,可以使用類名來調用,也可以創建一個實例對象來調用。
3如果靜態變量所在的類是靜態類,那麼不管在本類裏或者在其他外部類,都可以直接使用靜態變量名。

在這裏插入圖片描述
解析:final作爲對象成員存在時,必須初始化;但是,如果不初始化,也可以在類的構造函數中初始化。
我在IDE裏敲了一下,如果是final int i會報錯,如果是static int i則不會,而且默認初始值爲1.

在這裏插入圖片描述
記住所有線程安全的集合:
Vector
Statck
HashTable
ConcurrentHashMap
SynchronizedMap

在這裏插入圖片描述

沒有接觸過這個東西。。。。
解析:
ThreadLocal不是一個線程而是一個線程的本地化對象。當工作於多線程環境中的對象採用ThreadLocal維護變量時,ThreadLocal爲每個使用該變量的線程分配一個獨立的副本。每個線程都可以獨立的改變自己的副本,而不影響其他線程的副本。

在這裏插入圖片描述
其實我對於final關鍵字也不熟。。。寫項目的時候基本沒用到。。。
但是B的#define是C和C++的,一開始我還選了const,後來才意識到它也是C和C++的。。。。

在這裏插入圖片描述
要熟悉異或、與或運算。。。

在這裏插入圖片描述
要熟悉java命令行操作。。。。

在這裏插入圖片描述
在這裏插入圖片描述
複製的解析:
用戶線程(user-level threads)指不需要內核支持而在用戶程序中實現的線程,其不依賴於操作系統核心,應用進程利用線程庫提供創建、同步、調度和管理線程的函數來控制用戶線程。
CMS的GC過程有6個階段(4個併發,2個暫停其它應用程序)

  1. 初次標記(STW initial mark)
  2. 併發標記(Concurrent marking)
  3. 併發可中斷預清理(Concurrent precleaning)
  4. 最終重新標記(STW remark)
  5. 併發清理(Concurrent sweeping)
  6. 併發重置(Concurrent reset)
    在初次標記,重新標誌的時候,要求我們暫停其它應用程序,那麼這兩個階段用戶線程是不會參與的

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章