java代碼優(yōu)化面試題 java代碼優(yōu)化技巧

java算法面試題

三個for循環(huán),第一個和第二個有啥區(qū)別?去掉一個吧

公司專注于為企業(yè)提供網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、微信公眾號開發(fā)、商城網(wǎng)站建設(shè),小程序定制開發(fā),軟件定制網(wǎng)站制作等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。憑借多年豐富的經(jīng)驗,我們會仔細了解各客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù)。

可以用迭代器remove方法,在移除的同時添加。

不知道是你記錯了還是題本身就這樣,我只想說:

寫這代碼的是二貨么?

1、每個循環(huán)的索引都是從0開始,這是什么遍歷方式?

2、看這題的目的是想把用戶添加到相應(yīng)的組里,這我就不明白了,新建一個用戶的時候就沒分配組么?那用戶的GroupId哪來的?

3、這是一個dao操作,難道就不會根據(jù)GroupId直接查出用戶或者組么?

這哪是優(yōu)化代碼?分明是挖坑。

java基礎(chǔ)面試題有哪些?

下面是10道java基礎(chǔ)面試題,后附答案

1.什么是 Java 虛擬機?為什么 Java 被稱作是“平臺無關(guān)的編程語言”?

Java 虛擬機是一個可以執(zhí)行 Java 字節(jié)碼的虛擬機進程。Java 源文件被編譯成能被 Java 虛擬機執(zhí)行的字節(jié)碼文件。

Java 被設(shè)計成允許應(yīng)用程序可以運行在任意的平臺,而不需要程序員為每一個平臺單獨重寫或者是重新編譯。Java 虛擬機讓這個變?yōu)榭赡?,因為它知道底層硬件平臺的指令長度和其他特性。

2.“static”關(guān)鍵字是什么意思?Java 中是否可以覆蓋(override)一個 private 或者是static 的方法?

“static”關(guān)鍵字表明一個成員變量或者是成員方法可以在沒有所屬的類的實例變量的情況下被訪問。

Java 中 static 方法不能被覆蓋,因為方法覆蓋是基于運行時動態(tài)綁定的,而 static 方法是編譯時靜態(tài)綁定的。static 方法跟類的任何實例都不相關(guān),所以概念上不適用。

3.JDK 和 JRE 的區(qū)別是什么?

Java 運行時環(huán)境(JRE)是將要執(zhí)行 Java 程序的 Java 虛擬機。它同時也包含了執(zhí)行 applet 需要的瀏覽器插件。Java 開發(fā)工具包 (JDK)是完整的 Java 軟件開發(fā)包,包含了 JRE,編譯器和其他的工具(比如:JavaDoc,Java 調(diào)試器),可以讓開發(fā)者開發(fā)、編譯、執(zhí)行 Java 應(yīng)用程序。

4.是否可以在 static 環(huán)境中訪問非 static 變量?

static 變量在 Java 中是屬于類的,它在所有的實例中的值是一樣的。當(dāng)類被 Java 虛擬機載入的時候,會對 static 變量進行初始化。如果你的代碼嘗試不用實例來訪問非 static 的變量,編譯器會報錯,因為這些變量還沒有被創(chuàng)建出來,還沒有跟任何實例關(guān)聯(lián)上。

5.Java 支持的數(shù)據(jù)類型有哪些?什么是自動拆裝箱?

Java 語言支持的 8 中基本數(shù)據(jù)類型是:

?byte

?short

?int

?long

?float

?double

?boolean

?char

自動裝箱是 Java 編譯器在基本數(shù)據(jù)類型和對應(yīng)的對象包裝類型之間做的一個轉(zhuǎn)化。比如:把 int 轉(zhuǎn)化成 Integer,double 轉(zhuǎn)化成 double,等等。反之就是自動拆箱。

6.Java 支持多繼承么?

不支持,Java 不支持多繼承。每個類都只能繼承一個類,但是可以實現(xiàn)多個接口。

7.Java 中,什么是構(gòu)造函數(shù)?什么是構(gòu)造函數(shù)重載?什么是復(fù)制構(gòu)造函數(shù)?

當(dāng)新對象被創(chuàng)建的時候,構(gòu)造函數(shù)會被調(diào)用。每一個類都有構(gòu)造函數(shù)。在程序員沒有給類提供構(gòu)造函數(shù)的情況下,Java 編譯器會為這個類創(chuàng)建一個默認的構(gòu)造函數(shù)。

Java 中構(gòu)造函數(shù)重載和方法重載很相似??梢詾橐粋€類創(chuàng)建多個構(gòu)造函數(shù)。每一個構(gòu)造函數(shù)必須有它自己唯一的參數(shù)列表。

Java 不支持像 C++中那樣的復(fù)制構(gòu)造函數(shù),這個不同點是因為如果你不自己寫構(gòu)造函數(shù)的情況下,Java 不會創(chuàng)建默認的復(fù)制構(gòu)造函數(shù)。

8.Java 中的方法覆蓋(Overriding)和方法重載(Overloading)是什么意思?

Java 中的方法重載發(fā)生在同一個類里面兩個或者是多個方法的方法名相同但是參數(shù)不同的情況。與此相對,方法覆蓋是說子類重新定義了父類的方法。方法覆蓋必須有相同的方法名,參數(shù)列表和返回類型。覆蓋者可能不會限制它所覆蓋的方法的訪問。

9.接口和抽象類的區(qū)別是什么?

Java 提供和支持創(chuàng)建抽象類和接口。它們的實現(xiàn)有共同點,不同點在于:

?接口中所有的方法隱含的都是抽象的。而抽象類則可以同時包含抽象和非抽象的方法。

?類可以實現(xiàn)很多個接口,但是只能繼承一個抽象類

?類如果要實現(xiàn)一個接口,它必須要實現(xiàn)接口聲明的所有方法。但是,類可以不實現(xiàn)抽象類聲明的所有方法,當(dāng)然,在這種情況下,類也必須得聲明成是抽象的。

?抽象類可以在不提供接口方法實現(xiàn)的情況下實現(xiàn)接口。

?Java 接口中聲明的變量默認都是 final 的。抽象類可以包含非 final 的變量。

?Java 接口中的成員函數(shù)默認是 public 的。抽象類的成員函數(shù)可以是 private, protected 或者是 public。

?接口是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含 main 方法的話是可以被調(diào)用的。

10.什么是值傳遞和引用傳遞?

對象被值傳遞,意味著傳遞了對象的一個副本。因此,就算是改變了對象副本,也不會影響源對象的值。

對象被引用傳遞,意味著傳遞的并不是實際的對象,而是對象的引用。因此,外部對引用對象所做的改變會反映到所有的對象上。

最后祝你面試順利!

java常見的面試題和面試技巧 誰能告訴我 謝謝

如果說是一個企業(yè)急需招人,我想那就得多準(zhǔn)備一些框架方面的知識,畢竟做項目是用的框架!下面進入主題:大概的流程是這樣吧 框架——》Java基礎(chǔ)——》數(shù)據(jù)庫相關(guān)點——》頁面注意技巧

一:框架——》

1,)Struts2是如何實現(xiàn)MVC的?M(模型):這個一般不由Struts來做V (視圖):視圖也不算struts的強項,但是struts提供優(yōu)秀的標(biāo)簽來支持視圖的展示,利用標(biāo)簽,可以將數(shù)據(jù)合理的展示給用戶控制器:struts的重要功能,提供struts的過濾器,攔截用戶的請求,查找struts配置文件,為其匹配一個對應(yīng)的Action,這個Action負責(zé)調(diào)用模型,獲得數(shù)據(jù),然后對數(shù)據(jù)做部分處理,接著Action再將處理后的數(shù)據(jù),為其選擇一個視圖進行輸出。

2) Struts工作機制?為什么要使用Struts? 工作機制: Struts的工作流程: 在web應(yīng)用啟動時就會加載初始化ActionServlet,ActionServlet從struts-config.xml文件中讀取配置信息,把它們存放到各種配置對象當(dāng)ActionServlet接收到一個客戶請求時,將執(zhí)行如下流程. (1)檢索和用戶請求匹配的ActionMapping實例,如果不存在,就返回請求路徑無效信息; (2)如果ActionForm實例不存在,就創(chuàng)建一個ActionForm對象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對象中; (3)根據(jù)配置信息決定是否需要表單驗證.如果需要驗證,就調(diào)用ActionForm的validate()方法; (4)如果ActionForm的validate()方法返回null或返回一個不包含ActionMessage的ActuibErrors對象, 就表示表單驗證成功; (5)ActionServlet根據(jù)ActionMapping所包含的映射信息決定將請求轉(zhuǎn)發(fā)給哪個Action,如果相應(yīng)的Action實例不存在,就先創(chuàng)建這個實例,然后調(diào)用Action的execute()方法; (6)Action的execute()方法返回一個ActionForward對象,ActionServlet在把客戶請求轉(zhuǎn)發(fā)給ActionForward對象指向的JSP組件; (7)ActionForward對象指向JSP組件生成動態(tài)網(wǎng)頁,返回給客戶;為什么要用: JSP、Servlet、JavaBean技術(shù)的出現(xiàn)給我們構(gòu)建強大的企業(yè)應(yīng)用系統(tǒng)提供了可能。但用這些技術(shù)構(gòu)建的系統(tǒng)非常的繁亂,所以在此之上,我們需要一個規(guī)則、一個把這些技術(shù)組織起來的規(guī)則,這就是框架,Struts便應(yīng)運而生。基于Struts開發(fā)的應(yīng)用由3類組件構(gòu)成:控制器組件、模型組件、視圖組件 Struts的validate框架是如何驗證的? 在struts配置文件中配置具體的錯誤提示,再在FormBean中的validate()方法具體調(diào)用。

3)spring工作機制及為什么要用? 1.spring mvc請所有的請求都提交給DispatcherServlet,它會委托應(yīng)用系統(tǒng)的其他模塊負責(zé)負責(zé)對請求進行真正的處理工作。 2.DispatcherServlet查詢一個或多個HandlerMapping,找到處理請求的Controller. 3.DispatcherServlet請請求提交到目標(biāo)Controller 4.Controller進行業(yè)務(wù)邏輯處理后,會返回一個ModelAndView 5.Dispathcher查詢一個或多個ViewResolver視圖解析器,找到ModelAndView對象指定的視圖對象 6.視圖對象負責(zé)渲染返回給客戶端。為什么用: AOP 讓開發(fā)人員可以創(chuàng)建非行為性的關(guān)注點,稱為橫切關(guān)注點,并將它們插入到應(yīng)用程序代碼中。使用 AOP 后,公共服務(wù) (比 如日志、持久性、事務(wù)等)就可以分解成方面并應(yīng)用到域?qū)ο笊?,同時不會增加域?qū)ο蟮膶ο竽P偷膹?fù)雜性。

IOC 允許創(chuàng)建一個可以構(gòu)造對象的應(yīng)用環(huán)境,然后向這些對象傳遞它們的協(xié)作對象。正如單詞 倒置 所表明的,IOC 就像反 過來的 JNDI。沒有使用一堆抽象工廠、服務(wù)定位器、單元素(singleton)和直接構(gòu)造(straight construction),每一個對象都是用 其協(xié)作對象構(gòu)造的。因此是由容器管理協(xié)作對象(collaborator)。

4)Hibernate工作原理及為什么要用? 原理: 1.讀取并解析配置文件 2.讀取并解析映射信息,創(chuàng)建SessionFactory 3.打開Sesssion 4.創(chuàng)建事務(wù)Transation 5.持久化操作 6.提交事務(wù) 7.關(guān)閉Session 8.關(guān)閉SesstionFactory為什么要用: 1. 對JDBC訪問數(shù)據(jù)庫的代碼做了封裝,大大簡化了數(shù)據(jù)訪問層繁瑣的重復(fù)性代碼。2. Hibernate是一個基于JDBC的主流持久化框架,是一個優(yōu)秀的ORM實現(xiàn)。他很大程度的簡化DAO層的編碼工作3. hibernate使用Java反射機制,而不是字節(jié)碼增強程序來實現(xiàn)透明性。4. hibernate的性能非常好,因為它是個輕量級框架。映射的靈活性很出色。它支持各種關(guān)系數(shù)據(jù)庫,從一對一到多對多的各種復(fù)雜關(guān)系。2. Hibernate是如何延遲加載? 1. Hibernate2延遲加載實現(xiàn):a)實體對象 b)集合(Collection)2. Hibernate3 提供了屬性的延遲加載功能當(dāng)Hibernate在查詢數(shù)據(jù)的時候,數(shù)據(jù)并沒有存在與內(nèi)存中,當(dāng)程序真正對數(shù)據(jù)的操作時,對象才存在與內(nèi)存中,就實現(xiàn)了延遲加載,他節(jié)省了服務(wù)器的內(nèi)存開銷,從而提高了服務(wù)器的性能。3.Hibernate中怎樣實現(xiàn)類之間的關(guān)系?(如:一對多、多對多的關(guān)系)類與類之間的關(guān)系主要體現(xiàn)在表與表之間的關(guān)系進行操作,它們都市對對象進行操作,我們程序中把所有的表與類都映射在一起,它們通過配置文件中的many-to-one、one-to-many、many-to-many。

5)Hibernate的一級緩存與二級緩存的區(qū)別?

一級緩存就是Session級別的緩存,一個Session做了一個查詢操作,它會把這個操作的結(jié)果放在一級緩存中,如果短時間內(nèi)這個session(一定要同一個session)又做了同一個操作,那么hibernate直接從一級緩存中拿,而不會再去連數(shù)據(jù)庫,取數(shù)據(jù)。二級緩存就是SessionFactory級別的緩存,顧名思義,就是查詢的時候會把查詢結(jié)果緩存到二級緩存中,如果同一個sessionFactory創(chuàng)建的某個session執(zhí)行了相同的操作,hibernate就會從二級緩存中拿結(jié)果,而不會再去連接數(shù)據(jù)庫。(這個題想簡答就可以了,但是如果想深入去多問幾個問什么這里提供一個連接,寫得較為詳細:1)

另外一個關(guān)鍵點是:你要知道什么信息和什么操作,該調(diào)用什么級別的緩存!

6)如何優(yōu)化Hibernate?(這個問題有些觸及到這個框架的弱點了,那就得想辦法應(yīng)付)

1.使用雙向一對多關(guān)聯(lián),不使用單向一對多 2.靈活使用單向一對多關(guān)聯(lián) 3.不用一對一,用多對一取代 4.配置對象緩存,不使用集合緩存 5.一對多集合使用Bag,多對多集合使用Set 6. 繼承類使用顯式多態(tài) 7. 表字段要少,表關(guān)聯(lián)不要怕多,自己再補充一點,上面說到的都是關(guān)于數(shù)據(jù)庫設(shè)計 帶來的優(yōu)勢,從而起到優(yōu)化框架的效果,但是真正在實際操作中,我們只有盡量控制不使用懶加載“l(fā)azy

=true”,如果在涉及的盡量使用Hql語句

7)struts的核心是什么?(參考了這個回答:2)

FilterDispatcher也是Struts2的核心技術(shù)。FilterDispatcher核心控制器執(zhí)行以下操作:(1)讀取靜態(tài)數(shù)據(jù)信息(2)決定需要轉(zhuǎn)發(fā)或者導(dǎo)航的Action配置(3)創(chuàng)建Action的Context(4)創(chuàng)建Action代理(5)內(nèi)存清理和性能優(yōu)化攔截器:Interceptor 攔截器本身是一個普通的Java對象,它能動態(tài)攔截Action調(diào)用,在Action執(zhí)行前后執(zhí)行攔截器本身提供的各種個樣的Web項目需求。 也可以阻止Action的執(zhí)行,同時也可以提取Action中可以復(fù)用的部分。(1)在Action調(diào)用之前提供系統(tǒng)處理流程邏輯控制(2)和Action交互時,提供Ation執(zhí)行時的一些初始信息(3)在Action結(jié)束后,一些事后的處理流程邏輯(4)修改Action中返回的Result信息(5)捕獲異常棧是用ognl表達式存值的最初地方,即一個存值的棧 自己再補充一點:struts的標(biāo)簽庫也算一個。

8)ssh 的工作流程(這個問題留作作業(yè),它們之間的相互實現(xiàn),相互調(diào)用從原理上理解就行了)

java程序員面試時被問到:如何在j2ee項目中處理高并發(fā)量訪問? 該怎么回答? 請仔細看題干再回答

一般需從三點入手。

一、程序本身支持高并發(fā)。

簡單來說就是要優(yōu)化我們的代碼。

1、避免使用錯誤的方式,盡量不用instanceof做條件判斷,不要將數(shù)組聲明為:public static final 。

2、使用java中效率高的類,比如盡量使用HashMap 和ArrayList ,除非必要,否則不推薦使用HashTable和Vector ,后者由于使用同步機制,而導(dǎo)致了性能的開銷。

3、盡量指定類的final修飾符 帶有final修飾符的類是不可派生的。在Java核心API中,有許多應(yīng)用final的例子,例如java.lang.String。為String類指定final防止了人們覆蓋length()方法。另外,如果指定一個類為final,則該類所有的方法都是final。Java編譯器會尋找機會內(nèi)聯(lián)(inline)所有的final方法(這和具體的編譯器實現(xiàn)有關(guān))。此舉能夠使性能平均提高50% 。

4、盡量重用對象,避免頻繁的使用new對象。對于整個應(yīng)用只需要存在一個實例的類,我們可以使用單例模式。對于工具類可以使用靜態(tài)方法的方式訪問。

用new關(guān)鍵詞創(chuàng)建類的實例時,構(gòu)造函數(shù)鏈中的所有構(gòu)造函數(shù)都會被自動調(diào)用。但如果一個對象實現(xiàn)了Cloneable接口,我們可以調(diào)用它的clone()方法。clone()方法不會調(diào)用任何類構(gòu)造函數(shù)。

在使用設(shè)計模式(Design Pattern)的場合,如果用Factory模式創(chuàng)建對象,則改用clone()方法創(chuàng)建新的對象實

例非常簡單。例如,

Java代碼??收藏代碼

下面是Factory模式的一個典型實現(xiàn):???

public?static?Credit?getNewCredit()?{??

return?new?Credit();??

}???

改進后的代碼使用clone()方法,如下所示:??

private?static?Credit?BaseCredit?=?new?Credit();??

public?static?Credit?getNewCredit()?{??

return?(Credit)?BaseCredit.clone();??

}

上面的思路對于數(shù)組處理同樣很有用。

5、特別是String 對象的使用中,出現(xiàn)字符串連接情況時應(yīng)用StringBuffer 代替。由于系統(tǒng)不僅要花時間生成對象,以后可能還需花時間對這些對象進行垃圾回收和處理。因此,生成過多的對象將會給程序的性能帶來很大的影響。

6、StringBuffer 的使用:StringBuffer表示了可變的、可寫的字符串。

它有三個構(gòu)造方法 :

StringBuffer?();????????????//默認分配16個字符的空間??

StringBuffer?(int?size);??//分配size個字符的空間??

StringBuffer?(String?str);??//分配16個字符+str.length()個字符空間

你可以通過StringBuffer的構(gòu)造函數(shù)來設(shè)定它的初始化容量,這樣可以明顯地提升性能。這里提到的構(gòu)造函數(shù)是StringBuffer(int length),length參數(shù)表示當(dāng)前的StringBuffer能保持的字符數(shù)量。你也可以使用ensureCapacity(int minimumcapacity)方法在StringBuffer對象創(chuàng)建之后設(shè)置它的容量。首先我們看看StringBuffer的缺省行為,然 后再找出一條更好的提升性能的途徑。

StringBuffer在內(nèi)部維護一個字符數(shù)組,當(dāng)你使用缺省的構(gòu)造函數(shù)來創(chuàng)建StringBuffer對象的時候,因為沒有設(shè)置初始化字符長度,StringBuffer的容量被初始化為16個字符,也就是說缺省容量就是16個字符。當(dāng)StringBuffer達到最大容量 的時候,它會將自身容量增加到當(dāng)前的2倍再加2,也就是(2*舊值+2)。如果你使用缺省值,初始化之后接著往里面追 加字符,在你追加到第16個字符的時候它會將容量增加到34(2*16+2),當(dāng)追加到34個字符的時候就會將容量增加到 70(2*34+2)。無論何事只要StringBuffer到達它的最大容量它就不得不創(chuàng)建一個新的字符數(shù)組然后重新將舊字符和 新字符都拷貝一遍――這也太昂貴了點。所以總是給StringBuffer設(shè)置一個合理的初始化容量值是錯不了的,這樣會帶來 立竿見影的性能增益。

StringBuffer初始化過程的調(diào)整的作用由此可見一斑。所以,使用一個合適的容量值來初始化StringBuffer永遠都是一個最佳的建議。

7、盡量使用局部變量,調(diào)用方法時傳遞的參數(shù)以及在調(diào)用中創(chuàng)建的臨時變量都保存在棧(Stack)中,速度較快。其他變量,如靜態(tài)變量、實例變量等,都在堆(Heap)中創(chuàng)建,速度較慢。另外,依賴于具體的編譯器/JVM,局部變量還可能得到進一步優(yōu)化。請參見《盡可能使用堆棧變量》。

8、不要重復(fù)初始化變量 ?默認情況下,調(diào)用類的構(gòu)造函數(shù)時, Java會把變量初始化成確定的值:所有的對象被設(shè)置成null,整數(shù)變量(byte、short、int、long)設(shè)置成0,float和double變量設(shè)置成0.0,邏輯值設(shè)置成false。當(dāng)一個類從另一個類派生時,這一點尤其應(yīng)該注意,因為用new關(guān)鍵詞創(chuàng)建一個對象時,構(gòu)造函數(shù)鏈中的所有構(gòu)造函數(shù)都會被自動調(diào)用。

9、在JAVA + ORACLE 的應(yīng)用系統(tǒng)開發(fā)中,java中內(nèi)嵌的SQL語句盡量使用大寫的形式,以減輕ORACLE解析器的解析負擔(dān)。

10、Java 編程過程中,進行數(shù)據(jù)庫連接、I/O流操作時務(wù)必小心,在使用完畢后,即使關(guān)閉以釋放資源。因為對這些大對象的操作會造成系統(tǒng)大的開銷,稍有不慎,會導(dǎo)致嚴(yán)重的后果。

11、由于JVM的有其自身的GC機制,不需要程序開發(fā)者的過多考慮,從一定程度上減輕了開發(fā)者負擔(dān),但同時也遺漏了隱患,過分的創(chuàng)建對象會消耗系統(tǒng)的大量內(nèi)存,嚴(yán)重時會導(dǎo)致內(nèi)存泄露,因此,保證過期對象的及時回收具有重要意義。JVM回收垃圾的條件是:對象不在被引用;然而,JVM的GC并非十分的機智,即使對象滿足了垃圾回收的條件也不一定會被立即回收。所以,建議我們在對象使用完畢,應(yīng)手動置成null。

12、在使用同步機制時,應(yīng)盡量使用方法同步代替代碼塊同步。

13、盡量減少對變量的重復(fù)計算

例如:

for(int?i?=?0;i??list.size;?i?++)?{??

…??

}??

應(yīng)替換為:??

for(int?i?=?0,int?len?=?list.size();i??len;?i?++)?{??

…??

}

14、盡量采用lazy loading 的策略,即在需要的時候才開始創(chuàng)建。

例如:????

String?str?=?“aaa”;??

if(i?==?1)?{??

list.add(str);??

}??

應(yīng)替換為:??

if(i?==?1)?{??

String?str?=?“aaa”;??

list.add(str);??

}

15、慎用異常

異常對性能不利。拋出異常首先要創(chuàng)建一個新的對象。Throwable接口的構(gòu)造函數(shù)調(diào)用名為fillInStackTrace()的本地(Native)方法,fillInStackTrace()方法檢查堆棧,收集調(diào)用跟蹤信息。只要有異常被拋出,VM就必須調(diào)整調(diào)用堆棧,因為在處理過程中創(chuàng)建了一個新的對象。 異常只能用于錯誤處理,不應(yīng)該用來控制程序流程。

16、不要在循環(huán)中使用try...catch,應(yīng)把其放置在最外層。

17、合理的使用Java類 java.util.Vector。

簡單地說,一個Vector就是一個java.lang.Object實例的數(shù)組。Vector與數(shù)組相似,它的元素可以通過整數(shù)形式的索引訪問。但是,Vector類型的對象在創(chuàng)建之后,對象的大小能夠根據(jù)元素的增加或者刪除而擴展、縮小。請考慮下面這個向Vector加入元素的例子:

Java代碼??收藏代碼

Object?obj?=?new?Object();??

Vector?v?=?new?Vector(100000);??

for(int?I=0;??

I100000;?I++)?{?v.add(0,obj);?}

當(dāng)前文章:java代碼優(yōu)化面試題 java代碼優(yōu)化技巧
本文URL:http://muchs.cn/article28/ddihscp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站用戶體驗、做網(wǎng)站電子商務(wù)、外貿(mào)建站網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司