奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語言

Java新手問題

時間:2025-03-26 07:44:54 java語言 我要投稿
  • 相關推薦

Java新手問題集錦

  Java是目前最流行的編程語言之一——它可以用來編寫Windows程序或者是Web應用,移動應用,網絡程序,消費電子產品,機頂盒設備,它無處不在。以下是百分網小編收集整理的Java新手問題,希望對您有所幫助!

  優先返回空集合而非

  如果程序要返回一個不包含任何值的集合,確保返回的是空集合而不是。這能節省大量的'if else'檢查。

  public class getLocationName {

  return (==cityName ? '': cityName);

  }

  謹慎操作字符串

  如果兩個字符串在for循環中使用 操作符進行拼接,那么每次循環都會產生一個新的字符串對象。這不僅浪費內存空間同時還會影響性能。類似的,如果初始化字符串對象,盡量不要使用構造方法,而應該直接初始化。比方說:

  避免無用對象

  創建對象是Java中最昂貴的操作之一。因此最好在有需要的時候再進行對象的創建/初始化。如下:

  數組與ArrayList之爭

  開發人員經常會發現很難在數組和ArrayList間做選擇。它們二者互有優劣。如何選擇應該視情況而定。

  數組是定長的,而ArrayList是變長的。由于數組長度是固定的,因此在聲明數組時就已經分配好內存了。而數組的操作則會更快一些。另一方面,如果我們不知道數據的大小,那么過多的數據便會導致ArrayOutOfBoundException,而少了又會浪費存儲空間。

  ArrayList在增刪元素方面要比數組簡單。

  數組可以是多維的,但ArrayList只能是一維的。

  try塊的finally塊沒有被執行

  看下下面這段代碼:

  從代碼來看,貌似finally塊中的println語句應該會被執行5次。但當程序運行后,你會發現finally塊只執行了4次。第5次迭代的時候會觸發exit函數的調用,于是這第5次的finally便永遠也觸發不到了。原因便是——System.exit會掛起所有線程的執行,包括當前線程。即便是try語句后的finally塊,只要是執行了exit,便也無力回天了。

  在調用System.exit時,JVM會在關閉前執行兩個結束任務:

  首先,它會執行完所有通過Runtime.addShutdownHook注冊進來的終止的鉤子程序。這一點很關鍵,因為它會釋放JVM外部的資源。

  接下來的便是Finalizer了。可能是System.runFinalizersOnExit也可能是Runtime.runFinalizersOnExit。finalizer的使用已經被廢棄有很長一段時間了。finalizer可以在存活對象上進行調用,即便是這些對象仍在被其它線程所使用。而這會導致不可預期的結果甚至是死鎖。

  判斷奇數

  看下這幾行代碼,看看它們是否能用來準確地判斷一個數是奇數?

  public boolean oddOrNot(int num) {

  return num % 2 == 1;

  看似是對的,但是每執行四便會有一個錯誤的結果(用數據說話)。考慮到負奇數的情況,它除以2的結果就不會是1。因此,返回值是false,而這樣是不對的。

  代碼可以修改成這樣:

  public boolean oddOrNot(int num) {

  return (num & 1) != 0;

  }

  這么寫不光是負奇數的問題解決了,并且還是經過充分優化過的。因為算術運算和邏輯運行要比乘除運算更高效,計算的結果也會更快。

  單引號與雙引號的區別

  看起來這段代碼會返回'Haha',但實際返回的是Ha169。原因就是用了雙引號的時候,字符會被當作字符串處理,而如果是單引號的話,字符值會通過一個叫做基礎類型拓寬的操作來轉換成整型值。然后再將值相加得到169。

  一些防止內存泄露的小技巧

  內存泄露會導致軟件的性能降級。由于Java是自動管理內存的,因此開發人員并沒有太多辦法介入。不過還是有一些方法能夠用來防止內存泄露的。

  查詢完數據后立即釋放數據庫連接

  盡可能使用finally塊

  釋放靜態變量中的實例

  避免死鎖

  死鎖出現的原因有很多。避免死鎖不是一句話就能解決的。通常來說,當某個同步對象在等待另一個同步對象所擁有的資源上的鎖時,便會產生死鎖。

  試著運行下下面的程序。它會告訴你什么是死鎖。這個死鎖是由于兩個線程都在等待對方所擁有的資源,因此會產生死鎖。它們會一直等待,沒有誰會先放手。

  輸出:

  但如果調用的順序變一下的話,死鎖的問題就解決了。

  輸出:

  替Java省點內存

  某些Java程序是CPU密集型的,但它們會需要大量的內存。這類程序通常運行得很緩慢,因為它們對內存的需求很大。為了能提升這類應用的性能,可得給它們多留點內存。因此,假設我們有一臺擁有10G內存的Tomcat服務器。在這臺機器上,我們可以用如下的這條命令來分配內存:

  export JAVA_OPTS='$JAVA_OPTS -Xms5000m -Xmx6000m -XX:PermSize=1024m -XX:MaxPermSize=2048m'

  Xms = 最小內存分配

  Xmx = 最大內存分配

  XX:PermSize = JVM啟動時的初始大小

  XX:MaxPermSize = JVM啟動后可分配的最大空間

  如何計算Java中操作的耗時

  在Java中進行操作計時有兩個標準的方法

  System.currentTimeMillis和System.nanoTime。問題就在于,什么情況下該用哪個。從本質上來講,他們的作用都是一樣的,但有以下幾點不同:

  System.currentTimeMillis的精度在千分之一秒到千分之15秒之間(取決于系統)而System.nanoTime則能到納秒級。

  System.currentTimeMillis讀操作耗時在數個CPU時鐘左右。而System.nanoTime則需要上百個。

  System.currentTimeMillis對應的是絕對時間(1970年1 月1日所經歷的毫秒數),而System.nanoTime則不與任何時間點相關。

  Float還是double

  在對精度要求高的場景下,double類型相對float要更流行一些,理由如下:

  大多數處理器在處理float和double上所需的時間都是差不多的。而計算時間一樣的前提下,double類型卻能提供更高的精度。

  冪運算

  Java是通過異或操作來進行冪運算的。Java對于冪運算有兩種處理方式:

  乘積:

  pow方法:在無法使用乘積的情況下可以使用pow方法。

  double cube = Math.pow(base, exponent);

  不到萬不得已不要使用Math.pow。比方說,當指數是小數的時候。因為Math.pow要比乘積慢300-600倍左右。

  如何處理空指針異常

  空指針異常是Java中很常見的異常。當你嘗試調用一個對象上的方法時便會拋出這個異常。比如:

  int noOfStudents = school.listStudents.count;

  在上述例子中,school為空或者listStudents為空都可能會拋出了PointerException。因此最好檢查下對象是否為空以避免類似情況。

  JSON編碼

  JSON是數據存儲及傳輸的一種協議。與XML相比,它更易于使用。由于它非常輕量級以及自身的一些特性,現在JSON在網絡上已經是越來越流行了。常見的數據結構都可以編碼成JSON然后在各個網頁間自由地傳輸。不過在開始編碼前,你得先安裝一個JSON解析器。在下面的例子中,我們將使用json.simple庫來完成這項工作 (https://code.google.com/p/json-simple/)。

  下面是編碼成JSON串的一個簡單的例子。

  輸出:

  {'Novel Name':'Godaan','Novel Details':['Language: Hindi','Year of Publication: 1936','Publisher: Lokmanya Press'],'Author':'Munshi Premchand'}

  JSON解析

  開發人員要想解析JSON串,首先你得知道它的格式。下面例子有助于你來理解這一點:

【Java新手問題】相關文章:

Java新手必讀手冊10-31

新手如何學習Java07-06

新手學習java語言的方法09-25

新手開車常見的問題06-18

新手需知的開車問題10-09

Java中finally的問題09-28

常見的Java問題與解析10-21

常見的Java問題與解答08-15

新手駕車常見問題10-25

主站蜘蛛池模板: 全椒县| 郓城县| 繁昌县| 西昌市| 崇明县| 包头市| 文山县| 晋城| 凤阳县| 金寨县| 鄂州市| 吴川市| 临湘市| 沅陵县| 万宁市| 靖江市| 黑河市| 济宁市| 连江县| 锦州市| 张北县| 忻州市| 河津市| 锡林郭勒盟| 秭归县| 资溪县| 上蔡县| 星子县| 龙南县| 响水县| 凤城市| 札达县| 晋宁县| 衡南县| 利津县| 涟水县| 德惠市| 景宁| 阳原县| 永福县| 仙居县|