牛客習題總結11

在這裏插入圖片描述

1.只能以字母開頭
2、java的變量名有三種元素構成:數字+字符+$+下劃線。
3、java對這三種元素的順序也是有要求的:不能以數字開頭+不能是關鍵字.
4、A中錯在以數字開頭、B中錯在有空格、C中錯在有*.
在這裏插入圖片描述
在這裏插入圖片描述
爲什麼我們調用start()方法時會執行run()方法?
因爲類Thread中的start方法中,調用了Thread中的run方法。順便說下,類A繼承了Tread類,在A中寫run方法,就會覆蓋掉Thread中的run方法,所以此時調用start方法後,實現的是自己的run方法體裏面的代碼。
爲什麼我們不能直接調用run()方法?
如果我們直接調用子線程的run()方法,其方法還是運行在主線程中,代碼在程序中是順序執行的,所以不會有解決耗時操作的問題。所以不能直接調用線程的run()方法,只有子線程開始了,纔會有異步的效果。當thread.start()方法執行了以後,子線程纔會執行run()方法,這樣的效果和在主線程中直接調用run()方法的效果是截然不同的。
start( )與run( )之間有什麼區別?
run()方法:在本線程內調用該Runnable對象的run()方法,可以重複多次調用;
start()方法:啓動一個線程,調用該Runnable對象的run()方法,不能多次啓動一個線程

原文鏈接:https://blog.csdn.net/dashuai410329/article/details/78522959
在這裏插入圖片描述

A.LinkedList是繼承自AbstractSequentialList(抽象類,實現了List接口)的,並且實現了List接口。所以A錯誤。
B.AbstractSet是實現了Set接口的,本身是一個抽象類。繼承自AbstractCollection(抽象類,實現了Collection接口)。所以B錯誤。
C.HashSet是繼承自AbstractSet,實現了Set接口。所以C正確。
D.WeakMap不存在於java集合框架的。只有一個叫做WeakHashMap(繼承自AbstractMap)。
最後附上java集合框架圖。
在這裏插入圖片描述
ArrayList list=new ArrayList();
這種是默認創建大小爲10的數組,每次擴容大小爲1.5倍
ArrayList list=new ArrayList(20);
使用的ArrayList的有參構造函數
這種是指定數組大小的創建,創建時直接分配其大小,沒有擴充。
一次性爲創建了傳入的數字的長度的數組
所以,擴充爲0次
在這裏插入圖片描述
A:CopyOnWrite適用於讀多寫少的併發場景

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