首頁>網絡編程教程> Java教程
全部 ASP教程 ASP教程 ASP.NET教程 PHP教程 JSP教程 C#/CSHARP教程 XML教程 Ajax教程 Perl教程 Shell教程 Visual Basic教程 Delphi教程 移動開髮教程 C/C++教程 Java教程 J2EE/J2ME 軟件工程
Java教程
  • java多執行緒中的異常處理機制簡析

    java多執行緒中的異常處理機制簡析

    在java多執行緒程式中,所有執行緒都不允許拋出未捕獲的checked exception,也就是說各個執行緒需要自己把自己的checked exception處理掉。這一點是透過java.lang.Runnable.run()方法聲明(因為此方法宣告上沒有throw exception部分)進行了約束。但是線程依然有可能拋出unchecked exception,當此類異常跑拋出時,線程就會終結,而對於主線程和其他線程完全不受影響,且完全感知不到某個線程拋出的異常(也是說完全無法catch到這個異常)。
    2024-11-17
  • log4j詳細的常用設定說明介紹

    log4j詳細的常用設定說明介紹

    很多絲都覺得log4j不好用,因為它不輸出到IDE的控制台,哈哈,其實都是配置惹的禍,下面看我怎麼一步步配置到控制台的,log4j的輸出級別和輸出模式相信絲都知道的,這裡不多說了,直接看程式碼註解:# All,TRACE,DEBUG,INFO,WARN,ERROR,FITAL,OFF #全域專案日誌配置log4j.rootLogger=ERROR #指定的套件下所有的日誌(只輸出項目com套件下的日誌) log4j.logger.com=DEBUG,yin,dailly_rolling_file #指定輸
    2024-11-17
  • hadoop client與datanode的通訊協定分析

    hadoop client與datanode的通訊協定分析

    本文主要分析了hadoop客戶端read和write block的流程. 以及client和datanode通信的協議, 數據流格式等.hadoop客戶端與namenode通信通過RPC協議, 但是client 與datanode通信並沒有使用RPC, 而是直接使用socket, 其中讀寫時的協議也不同, 本文分析了hadoop 0.20.2版本的(0.19版本也是一樣的)client與datanode通信的原理與通信協議.另外要強調的是0.23及以後的版本中client與datanode的通訊協定有
    2024-11-17
  • Tomcat記憶體溢位分析及解決方法

    Tomcat記憶體溢位分析及解決方法

    JVM管理兩種類型的內存,堆和非堆。堆是給開發人員用的上面說的就是,是在JVM啟動時創建;非堆是留給JVM自己用的,用來存放類別的資訊的。它和堆不同,運行期內GC不會釋放空間。 一、記憶體溢位類型1、java.lang.OutOfMemoryError: PermGen space JVM管理兩種類型的內存,堆和非堆。堆是給開發人員用的上面說的就是,是在JVM啟動時創建;非堆是留給JVM自己用的,用來存放類別的資訊的。它和堆不同,運行期內GC不會釋放空間。如果web app用了大量的第三方jar或應用有太
    2024-11-17
  • Struts之logic標籤庫詳解

    Struts之logic標籤庫詳解

    1.logic:emptylogic:empty標籤是用來判斷是否為空的。如果為空,該標籤體中嵌入的內容就會被處理。此標籤用於以下情況: 當Java物件為null時當String物件為""時當java.util.Collection物件中的isEmpty()傳回true時當java.util.Map物件中的isEmpty()傳回true時下面的程式碼範例了logic:empty標籤判斷集合persons是否為空: <logic:empty name="listForm&
    2024-11-17
  • java程式碼之謎運算符篇

    java程式碼之謎運算符篇

    從最簡單的運算子加號(+)說起,加號(+)是個二元運算子――也就是說,加號只把兩個數聯接起來,從來不把第三個或更多的聯接起來。 因此,「1加2加3」 在計算機中被表述為: (1 + 2) + 3 // a或1 + (2 + 3) // b雖然我們通常寫做1 + 2 + 3,但是並不意味著這它和我們數學中的1+2+3 是等價的。 那麼數學中的1+2+3 到底表示的是a 呢,還是b 呢? 如果計算機的求值是左結合的,那麼此表達式等價於第一種a; 如果是右結合的,那麼此表達式等價於第二種b。 1
    2024-11-17
  • centos下編譯安裝mysql報錯解決方案

    centos下編譯安裝mysql報錯解決方案

    今天在centos6.2下面原始碼編譯安裝mysql的時,在編譯mysql的時候報了一個蛋蛋的錯誤:複製碼碼如下:[root@vps870 mysql-5.5.28]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local /mysql / > -DMYSQL_UNIX_ADDR=/tmp/mysql.sock / > -DDEFAULT_CHARSET=gbk / > -DDEFAULT_COLLATION=gbk_chinese_ci / > -DW
    2024-11-17
  • java向多執行緒傳遞參數的三種方法詳細介紹

    java向多執行緒傳遞參數的三種方法詳細介紹

    在傳統的同步開發模式下,當我們呼叫函數時,透過這個函數的參數將資料傳入,並透過這個函數的回傳值來傳回最終的計算結果。但在多執行緒的非同步開發模式下,資料的傳遞和回傳和同步開發模式有很大的差別。由於線程的運行和結束是不可預料的,因此,在傳遞和返回資料時就無法像函數一樣透過函數參數和return語句來傳回資料。本文就以上原因介紹了幾種用於向線程傳遞資料的方法,在下一篇文章中將介紹從線程中傳回資料的方法。 欲先取之,必先予之。一般在使用執行緒時都需要有一些初始化數據,然後執行緒利用這些數據進行加工處理,並傳回結
    2024-11-17
  • java如何交換這兩個變數的值方法介紹

    java如何交換這兩個變數的值方法介紹

    1.以中間量交換int x = 10; int y = 20; int temp = x; x = y; y = temp; 此種方法可以將中間量看成空杯,即把temp看成是空杯,把x看成是裝有白酒的杯子,把y看成是裝有紅酒的杯子int temp = x; 把白酒倒到空杯中,此時temp裝有白酒,x變成空杯x = y;把y中的紅酒倒到x空杯中,此時x裝有紅酒,y變成空杯y = temp; 把白酒倒到y空杯中,此時x裝有紅酒,y裝有白酒,實現x和y的互換2.數值相加減交換int x = 10;
    2024-11-17
  • Java中的String物件資料型別全面解析

    Java中的String物件資料型別全面解析

    1. 首先String不屬於8種基本資料類型,String是一個物件。 因為對象的預設值是null,所以String的預設值也是null;但它又是一種特殊的對象,有其它對象沒有的一些特性。 2. new String()和new String("")都是申明一個新的空字串,是空字串不是null; 3. String str="kvill"; String str=new String ("kvill");的區別: 在這裡,我們不談堆,也不談棧,只
    2024-11-17
  • java中的枚舉類型詳細介紹

    java中的枚舉類型詳細介紹

    枚舉中有values方法用來依照枚舉定義的順序產生一個數組,可以用來歷遍。我們自訂的枚舉類別都是繼承自java.lang.Enum,擁有一下實例中的功能: 複製程式碼如下://: enumerated/EnumClass.java // Capabilities of the Enum class import static net.mindview. util.Print.*; enum Shrubbery { GROUND, CRAWLING, HANGING } public class EnumC
    2024-11-17
  • 代理模式之Java動態代理實作方法

    代理模式之Java動態代理實作方法

    今天一個偶然的機會我突然想看看JDK的動態代理,因為以前也知道一點,而且只是簡單的想測試一下使用,使用很快裡就寫好了這麼幾個接口和類:接口類:UserService. java複製程式碼如下:package com.yixi.proxy;public interface UserService {public int save() ;public void update(int id);}實作類別:UserServiceImpl.java複製程式碼如下:package com.yixi.proxy; pu
    2024-11-17
  • java string的一些細節剖析

    java string的一些細節剖析

    首先說明這裡指的是Java中的String,雖然我已經決定要轉戰C/C++了,但因為今天碰到一個問題,還是來看看。 String的定義如下: 複製程式碼如下:public final class String { private final char value[]; // 儲存的字串private final int offset; // 開始的位置private final int count; // 字元數目; // 快取的hash值...... } 在D
    2024-11-17
  • java自動裝箱拆箱深入剖析

    java自動裝箱拆箱深入剖析

    這是jdk1.5以後才引入的新的內容,作為秉承發表是最好的記憶,毅然決定還是用一篇博客來代替我的記憶: java語言規範中說道:在許多情況下包裝與解包裝是由編譯器自行完成的(在這種情況下包裝成為裝箱,解包裝稱為拆箱); 其實按照我自己的理解自動裝箱就可以簡單的理解為將基本數據類型封裝為對象類型,來符合java的物件導向;例如用int來舉例:複製程式碼程式碼如下://宣告一個Integer物件Integer num = 10; //以上的宣告就是用到了自動的裝箱:解析為Integer num = new
    2024-11-17
  • 在Eclipse中運行Solr 基礎知識

    在Eclipse中運行Solr 基礎知識

    Solr我還是個菜鳥,寫這篇文章只是記錄最近一段時間學習Solr的心得。 Solr是什麼? 最近我學Solr的時候,一直看到一句話,Solr 是一個可供企業使用的、基於Lucene 的開箱即用的搜尋伺服器。當時想了很久沒看懂這句話是什麼意思,什麼是搜尋伺服器?當接觸的深了才發現,所謂的搜尋伺服器,就是能夠在伺服器(Tomcat,Jetty)中運行的搜尋程式的一個工程。 Solr能做什麼?了解過Lucene的人都知道,Lucene在做兩件事情,索引管理與搜索,Solr同樣也不例外,做的也是這兩件事情
    2024-11-17