Time of Update: 2017-01-19
前言本文嘗試從What、Why、How這三個角度來探索Java中的弱引用,協助大家理解Java中弱引用的定義、基本使用情境和使用方法。一、 What——什麼是弱引用?Java中的弱引用具體指的是java.lang.ref.WeakReference<T>類,我們首先來看一下官方文檔對它做的說明: 弱引用對象的存在不會阻止它所指向的對象被記憶體回收行程回收。弱引用最常見的用途是實現規範映射(canonicalizing
Time of Update: 2017-01-19
最近項目中需要對繁體字按拼音進行排序複製代碼 代碼如下:public static void main(String[] args) { Comparator cmp = Collator.getInstance(java.util.Locale.CHINA); String[] arr = { "張三", "李四", "王五", "劉六" ,"周濤","戴笠","戴阿"};
Time of Update: 2017-01-19
程式入口:Test_Email_N.java複製代碼 代碼如下:import java.io.IOException;import java.util.Date;import java.util.Properties;import javax.mail.Authenticator;import javax.mail.BodyPart;import javax.mail.Message;import javax.mail.MessagingException;import
Time of Update: 2017-01-19
一. Thread.yield( )方法:使當前線程從執行狀態(運行狀態)變為可執行態(就緒狀態)。cpu會從眾多的可執行態裡選擇,也就是說,當前也就是剛剛的那個線程還是有可能會被再次執行到的,並不是說一定會執行其他線程而該線程在下一次中不會執行到了。Java線程中有一個Thread.yield( )方法,很多人翻譯成線程讓步。顧名思義,就是說當一個線程使用了這個方法之後,它就會把自己CPU執行的時間讓掉,讓自己或者其它的線程運行。打個比方:現在有很多人在排隊上廁所,好不容易輪到這個人上廁所了,
Time of Update: 2017-01-19
複製代碼 代碼如下:/** * 人民幣轉成大寫 * * @param value * @return String */ public static String hangeToBig(double
Time of Update: 2017-01-19
複製代碼 代碼如下:/*Java *Author: NealFeng at oschina.net *License: GPLv2+ *Time: 2014/1/17 * *在控制台輸出數字金字塔: * 1 *&
Time of Update: 2017-01-19
複製代碼 代碼如下:import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.nio.channels.FileChannel;import java.text.DecimalFormat;import
Time of Update: 2017-01-19
複製代碼 代碼如下:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;import java.util.TimerTask;public class GetYinInfo
Time of Update: 2017-01-19
複製代碼 代碼如下:package com.test;import java.io.File;import java.util.ArrayList;import java.util.List;import org.jdom.Document;import org.jdom.Element;import org.jdom.input.SAXBuilder;public class JdomXML { public static void main(String[
Time of Update: 2017-01-19
/**Java語言作為第一種支援國際化的語言,在Internet從一開始就具有其他語言無與倫比的國際化的本質特性:*用Unicode來編寫所有的字串。可是理論與實際總是不能完全謀和的,因為Unicode本身也在不斷變化。* 在J2SE(TM) 5.0中,主要的變化是對java.lang,java.text, java.util.regex等包進行調整,使整個字*符處理基於Unicode4.0的標準之上,同時加強了對增補字元的支援(欲瞭解更多資訊請參照:* 《Supplementary
Time of Update: 2017-01-19
Java 測試URL地址是否能正常串連public static int testWsdlConnection(String address) throws Exception { int status = 404; try { URL urlObj = new URL(address); HttpURLConnection oc = (HttpURLConnection) urlObj.openConnection(); oc.setUseCaches(false);
Time of Update: 2017-01-19
Java記憶體配置與管理是Java的核心技術之一,之前我們曾介紹過Java的記憶體管理與記憶體泄露以及Java記憶體回收方面的知識,今天我們再次深入Java核心,詳細介紹一下Java在記憶體配置方面的知識。一般Java在記憶體配置時會涉及到以下地區:◆寄存器:我們在程式中無法控制◆棧:存放基本類型的資料和對象的引用,但對象本身不存放在棧中,而是存放在堆中(new
Time of Update: 2017-01-19
JDK(Java Development Kit,Java開發包,Java開發工具)是一個寫Java的applet和應用程式的程式開發環境。它由一個處於作業系統層之上的運行環境還有開發人員編譯,調試和運行用Java語言寫的applet和應用程式所需的工具組成。 JDK(Java Development Kit)是Sun Microsystems針對Java開發員的產品。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK(Software development kit)。
Time of Update: 2017-01-19
|--List:元素是有序的(怎麼存的就怎麼取出來,順序不會亂),元素可以重複(角標1上有個3,角標2上也可以有個3)因為該集合體系有索引, |-- ArrayList:底層的資料結構使用的是數組結構(數組長度是可變的百分之五十延長)(特點是查詢很快,但增刪較慢)線程不同步 |-- LinkedList:底層的資料結構是鏈表結構(特點是查詢較慢,增刪較快) |-- Vector:底層是數組資料結構
Time of Update: 2017-01-19
由於近來學習java,遇到了一些在c++上沒有的概念,將它記錄下,以自己複習使用,如有不理解妥之處,望大家批評指導。資料均由網上經過自己整合理解而來,如有侵權請通知我將起刪除即可。我就以package與import開始吧。package的作用其實就是c++的namespace的作用,防止名字相同的類產生衝突,只是實現的機制不一樣,java編譯器在編譯時間,直接根據package 指定的資訊直接將產生的class檔案產生到對應目錄下。如package aaa.bbb.ccc
Time of Update: 2017-01-19
Java實現遠端控制技術java內建的java.net.和java.awt.robot. 的混合可以用於實現通過網路對另一台電腦的遠端控制,其中包括控制遠端電腦滑鼠的動作和鍵盤的輸入,以及即時獲得遠端電腦螢幕的映像。本文將用簡潔的語言和由淺入深的邏輯,教大家如何掌握這個技術。 首先先看一下效果圖: 遠程端電腦介面: 控制端電腦介面: 控制端輸入: 遠程端輸入: 一下開始詳細介紹遠端控制的技術思路。
Time of Update: 2017-01-19
java中byte數組與int類型的轉換,在網路編程中這個演算法是最基本的演算法,我們都知道,在socket傳輸中,發送、者接收的資料都是 byte數組,但是int類型是4個byte組成的,如何把一個整形int轉換成byte數組,同時如何把一個長度為4的byte數群組轉換為int類型。下面有兩種方式。public static byte[] int2byte(int res) {byte[] targets = new byte[4];targets[0] = (byte) (res &
Time of Update: 2017-01-19
前言在做試卷的時候,需要將一個句子中的單詞、一個單詞中的字元、選擇題中的答題項打亂產生一個隨機的序列,下面我將其抽象成工具類,方便大家以後複用。範例程式碼public static <V> boolean isEmpty(ArrayList<V> sourceList) { return (sourceList == null || sourceList.size() == 0);}/** * 打亂ArrayList * * */public static <V&
Time of Update: 2017-01-19
複製代碼 代碼如下:mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); double d1 = 3.23456 double d2 = 0.0;double d3 = 2.0;df.format(d1); df.format(d2); df.format(d3);
Time of Update: 2017-01-19
眾所周知,java中vector與hashtable是安全執行緒的,主要是java對兩者的操作都加上了synchronized,也就是上鎖了。因此 在vector與hashtable的操作是不會出現問題。但是有一種情況:就是將一個hashtable copy到另一個hashtable時,假如使用putAll方法的花,會拋出一個 java.util.ConcurrentModificationException異常。先上代碼:TestSync.java複製代碼 代碼如下:public class