Time of Update: 2017-01-19
多線程是java中很重要的知識點,在此小編給大家總結Java Thread多線程,非常有用,希望大家可以掌握哦。一.線程的生命週期及五種基本狀態關於Java中線程的生命週期,首先看一下下面這張較為經典的圖:上圖中基本上囊括了Java中多線程各重要知識點。掌握了上圖中的各知識點,Java中的多線程也就基本上掌握了。主要包括:Java線程具有五種基本狀態建立狀態(New):當線程對象對建立後,即進入了建立狀態,如:Thread t = new
Time of Update: 2017-01-19
複製代碼 代碼如下:import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class LogHandler implements InvocationHandler { private Object delegate; public Object
Time of Update: 2017-01-19
遇到複雜而繁瑣的html頁面大家都望而卻步。因為很難擷取到相應的資料。最古老的辦法的是嘗試用Regex,估計那麼繁瑣的東西得不償失,浪費我們寶貴的時間。第二個辦法用開源組織htmlparser的包,這個是一個比較老的項目,但是效果估計不是很好,好像不可以深入分析html,只能分析5級的結構;我這裡有個htmlparser的原始碼,可以擷取所有的超連結的複製代碼 代碼如下: /* * To change this template, choose Tools |
Time of Update: 2017-01-19
複製代碼 代碼如下:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import
Time of Update: 2017-01-19
使用Javamail發送郵件,必需的jar包(請下載javamail的源檔案,官方下載頁:http://www.oracle.com/technetwork/java/javamail/index-138643.html):mailapi.jar。定義了收發郵件所使用到的介面API;smtp.jar。包含了發送郵件使用到的類;pop3.jar。包含了收郵件使用到的類;我們通常發送郵件使用的協議是smtp協議,接受郵件使用的協議是pop3協議。或者,我們直接將mail.jar加入到工程,這個jar
Time of Update: 2017-01-19
複製代碼 代碼如下:import java.util.Arrays;/** * 棧的實現<br> * @author Skip * @version 1.0 */public class Stack<T> { private int size; //棧中元素的個數 private Object[] arr; //底層數組 private
Time of Update: 2017-01-19
複製代碼 代碼如下:/** * 雙向鏈表的實現 * @author Skip * @version 1.0 */public class DoubleNodeList<T> { //節點類 private static class Node<T>{ Node<T> perv; //前節點 Node<T>
Time of Update: 2017-01-19
Java中可以使用關鍵字synchronized進行線程同步控制,實現關鍵資源順序訪問,避免由於多線程並發執行導致的資料不一致性等問題。synchronized的原理是對象監視器(鎖),只有擷取到監視器的線程才能繼續執行,否則線程會等待擷取監視器。Java中每個對象或者類都有一把鎖與之相關聯,對於對象來說,監視的是這個對象的執行個體變數,對於類來說,監視的是類變數(一個類本身是類Class的對象,所以與類關聯的鎖也是對象鎖)。synchronized關鍵字使用方式有兩種:synchronized
Time of Update: 2017-01-19
之前用163郵箱發郵件時明明是成功的,但是使用中國移動自己的郵箱時,無論如何在linux伺服器中都發送不成功,一開始報如下錯誤:javax.mail.MessagingException: Unknown SMTP host: mail.chinamobilesz.com at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1959) ~ [mail-1.4.7.jar:1.4.7] at
Time of Update: 2017-01-19
一、引言 對象拷貝(Object Copy)就是將一個對象的屬性拷貝到另一個有著相同類類型的對象中去。在程式中拷貝對象是很常見的,主要是為了在新的上下文環境中複用對象的部分或全部 資料。Java中有三種類型的對象拷貝:淺拷貝(Shallow Copy)、深拷貝(Deep Copy)、延遲拷貝(Lazy Copy)。二、淺拷貝1、什麼是淺拷貝
Time of Update: 2017-01-19
複製代碼 代碼如下:import java.util.Arrays;/** * 順序線性表的實現 */public class LineList<E>{ private int size; //長度 private Object[] array; //底層數組 private final int
Time of Update: 2017-01-19
可以計算父親節、母親節這樣的節日,也可以定義如每月最好一個周五,以方便排程會議。複製代碼 代碼如下:/*** * @param strdate* 開始日期,格式為yyyy-MM-dd HH:mm:ss* @param
Time of Update: 2017-01-19
顯示當前運行java代碼的運行時的各種參數。不帶顯String操作。複製代碼 代碼如下:package systeminfo;import java.util.Iterator;import java.util.Map.Entry;import java.util.Properties;public class sysinfo { public static void main(String[] args) { Properties p =
Time of Update: 2017-01-19
先看例子:複製代碼 代碼如下:package com.amos;/** * @ClassName: EqualTest * @Description:Java中的equal和==的比較 * @author: amosli */public class EqualTest { public static void main(String[] args)
Time of Update: 2017-01-19
1. 說明1)單例模式:確保一個類只有一個執行個體,自行執行個體化並向系統提供這個執行個體2)單例模式分類:餓單例模式(類載入時執行個體化一個對象給自己的引用),懶單例模式(調用取得執行個體的方法如getInstance時才會執行個體化對象)(java中餓單例模式效能優於懶單例模式,c++中一般使用懶單例模式)3)單例模式要素: a)私人構造方法b)私人靜態引用指向自己執行個體c)以自己執行個體為傳回值的公有靜態方法 2.執行個體餓單例模式:複製代碼 代碼如下:package com.
Time of Update: 2017-01-19
JsonTools.java 複製代碼 代碼如下:package com.lihua.json.tools;import net.sf.json.JSONObject;public class JsonTools { public JsonTools() { } /** * @param key *
Time of Update: 2017-01-19
實現檔案夾和檔案產生複製代碼 代碼如下:package com.gotobus.common;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;public class JFile { public static boolean createFile(String
Time of Update: 2017-01-19
複製代碼 代碼如下:import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import org.json.JSONObject;public class MenuUtil { /**
Time of Update: 2017-01-19
類:Nums 許可權:public方法:main 許可權:public參數:nums,i,j,num;參數介紹:nums,資料類型 int[] ,用來儲存 int 型的一系列數組;i,資料類型 int ,作為 for 迴圈的迴圈變數,儲存排序比較的輪數;j,資料類型 int ,作為 for 迴圈的迴圈變數,儲存該輪排序比較的次數;num,資料類型 int ,作為兩值互換的第三方變數。方法功能:定義一個 int[]
Time of Update: 2017-01-19
類:Nums 許可權:public方法:main 許可權:public參數:nums,i,j,num;參數介紹:nums,資料類型 int[] ,用來儲存 int 型的一系列數組;i,資料類型 int ,作為 for 迴圈的迴圈變數,儲存排序比較的輪數;j,資料類型 int ,作為 for 迴圈的迴圈變數,儲存該輪排序比較的次數;num,資料類型 int ,作為兩值互換的第三方變數。方法功能:定義一個 int[]