首頁>網絡編程教程> Java教程
全部 ASP教程 ASP教程 ASP.NET教程 PHP教程 JSP教程 C#/CSHARP教程 XML教程 Ajax教程 Perl教程 Shell教程 Visual Basic教程 Delphi教程 移動開髮教程 C/C++教程 Java教程 J2EE/J2ME 軟件工程
Java教程
  • Java 隨機產生驗證碼(支援大小寫字母、數字、隨機字體)的實例

    Java 隨機產生驗證碼(支援大小寫字母、數字、隨機字體)的實例

    程式碼如下所示:複製程式碼如下:package com.hoo.util; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java. util.Random; import javax.imageio.ImageIO; import javax.servlet.http.HttpServletRequest; import
    2024-11-18
  • 基於Java回顧之多執行緒同步的使用詳解

    基於Java回顧之多執行緒同步的使用詳解

    首先闡述什麼是同步,不同步有什麼問題,然後討論可以採取哪些措施控制同步,接下來我們會仿照回顧網絡通信時那樣,構建一個服務器端的“線程池”,JDK為我們提供了一個很大的concurrent工具包,最後我們會對裡面的內容進行探索。為什麼要線程同步?說到線程同步,大部分情況下, 我們是在針對“單對像多線程”的情況進行討論,一般會將其分成兩部分,一部分是關於“共享變量”,一部分關於“執行步驟”。共享變數當我們在線程物件(Runnable)中定義了全域變量,run方法會修改該變數時,如果有多個執行緒同時使用該執行緒
    2024-11-18
  • 基於Java回顧之多執行緒詳解

    基於Java回顧之多執行緒詳解

    執行緒是作業系統運作的基本單位,它被封裝在行程中,一個行程可以包含多個執行緒。即使我們不手動創造線程,進程也會有一個預設的線程在運行。對JVM來說,當我們寫一個單執行緒的程式去運行時,JVM中也是有至少兩個執行緒在運行,一個是我們創建的程序,一個是垃圾回收。線程基本資訊我們可以透過Thread.currentThread()方法來獲取當前線程的一些信息,並對其進行修改。我們來看以下程式碼:複製程式碼如下:檢視並修改目前執行緒的屬性String name = Thread.currentThread().g
    2024-11-18
  • myeclipse智慧提示設定的實作方法

    myeclipse智慧提示設定的實作方法

    有的朋友在使用vs開發後,使用myeclipse開發java的時候會很苦惱,要是myeclipse有vs的智能提示功能該有多好,這樣編寫程式碼會事半功倍, 其實myeclipse是可以設定的,只是有的朋友不會設定而已。 1,打開myeclipse,點擊"視窗"->"首選項" 2,在"內容輔助"選項裡面,下面有"java 的自動激活觸發器"設置,預設是'.',在後面添加26個英文字母,記住'.&#3
    2024-11-18
  • 基於Java回顧之集合的總結概述

    基於Java回顧之集合的總結概述

    Java中的集合主要集中在2部分,一部分是java.util套件中,一部分是java.util.concurrent中,後者是在前者的基礎上,定義了一些實作了同步功能的集合。這篇文章主要關注java.util下的各種集合物件。 Java中的集合物件可以粗略的分為3類:List、Set和Map。對應的UML圖如下(包括了java.util下大部分的集合物件):Collection概述Java集合中的List和Set都從Collection出來,它是一個學習集合很不錯的入口,它包含了集合中通常需要有的操作:新
    2024-11-18
  • 基於Java回顧之網路通訊的應用分析

    基於Java回顧之網路通訊的應用分析

    TCP連線TCP的基礎是Socket,在TCP連線中,我們會使用ServerSocket和Socket,當客戶端和伺服器建立連線以後,剩下的基本上就是對I/O的控制了。我們先來看一個簡單的TCP通信,它分為客戶端和伺服器端。客戶端程式碼如下:複製程式碼如下:簡單的TCP客戶端import java.net.*;import java.io.*;public class SimpleTcpClient {public static void main(String[] args) throws IOExce
    2024-11-18
  • 基於Java回顧之I/O的使用詳解

    基於Java回顧之I/O的使用詳解

    工作後,所使用的技術隨著專案的變化而變化,時而C#,時而Java,當然還有其他一些零碎的技術。整體而言,C#的使用時間要更長一些,其次是Java。我本身對語言沒有什麼傾向性,能工作的語言,就是好語言。而且從物件導向的角度來看,我覺得C#和Java對我來說,沒什麼兩樣。 這篇文章主要回顧Java中和I/O操作相關的內容,I/O也是程式語言的一個基礎特性,Java中的I/O分為兩種類型,一種是順序讀取,一種是隨機讀取。 我們先來看順序讀取,有兩種方式可以進行順序讀取,一種是InputStream/Output
    2024-11-18
  • java中equals和等號(==)的區別淺談

    java中equals和等號(==)的區別淺談

    java中的資料類型,可分為兩類:1.基本資料類型,也稱為原始資料型態。 byte,short,char,int,long,float,double,boolean 他們之間的比較,應用雙等號(==),比較的是他們的值。 2.複合資料型別(類別) 當他們用(==)比較的時候,比較的是他們在記憶體中的存放位址,所以,除非是同一個new出來的對象,他們的比較後的結果為true ,否則比較後結果為false。 JAVA當中所有的類別都是繼承於Object這個基底類別的,在Object中的基底類別中定義了一個eq
    2024-11-18
  • java中ArrayList 、LinkList的區別分析

    java中ArrayList 、LinkList的區別分析

    1.ArrayList是實作了基於動態數組的資料結構,LinkedList是基於鍊錶的資料結構。 2.對於隨機存取get和set,ArrayList優於LinkedList,因為ArrayList可以隨機定位,而LinkedList要移動指標一步一步的移動到節點處。 (參考數組與鍊錶來思考)3.對於新增和刪除操作add和remove,LinedList比較佔優勢,只需要對指針進行修改即可,而ArrayList要移動數據來填補被刪除的對象的空間。 ArrayList和LinkedList是兩個集合類,用來儲
    2024-11-18
  • 解決Eclipse add external jars運行出現java.lang.NoClassDefFoundError的方法

    解決Eclipse add external jars運行出現java.lang.NoClassDefFoundError的方法

    最近發現一個問題,有時候對一個Android專案反覆的Add jar和remove jar,發現編譯可以通過,但是運行起來當應用到外部jar的物件時,會拋出java.lang.NoClassDefFoundError異常。導致程序奔潰。檢視專案屬性,發現java build path裡比正常的專案少了Android Dependencies這一項:透過和遺失之前的專案進行比對,發現差別在於工程根目錄下的.classpath文件,<classpathentry exported="true&
    2024-11-18
  • Java產生PDF檔案的實例程式碼

    Java產生PDF檔案的實例程式碼

    複製程式碼如下:package com.qhdstar.java.pdf;import java.awt.Color;import java.io.FileOutputStream;import com.lowagie.text.Chapter;import com.lowagie.text.Document;import com.lowagie .text.Font;導入com.lowagie.text.FontFactory;導入com.lowagie.text.PageSize;
    2024-11-18
  • 基於JAVA中使用Axis發布/呼叫Webservice的方法詳解

    基於JAVA中使用Axis發布/呼叫Webservice的方法詳解

    本範例與參考文章的差異在於:1)deploy.wsdd定義的更詳細(對於server端定義了介面:ICalculate):複製程式碼如下:<deployment xmlns="http://xml.apache.org/axis /wsdd/"xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"><service name="Calculate" provider
    2024-11-18
  • 代理角色java設計模式之靜態代理詳細介紹

    代理角色java設計模式之靜態代理詳細介紹

    Java動態代理模式代理:一個角色代表別一個角色來實現某些特定的能功。 例如:生產商,中間商,客戶這三者這間的關係客戶買產品不並直接與生產商打交道,也用不曉得產品是如何生產的,客戶只與中間商打交道,而中間商便可以對產品行進一些包裝,供提一些售後的服務。代理模式有三個角色: 1. 抽象主題角色2. 代理主題角色3. 際實被代理角色面下我們來個一個靜態代理的現實。 我以一個坦克為例。抽象主題角色:Moveable 複製程式碼如下:package com.gjy.proxy;public interf
    2024-11-18
  • Java知識點歸納總結

    Java知識點歸納總結

    1. 基本資料型別整形: byte 1 個位元組short 2 個位元組int 4個位元組 long 8個位元組字元:char 2個位元組浮點數:float 4個位元組double 8個位元組布林:boolean 1個位元組2.java 7 新增二進位整數以0b或0B開頭3.java中字元時16位元的Unicode編碼方式,格式是'/uXXXX',其中xxxx代表一個十六進位整數4.java中規定了正無窮大、負無窮大和零正無窮大= 一個正數除以0負無窮大= 一個負數除以零0.0 除以0.0
    2024-11-18
  • Java中對XML的解析詳解

    Java中對XML的解析詳解

    先簡單說下前三種方式:DOM方式:個人理解類似.net的XmlDocument,解析的時候效率不高,佔用內存,不適合大XML的解析;SAX方式:基於事件的解析,當解析到xml的某個部分的時候,會觸發特定事件,可以在自訂的解析類別中定義當事件觸發時要做得事情;個人感覺一種很另類的方式,不知道.Net體系下是否有沒有類似的方式? StAX方式:個人理解類似.net的XmlReader方式,效率高,佔用記憶體少,適用大XML的解析;不過SAX方式之前也用過,本文主要介紹JAXB,這裡只貼下主要程式碼:複製程式碼
    2024-11-18