C#一些面試知識題

1.簡述 private、 protected、 public、internal 修飾符的訪問權限
答:
private:私有成員, 在類的內部才可以訪問(只能從其聲明上下文中進行訪問)。
protected:保護成員,該類內部和從該類派生的類中可以訪問。
Friend:友元 ,聲明 friend 元素的程序集中的代碼可以訪問該元素,而不能從程序集外部訪問。
Protected Friend:在派生類或同一程序集內都可以訪問。
public:公共成員,完全公開,沒有訪問限制。
internal:在同一命名空間內可以訪問。(很少用)

2.列舉ASP.NET頁面之間傳遞值的幾種方式
答:
1.使用QueryString,如....?id=1;response. Redirect()....
2.使用Session變量
3.使用Server.Transfer
4.使用Application
5.使用Cache
6使用HttpContext的Item屬性
7.使用文件
8.使用數據庫
9.使用Cookie

3.一列數的規則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數是多少,用遞歸算法實現
答:
public class MainClass 
{  
public static void Main()
{
Console.WriteLine(Foo(30));   
}
public static int Foo(int i)
{
if (i <= 0) return 0;
else if(i > 0 && i <= 2) return 1;
else return Foo(i - 1) + Foo(i - 2);
}
}
4.C#中的委托是什么?事件是不是一種委托?
答:
委托是將一種方法作為參數代入到另一種方法。
是,事件是一種特殊的委托。 //比如:onclick事件中的參數就是一種方法。

5.實現多態的過程中overload 重載與override 重寫的區別
答:
overload 重載是方法的名稱相同,參數或參數類型不同,進行多次重載以適應不同的需要。
Override 是進行基類中函數的重寫,實現多態。

6.請編程實現一個冒泡排序算法?
答:
int [] array = new int [*];
  int temp = 0 ;
  for (int i = 0; i < array.Length - 1; i++){
    for (int j = i + 1 ; j < array.Length ; j++){
      if (array[j] < array[i]){
        temp = array[i] ;
        array[i] = array[j] ;
        array[j] = temp ;       
}    
}  
}
或者
public static void bubble_sort(int[] x)
{
for (int i = 0; i < x.Length; i++)
{
for (int j = i; j < x.Length; j++)
{
if (x[i] < x[j])   //從大到小排序
{
int temp;
temp = x[i];
x[i] = x[j];
x[j] = temp;
}
}
}
}
static void Main(string[] args)
{
int[] huage = { 1, 5, 2, 9, 3, 7, 6,4,8,0};
bubble_sort(huage);
foreach (var a in huage)
{
Console.WriteLine(a );
}
}

7.描述一下C#中索引器的實現過程,是否只能根據數字進行索引
答:
C#通過提供索引器,可以象處理數組一樣處理對象。特別是屬性,每一個元素都以一個get或set方法暴露。索引器不單能索引數字(數組下標),還能索引一些HASHMAP的字符串,所以,通常來說,C#中類的索引器通常只有一個,就是THIS,但也可以有無數個,只要你的參數列表不同就可以了。索引器和返回值無關, 索引器最大的好處是使代碼看上去更自然,更符合實際的思考模式.
微軟官方一個示例:
索引器允許類或結構的實例按照與數組相同的方式進行索引。
索引器類似于屬性,不同之處在于它們的訪問器采用參數。
在下面的示例中,定義了一個泛型類(class SampleCollection<T>),并為其提供了簡單的 get 和 set 訪問器方法(作為分配和檢索值的方法)。Program 類為存儲字符串創建了此類的一個實例。
class SampleCollection<T>
{
private T[] arr = new T[100];
public T this[int i] //注意,定義索引器。this 關鍵字用于定義索引器。
{
get
{
return arr[i]; //訪問器采用參數
}
set
{
arr[i] = value; //訪問器采用參數
}
}
}
// This class shows how client code uses the indexer
class Program
{
static void Main(string[] args)
{
SampleCollection<string> stringCollection = new SampleCollection<string>();
stringCollection[0] = "Hello, World"; //這里 使用索引器進行引用
System.Console.WriteLine(stringCollection[0]);
}
}
索引器使得對象可按照與數組相似的方法進行索引。
get 訪問器返回值。set 訪問器分配值。
this 關鍵字用于定義索引器。
value 關鍵字用于定義由 set 索引器分配的值。
索引器不必根據整數值進行索引,由您決定如何定義特定的查找機制。
索引器可被重載。
索引器可以有多個形參,例如當訪問二維數組時。

8.用.net做B/S結構的系統,您是用幾層結構來開發,每一層之間的關系以及為什么要這樣分層?
答:
使用MVC模式分層
一般為3層:數據訪問層,業務層,表示層。
數據訪問層對數據庫進行增刪查改。
業務層一般分為二層,業務表觀層實現與表示層的溝通,業務規則層實現用戶密碼的安全等。
表示層為了與用戶交互例如用戶添加表單。

9.什么是裝箱和拆箱?
答:
裝箱就是隱式的將一個值型轉換為引用型對象。
拆箱就是將一個引用型對象轉換成任意值型。
比如:
int i=0;
Syste.Object obj=i;
這個過程就是裝箱!就是將 i 裝箱!
比如:
int i=0;
System.Object obj=i;
int j=(int)obj;
這個過程前2句是將 i 裝箱,后一句是將 obj 拆箱!

10.什么是受管制(托管)的代碼?
答:
托管代碼是運行.NET 公共語言運行時CLR的代碼。
unsafe:非托管代碼,不經過CLR運行,程序員自行分配和釋放內存空間。

11.ADO.net中常用的對象有哪些?分別描述一下。
答:
DataSet:數據集。
DataCommand:執行語句命令。
DataAdapter:數據的集合,用語填充。
DataReader:數據只讀器
Connection:數據庫連接對像
Command:數據庫命令

12.什么是Code-Behind技術?
答:代碼后置。

13.在.net中,配件的意思是?
答:程序集。(中間語言,源數據,資源,裝配清單)

14.常用的調用WebService的方法有哪些?
答:
1.使用WSDL.exe命令行工具。
2.使用VS.NET中的Add Web Reference菜單選項

15.在C#中,string str = null 與 string str = “” 請盡量使用文字或圖象說明其中的區別。
答:
string str = null 是不給他分配內存空間,而string str = "" 給它分配長度為空字符串的內存空間。

16.請詳述在C#中類(class)與結構(struct)的異同?
答:
class可以被實例化,屬于引用類型,class可以實現接口和單繼承其他類,還可以作為基類型,是分配在內存的堆上的。
struct屬于值類型,不能作為基類型,但是可以實現接口,是分配在內存的棧上的。

17.寫出一條Sql語句:取出表A中第31到第40記錄(SQLServer,以自動增長的ID作為主鍵,注意:ID可能不是連續的。
答:
解1: select top 10 * from A where id not in (select top 30 id from A)
解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A)

18.GC是什么? 為什么要有GC?
答:
GC是垃圾收集器。程序員不用擔心內存管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可以調用下面的方法之一:
System.gc()
Runtime.getRuntime().gc()

19.String s = new String("xyz");創建了幾個String Object?
答:
兩個對象,一個是“xyx”,一個是指向“xyx”的引用對象s。

20.try {}里有一個return語句,那么緊跟在這個try后的finally {}里的code會不會被執行,什么時候被執行,在return前還是后?
答:
會執行,在return前執行。

21.Set里的元素是不能重復的,那么用什么方法來區分重復與否呢? 是用==還是equals()? 它們有何區別?
答:
Set里的元素是不能重復的,那么用iterator()方法來區分重復與否。equals()是判讀兩個Set是否相等。
equals()和==方法決定引用值是否指向同一對象equals()在類中被覆蓋,為的是當兩個分離的對象的內容和類型相配的話,返回真值。

22.談談final, finally, finalize的區別。
答:
final:修飾符(關鍵字),如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載
finally:在異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那么相匹配的 catch 子句就會執行,然后控制就會進入 finally 塊(如果有的話)。
finalize:方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作。finalize()方法是在垃圾收集器刪除對象之前對這個對象調用的。

23.如何處理幾十萬條并發數據?
答:
用存儲過程或事務。取得最大標識的時候同時更新..注意主鍵不是自增量方式這種方法并發的時候是不會重復主鍵的..取得最大標識要有一個存儲過程來獲取.

24.進程和線程的區別?
答:
進程是系統進行資源分配和調度的單位;線程是CPU調度和分派的單位,一個進程可以有多個線程,這些線程共享這個進程的資源。

25.堆和棧的區別?
答:
棧:由編譯器自動分配、釋放。在函數體中定義的變量通常在棧上。
堆:一般由程序員分配釋放。用new、malloc等分配內存函數分配得到的就是在堆上。

26.成員變量和成員函數前加static的作用?
答:
它們被稱為常成員變量和常成員函數,又稱為類成員變量和類成員函數。分別用來反映類的狀態。比如類成員變量可以用來統計類實例的數量,類成員函數負責這種統計的動作。

27.請指出GAC的含義?
答:全局程序集緩存。

28.DataReader與Dataset有什么區別?

DataReader和DataSet最大的區別在于,DataReader使用時始終占用SqlConnection,在線操作數據庫.任何對SqlConnection的操作都會引發DataReader的異常.因為DataReader每次只在內存中加載一條數據,所以占用的內存是很小的..因為DataReader的特殊性和高性能.所以DataReader是只進的.你讀了第一條后就不能再去讀取第一條了. DataSet則是將數據一次性加載在內存中.拋棄數據庫連接.讀取完畢即放棄數據庫連接.因為DataSet將數據全部加載在內存中.所以比較消耗內存.但是確比DataReader要靈活.可以動態的添加行,列,數據.對數據庫進行回傳更新操作。

29.在c#中using和new這兩個關鍵字有什么意義,請寫出你所知道的意義?using 指令和語句 new 創建實例 new 隱藏基類中方法。
答:
using:引入名稱空間或者使用非托管資源,使用完對象后自動執行實現了IDisposable接口的類的Dispose方法
new:新建實例或者隱藏父類方法

30.什么是虛函數?什么是抽象函數?
答:
虛函數:沒有實現的,可由子類繼承并重寫的函數。Virtual CallSomeOne();
抽象函數:規定其非虛子類必須實現的函數,必須被重寫。public abstract void CallSomeOne();

31.C#中 property 與 attribute的區別,他們各有什么用處,這種機制的好處在哪里?
答:
在C#中有兩個屬性,分別為Property和Attribute,
Property比較簡單,就是我們常用的get和set,主要用于為類中的private和protected變量提供讀取和設置的接口。
Attribute用來說明這個事物的各種特征的一種描述。而Attribute就是干這事的。它允許你將信息與你定義的C#類型相關聯,作為類型的標注。這些信息是任意的,就是說,它不是由語言本身決定的,你可以隨意建立和關聯任何類型的任何信息。你可以作用屬性定義設計時信息和運行時信息,甚至是運行時的行為特征。關鍵在于這些信息不僅可以被用戶取出來作為一種類型的標注,它更可以被編譯器所識別,作為編譯時的一種附屬條件參加程序的編譯。定義屬性:屬性實際上是一個派生自System.Attribute基類的類。System.Attribute類含有幾個用于訪問和檢查自定義屬性的方法。盡管你有權將任何類定義為屬性,但是按照慣例來說,從System.Attribute派生類是有意義的

32.HashMap和Hashtable的區別
答:
HashMap是Hashtable的輕量級實現(非線程安全的實現),他們都完成了Map接口,主要區別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable

33..NET和C#有什么區別
答:
.NET一般指 .NET FrameWork框架,它是一種平臺,一種技術。
C#是一種編程語言,可以基于.NET平臺的應用。

34.啟動一個線程是用run()還是start()?
答:
啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處于可運行狀態,這意味著它可以由JVM調度并執行。這并不意味著線程就會立即運行。
run()方法可以產生必須退出的標志來停止一個線程。

35.數組有沒有length()這個方法? String有沒有length()這個方法?
答:
數組沒有length()這個方法,有length的屬性。String有有length()這個方法。

36.值類型和引用類型的區別?寫出C#的樣例代碼
答:
基于值類型的變量直接包含值。將一個值類型變量賦給另一個值類型變量時,將復制包含的值。這與引用類型變量的賦值不同,引用類型變量的賦值只復制對對象的引用,而不復制對象本身。所有的值類型均隱式派生自 System.ValueType。與引用類型不同,從值類型不可能派生出新的類型。但與引用類型相同的是,結構也可以實現接口。與引用類型不同,值類型不可能包含 null值。然而,可空類型功能允許將 null 賦給值類型。每種值類型均有一個隱式的默認構造函數來初始化該類型的默認值。
值類型主要由兩類組成:結構、枚舉,結構分為以下幾類:Numeric(數值)類型、整型、浮點型、decimal、bool、用戶定義的結構。引用類型的變量又稱為對象,可存儲對實際數據的引用。聲明引用類型的關鍵字:class、interface、delegate、內置引用類型:object、string

37.C#中的接口和類有什么異同。
答:
異:不能直接實例化接口。接口不包含方法的實現。接口、類和結構可從多個接口繼承。但是C# 只支持單繼承:類只能從一個基類繼承實現。類定義可在不同的源文件之間進行拆分。

同:接口、類和結構可從多個接口繼承。接口類似于抽象基類:繼承接口的任何非抽象類型都必須實現接口的所有成員。接口可以包含事件、索引器、方法和屬性。一個類可以實現多個接口。

2、在dotnet中類(class)與結構(struct)的異同?
Class可以被實例化,屬于引用類型,是分配在內存的堆上的。類是引用傳遞的。
Struct屬于值類型,是分配在內存的棧上的。結構體是復制傳遞的。加分的回答:Int32、Boolean等都屬于結構體。
3、屬性和public字段的區別是什么?調用set方法為一個屬性設值,然后用get方法讀取出來的值一定是set進去的值嗎?
屬性可以對設值、取值的過程進行非法值控制,比如年齡禁止設值負數,而字段則不能進行這樣的設置。雖然一般情況下get讀取的值就是set設置的值,但是可以讓get讀取的值不是set設置的值的,極端的例子。Public Age{get{return 100;}set{}}。加分的補充回答:用reflector反編譯可以看出,屬性內部本質上就是set_***、get_***方法,
4、使用構造方法能解決:
1)在賦初值時,重復的書寫對象名
2)假如我們有一個屬性,不允許用戶隨意改動.我們一般把這個屬性定義為只讀類型的屬性.
那么這個只讀類型的屬性就不能在實例化后對他賦值了,那么我們如何對他初始化呢?我們
可以通過構造方來進行初始化.

我們定義好一個類,如果沒有寫構造方法,那么編譯器就會自動在這個類中給我們添加一個沒
有參數的構造方法.
一旦我們寫了一個構造方法,那么編譯器就不會再給我們添加這個沒有參數構造方法了.
5、不能在結構中定義析構函數。只能對類使用析構函數。
一個類只能有一個析構函數。
無法繼承或重載析構函數。
無法調用析構函數。它們是被自動調用的。
析構函數既沒有修飾符,也沒有參數。
6、using關鍵字有什么用?什么是IDisposable?
using可以聲明namespace的引入,還可以實現非托管資源的釋放,實現了IDisposiable的類在using中創建,using結束后會自動調用該對象的Dispose方法,釋放資源。加分的補充回答:using其實等價于try……finally,用起來更方便。
7、string str = null 與 string str = “”說明其中的區別。
答:string str = null 是不給他分配內存空間,而string str = \“\” 給它分配長度為空字符串的內存空間。 string str = null沒有string對象,string str = “”有一個字符串對象。
8、誰說字符串不可變?string s = "abc";s="123",s這不是變了嗎
要區分變量名和變量指向的值的區別。程序中可以有很多字符串,然后由字符串變量指向他們,變量可以指向其他的字符串,但是字符串本身沒有變化。字符串不可變性指的是內存中的字符串不可變,而不是變量不變。
string s10 = s1;//s10指向s1指向的字符串,而不是s10指向s1,哪怕s1以后指向了其他內存,那么s10還是指向"hello"
9、字符串替換:string Replace(string oldValue, string newValue)將字符串中的出現oldValue的地方替換為newValue。例子:名字替換。
取子字符串:string Substring(int startIndex),取從位置startIndex開始一直到最后的子字符串;
string Substring(int startIndex, int length),取從位置startIndex開始長度為length的子字符串,如果子字符串的長度不足length則報錯。
bool Contains(string value)判斷字符串中是否含有子串value
bool StartsWith(string value)判斷字符串是否以子串value開始;
bool EndsWith (string value)判斷字符串是否以子串value結束;
int IndexOf(string value):取子串value第一次出現的位置。
LastIndexof
Trim()
TrimEnd()
TrimStrat()
IsNullOrEmpty()
string.Join()
Int IndexOf(string value,int startIndex)
Containts
remove
10、StringBuilder 和 String 的區別?(*)
答:String 在進行運算時(如賦值、拼接等)會產生一個新的實例,而 StringBuilder?則不會。所以在大量字符串拼接或頻繁對某一字符串進行操作時最好使用 StringBuilder,不要使用 String
?如果要操作一個不斷增長的字符串,盡量不用String類,改用StringBuilder類。兩個類的工作原理不同:String類是一種傳統的修改字符串的方式,它確實可以完成把一個字符串添加到另一個字符串上的工作沒錯,但是在.NET框架下,這個操作實在是劃不來。因為系統先是把兩個字符串寫入內存,接著刪除原來的String對象,然后創建一個String對象,并讀取內存中的數據賦給該對象。這一來二去的,耗了不少時間。而使用System.Text命名空間下面的StringBuilder類就不是這樣了,它提供的Append方法,能夠在已有對象的原地進行字符串的修改,簡單而且直接。當然,一般情況下覺察不到這二者效率的差異,但如果你要對某個字符串進行大量的添加操作,那么StringBuilder類所耗費的時間和String類簡直不是一個數量級的。
10、堆和棧的區別
棧是編譯期間就分配好的內存空間,因此你的代碼中必須就棧的大小有明確的定義;局部值類型變量、值類型參數等都在棧內存中。
堆是程序運行期間動態分配的內存空間,你可以根據程序的運行情況確定要分配的堆內存的大小。
11、值類型和引用類型的區別
1.將一個值類型變量賦給另一個值類型變量時,將復制包含的值。引用類型變量的賦值只復制對對象的引用,而不復制對象本身。
2.值類型不可能派生出新的類型:所有的值類型均隱式派生自 System.ValueType。但與引用類型相同的是,結構也可以實現接口。
3.值類型不可能包含 null 值:
4.每種值類型均有一個隱式的默認構造函數來初始化該類型的默認值。
(然而,可空類型功能允許將 null 賦給值類型。

12、虛方法與重寫
1、方法不能用static修飾
2、方法重寫與基類的簽名必須一致
3、virtual不能與private一起使用
4.虛方法為什么不能加static因為 虛方法是父類,加static,那么就是類調用這個方法,和對象無關了,那子類就調不了,
base.Fun();的目的主要是添加邏輯

常見虛方法:
Equal()
ToString()
GetHashCode()
13、override與重載(overload)的區別
重載是方法的名稱相同。參數或參數類型不同,進行多次重載以適應不同的需要。重載(overload)是面向過程的概念。
Override 是進行基類中函數的重寫。Override是面向對象的概念
14、C#中的接口和類有什么異同。
不同點:
不能直接實例化接口。
接口不包含方法的實現。
接口可以多繼承,類只能單繼承。
類定義可在不同的源文件之間進行拆分。
相同點:
接口、類和結構都可以從多個接口繼承。
接口類似于抽象基類:繼承接口的任何非抽象類型都必須實現接口的所有成員。
接口和類都可以包含事件、索引器、方法和屬性。
C#支持多重繼承么?
類之間不支持,接口之間支持。類對接口叫做實現,不叫繼承。 類是爹、接口是能力,能有多個能力,但不能有多個爹。
15、abstract class和interface有什么區別?
相同點:
都不能被直接實例化,都可以通過繼承實現其抽象方法。
不同點:
接口支持多繼承;抽象類不能實現多繼承。
接口只能定義行為;抽象類既可以定義行為,還可能提供實現。
接口可以用于支持回調(CallBack);抽象類不能實現回調,因為繼承不支持。
接口只包含方法(Method)、屬性(Property)、索引器(Index)、事件(Event)的簽名,但不能定義字段和包含實現的方法;
抽象類可以定義字段、屬性、包含有實現的方法。
接口可以作用于值類型(Struct)和引用類型(Class);抽象類只能作用于引用類型。例如,Struct就可以繼承接口,而不能繼承類。
加分的補充回答:講設計模式的時候SettingsProvider的例子。
16、裝箱與拆箱(*)
將值類型“賦值”給引用類型
對于值類型中的引用成員,保留原數據
效率問題
17、 什么時候用虛方法來實現多態?
什么使用用抽象類來實現多態?
什么時候用接口來實現多態?
多態:

1、“一個接口,多種方法”

同一操作作用于不同的對象,可以有不同的解釋,產生不同的執行結果。

? 多態的三個條件:

a. ? ?繼承的存在(繼承是多態的基礎,沒有繼承就沒有多態).
b. ? ?子類重寫父類的方法(多態下調用子類重寫的方法).
c. ? ?父類引用變量指向子類對象(子類到父類的類型轉換).

重載(overload)和重寫(override)是實現多態的兩種主要方式。

? 2、實現多態:

接口多態性。
繼承多態性。
通過抽象類實現的多態性。
18、所謂SQL注入,就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。具體來說,它是利用現有應用程序,將(惡意的)SQL命令注入到后臺數據庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。比如先前的很多影視網站泄露VIP會員密碼大多就是通過WEB表單遞交查詢字符暴出的,這類表單特別容易受到SQL注入式攻擊.

?

轉載于:https://www.cnblogs.com/hudean/p/11063197.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247739.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247739.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247739.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue加載時閃現模板語法-處理方法

問題&#xff1a;使用VUE時&#xff0c;頁面加載瞬間&#xff0c;會閃現模板語法&#xff0c;例如{{ item.name }}等 解決辦法&#xff1a; 1、可以通過VUE內置的指令v-cloak解決這個問題&#xff08;推薦&#xff09; 具體實現&#xff1a; <ul v-cloak v-for"ite…

java數組 —(8)

1.數組的創建與元素賦值&#xff1a; 楊輝三角&#xff08;二維數組&#xff09;、回形數&#xff08;二維數組&#xff09;、6個數&#xff0c;1-30之間隨機生成且不重復。 2.針對于數值型的數組&#xff1a; 最大值、最小值、總和、平均數等 3.數組的賦值與復制 int[] a…

idea啟動tomcat時報錯:Error during artifact deployment. See server log for details.

Error during artifact deployment. See server log for details. 這個很多人都找不出來&#xff0c;原因無非2個&#xff1a; 一、jar 包有有些沒能識別&#xff0c;tomcat沒有配置好&#xff01; 二、這個一般代碼錯了&#xff1a; 除了看 server 的報錯&#xff0c;別忘了看…

java運算符 —(9)

1.理解&#xff1a; ① 定義在java.util包下。 ② Arrays:提供了很多操作數組的方法。 2.使用&#xff1a; //1.boolean equals(int[] a,int[] b):判斷兩個數組是否相等。int[] arr1 new int[]{1,2,3,4};int[] arr2 new int[]{1,3,2,4};boolean isEquals Arrays.equals(a…

css 三角角標樣式

.sanjiao {width: 0px;height: 0px;overflow: hidden;border-width: 100px;border-color: red transparent transparent transparent; border-style: solid dashed dashed dashed; }

leetcode 279 四平方定理

可以用四平方和定理&#xff1a;任意一個正整數都可以表示為4個以內整數的平方和。 如果一個數含有因子4&#xff0c;那么我們可以把4都去掉&#xff0c;并不影響結果。比如&#xff1a;8去掉4&#xff0c;12去掉3&#xff0c;返回的結果都相同。 如果一個數除以8余7&#xff0…

java類與對象 —(10)

1.面向對象學習的三條主線&#xff1a; 1.Java類及類的成員&#xff1a;屬性、方法、構造器&#xff1b;代碼塊、內部類2.面向對象的大特征&#xff1a;封裝性、繼承性、多態性、(抽象性)3.其它關鍵字&#xff1a;this、super、static、final、abstract、interface、package、…

RESTful API 編寫規范

基于一些不錯的RESTful開發組件&#xff0c;可以快速的開發出不錯的RESTful API&#xff0c;但如果不了解開發規范的、健壯的RESTful API的基本面&#xff0c;即便優秀的RESTful開發組件擺在面前&#xff0c;也無法很好的理解和使用。下文Gevin結合自己的實踐經驗&#xff0c;整…

Python2與Python3的區別

Python2與Python3的區別 1) 核心類差異 Python3 對 Unicode 字符的原生支持。 Python2 中使用 ASCII 碼作為默認編碼方式導致 string 有兩種類型 str 和 unicode&#xff0c;Python3 只 支持 unicode 的 string。Python2 和 Python3 字節和字符對應關系為&#xff1a; python2p…

JavaScript-內存空間

深入了解js這門語言后&#xff0c;才發現它有著諸多眾所周知的難點&#xff08;例如&#xff1a;閉包、原型鏈、內存空間等&#xff09;。有的是因為js的設計缺陷導致的&#xff0c;而有的則是js的優點。不管如何&#xff0c;總需要去學會它們&#xff0c;在學習過程中我覺得只…

java類的結構1: 屬性 —(11)

類的設計中&#xff0c;兩個重要結構之一&#xff1a;屬性 對比&#xff1a;屬性 vs 局部變量 1.相同點&#xff1a; 1.1 定義變量的格式&#xff1a;數據類型 變量名 變量值1.2 先聲明&#xff0c;后使用1.3 變量都其對應的作用域 2.不同點&#xff1a; 2.1 在類中聲明的…

GXU - 7D - 區間求和 - 前綴和

https://oj.gxu.edu.cn/contest/7/problem/D 描述 有一個所有元素皆為0的數組A&#xff0c;有兩種操作&#xff1a; 1 l r x表示將A區間[l,r]內所有數加上x&#xff1b; 2 l r表示將A區間[l,r]內從左往右數第i個數加上i&#xff1b; 給出m個操作&#xff0c;請輸出操作結束后A中…

javascript-排序算法

插入排序 算法描述&#xff1a; 1. 從第一個元素開始&#xff0c;該元素可以認為已經被排序 2. 取出下一個元素&#xff0c;在已經排序的元素序列中從后向前掃描 3. 如果該元素&#xff08;已排序&#xff09;大于新元素&#xff0c;將該元素移到下一位置 4. 重復步驟 3&am…

DPDK并行計算

參考文獻&#xff1a; 《深入淺出DPDK》 https://www.cnblogs.com/LubinLew/p/cpu_affinity.html ...................................................................... 前言&#xff1a; 處理器提高性能主要是通過兩個途徑&#xff0c;一個是提高IPC&#xff08;CPU每一時…

Highcharts圖表-ajax-獲取json數據生成圖表

重點說明此代碼是針對一個報表顯示多個項對比顯示。 直接貼代碼&#xff1a;web端 <script type"text/JavaScript" src"js/jQuery/jquery-1.7.2.js"></script> <script type"text/javascript" src"j…

關于RGBDSLAMV2學習、安裝、調試過程

Step&#xff11;&#xff1a;https://github.com/felixendres/rgbdslam_v2/wiki/Instructions-for-Compiling-Rgbdslam-(V2)-on-a-Fresh-Ubuntu-16.04-Install-(Ros-Kinetic)-in-Virtualbox 照著這個instructions安裝好 rgbdslamv2&#xff0c;并且在安裝的過程中&#xff0c;…

Java—List的用法與實例詳解

List特點和常用方法 List是有序、可重復的容器。 有序指的是&#xff1a;List中每個元素都有索引標記。可以根據元素的索引標記&#xff08;在List中的位置&#xff09;訪問元素&#xff0c;從而精確控制這些元素。 可重復指的是&#xff1a;List允許加入重復的元素。更確切地講…

Java—遍歷集合的N種方式總結Collections工具類

遍歷集合的N種方式總結 【示例1】遍歷List方法1&#xff0c;使用普通for循環 for(int i0;i<list.size();i){ //list為集合的對象名 String temp (String)list.get(i); System.out.println(temp); } 【示例2】遍歷List方法2&#xff0c;使用增強for循環(使用泛型定義…

java類的結構2: 方法—(12)

面向對象的特征一&#xff1a;封裝與隱藏 1.為什么要引入封裝性&#xff1f; 我們程序設計追求“高內聚&#xff0c;低耦合”。 高內聚 &#xff1a;類的內部數據操作細節自己完成&#xff0c;不允許外部干涉&#xff1b; 低耦合 &#xff1a;僅對外暴露少量的方法用于使用。…

Docker 環境下部署 redash

環境&#xff1a; centos7 官網&#xff1a;https://redash.io/help/open-source/dev-guide/docker 一、安裝步驟 1、虛擬機安裝 安裝vmware&#xff0c;并安裝centos7 2、安裝docker docker安裝手冊 3、安裝nodejs centos下安裝Nodejs 4、redash安裝 1)、clone git repostory …