class
program
;sort
(ary, ary.length);}
static
void
sort
(int
a,int count)
}}
class
program
static
intsort
(int n)
if(n >2)
return sum;
}}
1)減少用new建立物件的次數,在建立物件時會產生記憶體碎片,這樣會造成碎片記憶體不法使用
2)使用公用的物件(靜態成員,常量),但是不能亂用,因為靜態成員和常量的生命週期是整個應用程式。
3)在拼接大量字串時stringbuilder。在使用注意,建立stringbuilder物件時要設定stringbuilder的初始大小如:
stringbuilder sbhtml = new stringbuilder (size);
4)使用object pool(物件池)
參考:原**
class
program
console.
writeline
(count);}
}
矩陣旋轉
優點:旋轉軸可以是任意向量;
缺點:旋轉其實只需要知道乙個向量+乙個角度,一共4個值的資訊,但矩陣法卻使用了16個元素;
而且在做乘法操作時也會增加計算量,造成了空間和時間上的一些浪費;
尤拉旋轉四元數旋轉
優點:可以避免萬向節鎖現象;
只需要乙個4維的四元數就可以執行繞任意過原點的向量的旋轉,方便快捷;
可以提供平滑插值;
缺點:比尤拉旋轉稍微複雜了一點點,因為多了乙個維度,但速度更快速;
理解更困難,不直觀;
參考:原**
點乘:定義:a·b=|a|·|b|cos
unity專案中的應用
①通過點乘,我們可以計算出兩個點之前的前後所屬位置,當a·b>0;角度值在0到90度之間,可想而知及b點在a點的前方,反之a·b<0;角度值在90到180度之間,可想而知b點在a點的後方
②可以根據點乘計算兩個向量之間的夾角;= arccos(a·b / (|a|·|b|))
叉乘:定義:c = a x b,其中a b c均為向量
幾何意義是:得到乙個與這兩個向量都垂直的向量
性質1:c⊥a,c⊥b,即向量c與向量a,b所在平面垂直
性質2:模長|c| = |a||b| sin
unity專案中的應用:
1.根據叉乘得到a,b向量的相對位置,和順時針或逆時針方位。
簡單的說: 點乘判斷角度,叉乘判斷方向。
string類的物件內容不可以改變,所以每當進行字串惡拼接時,總是會在記憶體中建立乙個新的物件,所以經常改變內容的字串
所以最好不要用string,因為每次生成的物件都會對系統產生影響.
stringbuilder又稱為可變字串行,他是乙個類似於string的字串緩衝區,通過某些方法呼叫可以改變改序列的長度的內容,即他是乙個
容器,容器中可以裝很多字串,並且能夠對其中的字串進行各種操作,他的內部擁有乙個陣列用來儲存字串內容,進行字串的拼接時,直接在陣列中加入新的內容stringbuilder會自動維護陣列的擴充套件.
20200705一些位元組面經
位元組新鮮面經 涼經 1.tcp udp協議的頭部資料 源埠號 目的埠號 各2個位元組 序號 4位元組 確認號 4位元組 資料偏移 4位 保留 6位 標誌位 urg 緊急字段 ack 確認 psh 推送 rst 復位 連線錯誤時重建連線 syn 同步 請求連線的訊號 fin 釋放連線的訊號 視窗檢驗...
一些自己面試unity3D 程式設計師的面經
最近開始找工作,杭州上海到處跑,3天面了8家 累成狗 這裡只記錄網上查到的各種常見unity面試題之外的問題,實際面試的時候面試官會根據你的簡歷和你的回答進行刨根問底。熱更原理,關卡劇情新手 等編輯器,xlua底層,記憶體cpu效能優化,shader,ugui底層 與效能優化,專案ui,網路,資源載...
牛客網面經題題目及答案總結 資料庫篇
主要有四個特性,acid,原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durability 索引是用來加快查詢速度的,一般資料庫是使用b 樹來實現的。總體上來說,b 樹在非葉子結點不儲存資料,只在葉子結點儲存。而b樹在葉子結點和非葉子結點都會儲存。...